사이버 보안

GitHub, npm에서 8개 패키지 생태계로 악성 소프트웨어 경고 확대

GitHub Advisory Database가 OpenSSF 저장소에서 악성 패키지 데이터를 가져오면서, Dependabot이 npm에 국한되지 않고 8개 패키지 생태계에서 경고를 제공할 수 있게 되었다. 새로운 시스템은 잘못되거나 손상된 데이터로부터 데이터베이스를 보호하기 위해 자동 검증, 출처 추적, 가져오기 한도 및 롤백 기능을 사용한다.

2026-08-06
3 분 읽기
7 조회수
فريق تحرير certi.news
GitHub, npm에서 8개 패키지 생태계로 악성 소프트웨어 경고 확대

GitHub는 OpenSSF의 악성 패키지 전용 저장소 데이터와 GitHub Advisory Database를 연동한 후, 악성 패키지에 대한 Dependabot 경고 범위를 npm에서 8개 생태계로 확대했다. 새로 포함된 생태계는 npm, PyPI, Maven, RubyGems, NuGet, Go, crates.io 및 PHP Composer이며, JavaScript를 넘어서는 언어와 도구를 사용하는 프로젝트에서 악성 종속성을 탐지할 수 있게 된다.

Dependabot은 올해 초부터 npm 종속성에서 악성 소프트웨어를 탐지하기 시작했다. 이번 확장은 각 생태계마다 별도의 탐지 시스템을 구축하는 대신 OSV 형식의 OpenSSF 기록을 가져오는 방식에 기반한다. 게시물에 따르면 OpenSSF 저장소에는 2023년 출범 이후 1만 5천 건이 넘는 보고서가 축적되었으며, 커뮤니티 제보와 자동 탐지 소스를 통해 계속 증가하고 있다. 여기에는 이름이 유사한 패키지, 종속성 혼동 패키지, 계정 탈취, 악성 사전 빌드 바이너리 등이 포함된다.

악성 패키지 데이터를 위한 통합 가져오기 도구

GitHub의 공급망 보안 엔지니어링 팀은 공개 자문 저장소에서 사용하는 가져오기 도구 패턴을 따르는 단일 가져오기 도구를 개발했다. 이 도구는 마지막 실행 이후 변경된 파일을 읽은 다음, OSV 스키마에 따라 필수 필드, 유형 및 형식을 검증한 뒤에만 기록을 데이터베이스에 입력한다. 검증에 실패한 기록은 자동으로 수정해 통과시키는 대신 거부하고 검토 대상으로 기록한다.

검증을 통과한 기록은 출처, 식별자 및 제공되는 경우 CVE 식별자를 포함하는 피드 항목으로 변환되며, 원본 기록 전체도 참조용 사본으로 보존된다. 또한 가져오기 도구는 출처마다 다른 데이터 표현을 처리한다. 예를 들어 OpenSSF는 PyPI라는 이름을 사용하지만 GitHub 데이터베이스는 pip이라는 이름을 사용하고, 영향을 받는 버전을 범위가 아닌 개별 값으로 표시하며, 일부 보고서에는 사용할 수 있는 버전이 없고, 이후 잘못된 것으로 밝혀진 보고서는 철회된다.

중복 방지 및 배포 경로 보호

GitHub 자체가 OpenSSF 저장소에 데이터를 제공하는 동시에 GitHub의 npm 악성 소프트웨어 경고도 해당 저장소로 전달되기 때문에 추가적인 문제가 발생한다. 동일한 데이터가 다시 가져와지는 것을 방지하기 위해 가져오기 도구는 OSV의 기록 출처 데이터에 의존하며, ghsa-malware 태그가 있는 항목은 제외한다. 해당 항목은 애초에 GitHub에서 시작되었기 때문이다. 게시물에 따르면 매달 저장소에 도착하는 새로운 npm 보고서의 절반 이상이 GitHub 경고에서 비롯되므로, 이러한 항목은 재유입 순환으로 간주해 제외된다.

악성 소프트웨어 경고는 게시 전에 모든 보고서를 사람이 읽는 절차 없이 자동으로 게시된다. 경고가 며칠 지연되면 패키지가 인증 정보를 탈취하는 상황에서 공격자에게 추가 시간을 제공할 수 있기 때문이다. 이는 일반적으로 패키지 일치 여부, 버전 범위 및 문제의 심각도에 대한 사람의 검증이 필요한 취약점 경고와 다르다.

잘못된 데이터를 처리하는 세 가지 계층

  • 배치 한도: 각 실행에는 생성할 수 있는 경고 수에 대한 조정 가능한 상한이 설정된다. 데이터가 상한을 초과하면 실행 전체가 중단되고 아무것도 게시되지 않으며, 정확한 경고 수가 함께 전송된다.
  • 출처 추적: 각 경고는 malicious-packages 저장소의 특정 커밋과 연결되므로, 사고 발생 시 보고서의 출처를 확인할 수 있다.
  • 롤백: 오염된 데이터가 유입된 경우 각 배치를 하나의 단위로 정의하고 롤백할 수 있어, 데이터베이스에서 경고를 수동으로 제거할 필요가 없다.

사용자 활성화

Dependabot의 악성 종속성 경고는 선택적으로 사용할 수 있으며, 저장소, 조직 또는 엔터프라이즈의 보안 설정에서 활성화할 수 있다. 활성화하면 Dependabot은 종속성을 GitHub Advisory Database의 악성 소프트웨어 경고와 대조하며, 이미 존재하는 경고에 대해서도 사후 일치 작업을 수행한다.

뉴스 출처
GitHub Blog
원문 보기 ↗
ف
작성자

فريق تحرير certi.news

같은 카테고리

추천 기사

모든 뉴스 보기