The Codest
  • 회사 소개
  • 서비스
    • 소프트웨어 개발
      • 프론트엔드 개발
      • 백엔드 개발
    • Staff Augmentation
      • 프론트엔드 개발자
      • 백엔드 개발자
      • 데이터 엔지니어
      • 클라우드 엔지니어
      • QA 엔지니어
      • 기타
    • IT 자문
      • 감사 및 컨설팅
  • 산업 분야
    • 핀테크 및 뱅킹
    • E-commerce
    • 애드테크
    • 헬스 테크
    • 제조
    • 물류
    • 자동차
    • IOT
  • 가치
    • CEO
    • CTO
    • 배달 관리자
  • 우리 팀
  • Case Studies
  • 방법 알아보기
    • 블로그
    • 모임
    • 웹 세미나
    • 리소스
채용 정보 연락하기
  • 회사 소개
  • 서비스
    • 소프트웨어 개발
      • 프론트엔드 개발
      • 백엔드 개발
    • Staff Augmentation
      • 프론트엔드 개발자
      • 백엔드 개발자
      • 데이터 엔지니어
      • 클라우드 엔지니어
      • QA 엔지니어
      • 기타
    • IT 자문
      • 감사 및 컨설팅
  • 가치
    • CEO
    • CTO
    • 배달 관리자
  • 우리 팀
  • Case Studies
  • 방법 알아보기
    • 블로그
    • 모임
    • 웹 세미나
    • 리소스
채용 정보 연락하기
뒤로 화살표 뒤로 가기
2019-03-26
소프트웨어 개발

자바스크립트 패키지의 보안

다니엘 그렉

매일 자바스크립트 패키지의 양이 증가하고 있습니다. 이는 한편으로는 새로운 솔루션을 요구하는 커뮤니티 활동의 결과이며, 다른 한편으로는 자기 개발 또는 실현의 한 형태로서 새로운 솔루션을 생성합니다. 이러한 큰 성장은 새로운 문과 가능성을 열어주지만 모든 개발자가 알아야 할 위험을 동반하기도 합니다.

2018년 11월 말, 깃허브 커뮤니티에서 다음과 같은 심각한 취약점에 대한 보고가 있었습니다. 이벤트 스트림 - 패키지로 작업하는 데 도움이 되는 노드 이벤트를 더 효율적으로 진행했습니다. 특정 기간 동안 다운로드 횟수가 주당 220만 건 이상에 달할 정도로 꽤 인기가 있었습니다(React의 370만 건과 비교하면). 이벤트 스트림과 그 종속성은 다른 라이브러리에 의존하고 있었습니다. 플랫맵-스팀, 크립토 포켓 멀웨어로 업데이트되었습니다. 이 패키지가 번들로 제공된 컴퓨터의 사용자 계정에서 개인 키와 기타 세부 정보를 훔칠 수 있었습니다.

결국 flatmap-stream은 NPM에서 제거되었고, 이로 인해 다른 많은 라이브러리에서 시간적 문제가 발생했습니다. 같은 해 5월, 커뮤니티는 다음에서 백도어를 발견했습니다. 겟쿠키 패키지는 다른 많은 종속 요소의 일부이기도 합니다. 이러한 예는 여러 가지로 늘어날 수 있으며, 이는 한 패키지에 설치된 종속성에 주의를 기울이는 것이 중요하다는 것을 보여줍니다. 프로젝트에서뿐만 아니라 자바스크립트 관점뿐만 아니라 일반적인 맥락에서도 마찬가지입니다.

공식 솔루션과 대규모 커뮤니티에 의존하세요

가능한 한 프로젝트에서 공식 솔루션을 사용하는 것이 중요합니다. 공식 솔루션은 단순히 취약성이 낮을 뿐만 아니라 개발 프로세스. 일반적으로 더 나은 브랜드와 함께 제공되는 대규모 커뮤니티는 문제를 훨씬 더 빨리 식별하고 더 중요한 것은 좋은 해결책을 찾는 데 도움이 됩니다.

NPM 트렌드 사용

보안 JavaScript

그림 1 웹팩 NPM 트렌드.

차트

그림 2. 이벤트 스트림 NPM 트렌드.

때로는 패키지의 현재 상태에 대한 지식이 과거를 대표하지 못할 수도 있습니다. npm 트렌드 차트를 간단히 살펴보면 실제 패키지의 추세를 확인할 수 있습니다. 여기에는 취약점이 발견될 수 있는 큰 피크뿐만 아니라 특정 패키지의 일반적인 상태도 표시됩니다(참고: 12월 24일부터 30일까지의 Google 트렌드에서 큰 피크는 휴가 시즌을 나타내며, 반드시 문제가 있는 것은 아닐 수 있습니다). 예를 들어, 그림 1을 보면 주당 웹팩 다운로드 추세를 확인할 수 있습니다. 중단점 없이 안정적으로 성장하는 것을 볼 수 있으며, 이는 Webpack이 안정적이고 안전한 패키지임을 시사할 수 있습니다. 반면에 그림 2를 보면 11월에 큰 폭으로 감소한 것을 볼 수 있는데, 이는 해당 기간에 문제가 발생했을 수 있다는 분명한 신호입니다(이미 알고 있는 사실입니다).

종속성 감사

