프로젝트에서 라이브러리 또는 패키지라고 하는 미리 작성된 코드 모음을 사용하는 것이 일반적인 관행입니다. 이러한 코드 모듈은 재사용 가능한 대규모 구성 요소를 처음부터 작성하지 않아도 되므로 많은 시간을 절약해 주며, 새롭고 창의적인 작업에 집중할 수 있도록 도와줍니다. 프로젝트에 추가될 때, 사용자의 작업이 해당 코드에 종속되기 때문에 이를 종속성이라고 합니다.
종속성을 사용하는 것은 아주 일반적인 일이지만, 종속성에는 취약한 코드가 포함될 수 있으며, 이로 인해 프로젝트가 안전하지 않게 될 수 있습니다. 다행히 같은 Dependabot 도구는 종속성 취약성을 찾고, 끌어오기 요청을 발생하여 수정하고, 나중에 발생하지 않도록 방지할 수 있습니다. 이 자습서에서는 Dependabot의 기능을 활성화하고 사용하는 방법을 통해 종속성을 안전하게 유지하는 방법을 배웁니다.
데모 리포지토리 설정
몇 가지 종속성 취약성이 있는 데모 프로젝트를 포크하여 시작해 보겠습니다. 프로젝트가 배포되지 않으므로, 이 연습에서는 보안 위험이 없습니다.
-
[ `new2code/dependabot-demo` ](https://github.com/new2code/dependabot-demo) 리포지토리로 이동합니다. - 페이지의 오른쪽 위에서 를 클릭합니다****.
- 표시되는 페이지에서 Create fork를 클릭하세요.
종속성 보안 기능 활성화하기
이제 프로젝트를 설정했으므로 안전하지 않은 종속성에 대한 수정 사항을 찾아서 만들도록 구성 Dependabot 해 보겠습니다.
- 리포지토리의 탐색 모음에서 을 클릭합니다 Security and quality.
- "Dependabot alerts" 행에서 [활성화 Dependabot alerts]를 클릭합니다.
- "Dependabot" 섹션에서 "Dependabot alerts" 옆에 [사용]을 클릭합니다.
- 나타나는 팝업에서 종속성 그래프 활성화에 대한 설명을 읽은 다음, Enable을 클릭합니다.
- 종속성 취약성을 수정하는 끌어오기 요청을 자동으로 열 수 있도록 Dependabot 하려면 "Dependabot security updates" 옆에 있는 [사용]을 클릭합니다.
안전하지 않은 종속성 보기
구성된 상태에서 Dependabot 취약성이 포함된 종속성 중 어느 것이 있는지 알아보겠습니다.
- 리포지토리의 탐색 모음에서 을 클릭합니다 Security and quality.
- 리포지토리의 Dependabot alerts에 대한 내용을 보려면, 측면 탐색에서 Dependabot 을 클릭합니다.
- 경고에 대한 자세한 정보를 보려면 경고 제목을 클릭합니다. 이 연습에서는 Command Injection in hot-formula-parser를 클릭하세요.
Dependabot 경고 이해하기
Dependabot 이제 종속성에서 일부 취약성을 확인했으므로 "hot-formula-parser에서 명령 주입" 경고에 제공된 정보를 분석해 보겠습니다.
수정 요약
경고 제목 아래에는 이 취약성을 수정하는 방법에 대한 간략한 요약이 표시되어 있습니다. 이 요약에는 해결될 경고의 수와 취약성이 발견된 위치도 포함되어 있습니다. 이 경우 경고는 패키지를 버전 3.0.1로 업그레이드 hot-formula-parser 하면 파일에서 Dependabot 식별된 하나의 javascript/package-lock.json 경고를 수정할 수 있음을 알려줍니다.
이 섹션에서는 Dependabot의 취약점 수정 끌어오기 요청 생성 진행 상황도 추적합니다. 수정 사항을 사용할 수 있게 되면 끌어오기 요청에 연결되는 " 보안 업데이트 검토" 단추가 표시됩니다.

취약성 세부 정보
수정 세부 정보 Dependabot 아래에서 다음을 포함하여 취약성에 대한 자세한 정보를 제공합니다.
- 취약한 패키지의 이름
- 취약성이 포함된 패키지의 버전
- 취약성을 해결하는 패키지의 버전
- 취약성 유형 및 악용 방법에 대한 세부 정보

이 경고에서 parse 패키지의 hot-formula-parser 함수가 사용자 입력의 안전성을 제대로 확인하지 않고 실행하기 때문에, 공격자가 악성 명령을 실행할 수 있게 됩니다.
팁
취약성 세부 정보를 완전히 이해하지 못하는 경우, 설명해 달라고 요청 Copilot 채팅해 보십시오.
타임라인
마지막으로 페이지 아래쪽에서 경고의 타임라인을 볼 수 있습니다. 현재 타임라인에는 경고를 열 때 Dependabot 타임스탬프가 포함되어 있으며 취약성을 수정하면 자동으로 업데이트됩니다.

종속성 보호하기
프로젝트를 빠르고 쉽게 보호하려면 만든 수정 사항을 Dependabot 적용해 보겠습니다.
-
수정 요약이 포함된 경고 필드에서 클릭합니다****.
-
끌어오기 요청 페이지에서 변경된 파일을 클릭하여 Dependabot 확인합니다. 변경 내용을 검토한 후 를 클릭하여 **** 풀 리퀘스트 개요로 돌아갑니다.
-
수정을 적용하려면 페이지 하단에서 Merge pull request를 클릭한 다음, Confirm merge를 클릭하세요.
끌어오기 요청이 병합되면 연결된 Dependabot 경고가 자동으로 닫히고 수정 시간이 타임라인에 추가됩니다.
향후 종속성 취약성 방지하기
안전하지 않은 종속성을 방지하기 위해 새 버전이 릴리스될 때 종속성을 업데이트하는 끌어오기 요청을 자동으로 열도록 허용 Dependabot 해 보겠습니다.
- 리포지토리의 탐색 모음에서 클릭합니다****.
- 사이드바의 "보안" 섹션에서 을 클릭합니다 Advanced Security.
- "Dependabot version updates" 옆에 있는 [사용] 을 클릭합니다.
다음 단계
이제 데모 리포지토리에서 해당 기능을 사용해 Dependabot 보았으므로 사용자 고유의 프로젝트에서 종속성 취약성을 쉽게 찾고, 수정하고, 방지할 수 있습니다.