GitHub, JavaScript·TypeScript용 Dependabot 도달 가능성 분석 프리뷰 공개

Published · AI Daily — AI-assisted deep research, methodology & disclosure

GitHub는 2026년 10월 28일 Dependabot 경고의 도달 가능성 분석을 공개 프리뷰로 내놓았다. JavaScript와 TypeScript에서 동작하며, 열려 있는 각 경고에 저장소 코드가 의존성 속 취약한 함수로 가는 호출 경로를 가졌는지에 대한 판정을 덧붙인다. GitHub는 이 판정을 작업 순서를 정하기 위한 추가 맥락으로 소개하며, 심각도, EPSS 점수, 운영 환경의 맥락, 팀이 애플리케이션에 대해 아는 바와 함께 쓰라고 한다.

GitHub는 2026년 10월 28일 Dependabot 경고의 도달 가능성 분석을 공개 프리뷰로 내놓았다. JavaScript와 TypeScript에서 동작하며, 열려 있는 각 경고에 저장소 코드가 의존성 속 취약한 함수로 가는 호출 경로를 가졌는지에 대한 판정을 덧붙인다. GitHub는 이 판정을 작업 순서를 정하기 위한 추가 맥락으로 소개하며, 심각도, EPSS 점수, 운영 환경의 맥락, 팀이 애플리케이션에 대해 아는 바와 함께 쓰라고 한다. 판정이 경고를 닫거나 기각하는 일은 없다.

메커니즘은 세 부분이다. Dependabot이 관리형 GitHub Actions 워크플로에서 사용자 대신 분석을 실행하므로 설치하거나 유지할 것이 없다. 권고마다 선별된 데이터가 영향받는 패키지의 취약한 함수를 알려 준다. 그다음 CodeQL이 저장소와 그 의존성에 걸친 호출 그래프를 만들고 사용자 코드에서 그 함수들로 가는 경로를 찾는다. 증거는 경고에 표시되며, 예를 들어 저장소의 파일에서 패키지를 거쳐 취약한 함수에 이르는 호출 경로가 보인다.

열려 있는 각 경고는 네 가지 판정 중 하나를 받는다. 도달 가능은 코드에 취약한 함수로 가는 호출 경로가 하나 이상 있다는 뜻이다. 도달 가능성 있음은 분석이 그 함수가 호출되는지 판단하지 못했다는 뜻이며, GitHub는 이런 경고를 도달 가능으로 취급하라고 한다. 도달 불가는 분석이 끝났고 경로를 찾지 못했다는 뜻이라 우선순위가 낮지만 닫히지는 않는다. 도달 가능성 사용 불가는 경고를 분석할 수 없었다는 뜻이며 평소처럼 분류한다. 도달 불가와 도달 가능성 있음의 구분이 중요한데, 끝난 부정 결과는 앞의 것뿐이기 때문이다.

프리뷰에는 분명한 제한이 있다. 무료이며 GitHub Advanced Security 라이선스가 필요 없고 쓰는 Actions 분도 청구되지 않는다. 데이터 상주 버전을 포함한 GitHub Enterprise Cloud가 대상이다. npm, Yarn, pnpm 잠금 파일이 있는 JavaScript와 TypeScript 저장소를 다루고, GitHub 호스팅 러너에서만 실행되며 자체 호스팅 러너는 지원하지 않는다. 일부 모노레포와 여러 디렉터리에 매니페스트 파일이 있는 저장소는 지원되지 않을 수 있다. 분석이 세 시간을 넘으면 일부 결과가 도달 가능성 사용 불가로 표시될 수 있다. 범위에는 GitHub Advisory Database에서 GitHub가 검토했고 Dependabot 경고를 일으키는 JavaScript 권고가 모두 들어간다.

이 기능은 기본적으로 꺼져 있다. 관리자는 기업이나 조직 수준의 사용자 지정 보안 구성으로 여러 저장소에 한꺼번에 켜거나, 단일 저장소의 설정에서 Advanced Security 아래 Dependabot 항목으로 켤 수 있다. Dependabot 경고는 이미 켜져 있어야 한다. 첫 스캔은 곧바로 시작되어 몇 분에서 몇 시간이 걸리고, 이후 저장소에 열린 Dependabot 경고가 있는 동안 매일 다시 실행된다. 판정은 경고 페이지에 표시되어 필터링과 정렬을 할 수 있고, Dependabot 경고 REST API도 같은 신호를 다른 도구와 에이전트에 전한다.

페이지는 도달 가능성을 다른 신호와 함께 쓰라고 강조한다. 심각도, EPSS 점수, 운영 환경의 맥락, 팀이 자기 애플리케이션에 대해 아는 바다. 도달 가능 경고를 앞에, 도달 불가 경고를 뒤에 두는 것은 분류 전략이지 도달 불가 경고의 면제가 아니다. 예시 화면에는 server.js에서 moment 패키지를 거쳐 취약한 함수에 이르는 호출 경로가 나오므로, 검토자는 라벨 하나를 믿는 대신 경로를 따라가며 확인할 수 있다.

도달 가능성은 우선순위를 돕는 수단이지 안전의 증명이 아니다. 정적 분석이 찾은 호출 경로는 코드가 그 함수에 닿을 수 있음을 보일 뿐 공격자가 악용할 수 있음을 보이지는 않는다. 반대도 마찬가지로 페이지에 정확도 수치가 없으므로 도달 불가는 우선순위가 낮다는 신호이지 보증이 아니다. 프리뷰는 다른 요금제와 두 언어 외의 모든 언어를 제외하므로 아직 판정을 보지 못하는 팀이 많다. Enterprise Cloud에서 JavaScript 코드를 쓰는 팀에게는 긴 경고 목록을 항목마다 증거를 붙여 정렬하는 방법이 된다.

Sources

FAQ

도달 가능성 분석은 경고에 어떤 네 가지 판정을 붙이나요?

도달 가능은 코드에 취약한 함수로 가는 호출 경로가 하나 이상 있다는 뜻이고, 도달 가능성 있음은 판단하지 못해 도달 가능으로 취급한다는 뜻이다. 도달 불가는 경로를 찾지 못해 우선순위가 낮다는 뜻이며, 사용 불가는 분석하지 못했다는 뜻이다. 판정이 경고를 닫거나 기각하지는 않는다.

프리뷰 기간에는 어떤 제한이 있나요?

무료이고 Advanced Security 라이선스가 필요 없으며 GitHub Enterprise Cloud만 대상이다. npm, Yarn, pnpm 잠금 파일이 있는 JavaScript와 TypeScript 저장소만 지원하고 GitHub 호스팅 러너에서 실행된다. 일부 모노레포는 지원되지 않을 수 있고 세 시간을 넘는 분석은 사용 불가로 표시될 수 있다.

어떻게 켜고 얼마나 자주 스캔하나요?

기본값은 꺼짐이다. 사용자 지정 보안 구성으로 여러 저장소에 켜거나 단일 저장소의 Advanced Security 아래 Dependabot 항목에서 켜며, Dependabot 경고가 먼저 켜져 있어야 한다. 첫 스캔은 곧바로 시작해 몇 분에서 몇 시간 걸리고, 이후 열린 경고가 있는 동안 매일 다시 실행된다.