종속성 상태를 확인하는 가장 신뢰할 수 있는 가장 좋은 방법은 다음을 수행하는 것입니다. 감사. 이 명령은 최신 버전이 필요하지만 이제 기본적으로 yarn과 npm 모두에서 사용할 수 있습니다. 이 명령은 현재 종속성 목록을 적절한 엔드포인트로 전송하고 현재 취약점과 문서 참조를 포함한 기타 사용 세부 정보가 포함된 정보를 반환합니다. (그림3).

흥미로운 데이터

그림 3. npm 감사 명령 결과의 예입니다. 출처: https://docs.npmjs.com

자바스크립트에서 종속성을 관리하는 것은 쉬운 일이 아닙니다. 수많은 솔루션이 매일 증가하고 있으므로 종속성을 현명하고 신중하게 선택해야 한다는 점을 잊지 마세요. 현재 프로젝트를 계속 감사하고 패키지를 정기적으로 업데이트하세요.

자바스크립트 종속성과 그 문제를 해결하는 방법에 대해 자세히 알아보세요, 이 글을 확인해 주세요.

출처:

  1. https://github.com/dominictarr/event-stream/issues/116
  2. https://blog.npmjs.org/post/180565383195/details-about-the-event-stream-incident
  3. https://blog.npmjs.org/post/173526807575/reported-malicious-module-getcookies
  4. https://docs.npmjs.com/auditing-package-dependencies-for-security-vulnerabilities
  5. https://docs.npmjs.com/cli/audit
  6. https://yarnpkg.com/lang/en/docs/cli/audit/

관련 문서

상승하는 화살표와 비용 효율성 또는 절감을 상징하는 금화가 있는 하락하는 막대 차트의 추상적인 그림. 밝은 회색 바탕에 "In Code We Trust"라는 슬로건과 함께 왼쪽 상단에 The Codest 로고가 표시됩니다.
소프트웨어 개발

제품 품질 저하 없이 개발팀을 확장하는 방법

개발팀을 확장하고 계신가요? 제품 품질을 저하시키지 않고 성장하는 방법을 알아보세요. 이 가이드에서는 확장할 시기의 징후, 팀 구조, 채용, 리더십 및 도구와 더불어 The Codest가 어떻게...

최신
소프트웨어 개발

미래 지향적인 웹 앱 구축: The Codest의 전문가 팀이 제공하는 인사이트

The Codest가 최첨단 기술로 확장 가능한 대화형 웹 애플리케이션을 제작하고 모든 플랫폼에서 원활한 사용자 경험을 제공하는 데 탁월한 성능을 발휘하는 방법을 알아보세요. Adobe의 전문성이 어떻게 디지털 혁신과 비즈니스를 촉진하는지 알아보세요...

최신
소프트웨어 개발

라트비아에 본사를 둔 10대 소프트웨어 개발 기업

최신 기사에서 라트비아 최고의 소프트웨어 개발 기업과 그들의 혁신적인 솔루션에 대해 알아보세요. 이러한 기술 리더들이 어떻게 귀사의 비즈니스를 향상시키는 데 도움을 줄 수 있는지 알아보세요.

thecodest
엔터프라이즈 및 스케일업 솔루션

Java 소프트웨어 개발 필수 사항: 성공적인 아웃소싱을 위한 가이드

The Codest로 효율성을 높이고 전문 지식을 활용하며 프로젝트 성공을 이끌 수 있는 성공적인 outsourcing Java 소프트웨어 개발에 대한 이 필수 가이드를 살펴보세요.

thecodest
소프트웨어 개발

폴란드 아웃소싱을 위한 최고의 가이드

폴란드에서 outsourcing가 급증한 것은 경제, 교육, 기술 발전으로 인한 IT 성장과 비즈니스 친화적인 환경이 조성된 덕분입니다.

더코데스트

지식창고를 구독하고 IT 분야의 전문 지식을 최신 상태로 유지하세요.

    회사 소개

    The Codest - 폴란드에 기술 허브를 둔 국제 소프트웨어 개발 회사입니다.

    영국 - 본사

    • 사무실 303B, 182-184 하이 스트리트 노스 E6 2JA
      영국 런던

    폴란드 - 현지 기술 허브

    • 파브리츠나 오피스 파크, 알레야
      포코주 18, 31-564 크라쿠프
    • 뇌 대사관, 콘스트럭터스카
      11, 02-673 바르샤바, 폴란드

      The Codest

    • 홈
    • 회사 소개
    • 서비스
    • Case Studies
    • 방법 알아보기
    • 채용 정보
    • 사전

      서비스

    • IT 자문
    • 소프트웨어 개발
    • 백엔드 개발
    • 프론트엔드 개발
    • Staff Augmentation
    • 백엔드 개발자
    • 클라우드 엔지니어
    • 데이터 엔지니어
    • 기타
    • QA 엔지니어

      리소스

    • 외부 소프트웨어 개발 파트너와의 협력에 대한 사실과 오해
    • 미국에서 유럽으로: 미국 스타트업이 유럽으로 이전을 결정하는 이유
    • 테크 오프쇼어 개발 허브 비교: 테크 오프쇼어 유럽(폴란드), 아세안(필리핀), 유라시아(터키)
    • CTO와 CIO의 주요 과제는 무엇인가요?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • 웹사이트 이용 약관

    저작권 © 2025 by The Codest. 모든 권리 보유.

    ko_KRKorean
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese es_ESSpanish nl_NLDutch etEstonian elGreek ko_KRKorean