{"meta":{"title":"종속성 검토 작업 구성 사용자 지정","intro":"종속성 검토 작업 구성에 기본 사용자 지정을 추가하는 방법을 알아봅니다.","product":"보안 및 코드 품질","breadcrumbs":[{"href":"/ko/code-security","title":"보안 및 코드 품질"},{"href":"/ko/code-security/tutorials","title":"Tutorials"},{"href":"/ko/code-security/tutorials/secure-your-dependencies","title":"종속성 보호"},{"href":"/ko/code-security/tutorials/secure-your-dependencies/customize-dependency-review-action","title":"종속성 검토 작업 사용자 지정"}],"documentType":"article"},"body":"# 종속성 검토 작업 구성 사용자 지정\n\n종속성 검토 작업 구성에 기본 사용자 지정을 추가하는 방법을 알아봅니다.\n\n## Introduction\n\n종속성 검토 작업는 풀 리퀘스트의 종속성 변경 사항을 검사하고, 새 종속성에 알려진 취약점이 있으면 오류를 표시합니다. 설치되면 워크플로 실행이 필수로 표시되면 알려진 취약한 패키지를 도입하는 끌어오기 요청이 병합되지 않도록 차단됩니다.\n\n이 가이드에서는 취약성 심각도 수준, 종속성 라이선스 및 범위를 기준으로 빌드 실패라는 세 가지 매우 일반적인 사용자 지정을 추가하는 방법을 보여 줍니다.\n\n### 사전 요구 사항\n\n이 가이드는 다음을 전제로 합니다.\n\n* 리포지토리에 종속성 그래프를 활성화합니다. 자세한 내용은 [종속성 그래프 사용](/ko/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/enable-dependency-graph#enabling-the-dependency-graph-for-a-repository)을(를) 참조하세요.\n* GitHub Actions 는 리포지토리에 대해 사용하도록 설정되어 있습니다. 자세한 내용은 [리포지토리에 대한 GitHub Actions 설정 관리](/ko/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository)을(를) 참조하세요.\n\n## 1단계: 종속성 검토 작업 추가\n\n이 단계에서는 리포지토리에 종속성 검토 워크플로를 추가합니다.\n\n1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.\n2. 리포지토리 이름에서 **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-play\" aria-label=\"play\" role=\"img\"><path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"></path></svg> 작업**을 클릭합니다.\n\n   ![\"github/docs\" 리포지토리의 탭 스크린샷. \"작업\" 탭은 주황색 윤곽선으로 강조 표시됩니다.](/assets/images/help/repository/actions-tab-global-nav-update.png)\n3. \"시작\" GitHub Actions에서 \"보안\" 범주를 찾은 다음 **모두 보기를** 클릭합니다.\n4. \"종속성 검토\"를 찾은 다음 **구성**을 클릭합니다. 또는 검색 창을 사용하여 \"종속성 검토\"를 검색합니다.\n5. 그러면 종속성 검토의 GitHub Actions 워크플로 파일이 `dependency-review.yml`열립니다. 여기에는 다음이 포함되어야 합니다.\n\n   ```yaml copy\n   name: 'Dependency review'\n   on:\n     pull_request:\n       branches: [ \"main\" ]\n\n   permissions:\n     contents: read\n\n   jobs:\n     dependency-review:\n       runs-on: ubuntu-latest\n       steps:\n         - name: 'Checkout repository'\n           uses: actions/checkout@v6\n         - name: 'Dependency Review'\n           uses: actions/dependency-review-action@v4\n   ```\n\n## 2단계: 심각도 변경\n\n필수로 설정 종속성 검토 작업 하여 취약한 종속성이 포함된 코드가 병합되지 않도록 차단할 수 있습니다. 그러나 일부 상황에서는 위험이 낮은 취약점을 차단하는 것이 너무 제한적일 수 있다는 점에 유의하세요. 이 단계에서는 `fail-on-severity` 옵션을 사용하여 빌드가 실패하는 취약성의 심각도를 변경합니다.\n\n1. `fail-on-severity` 파일의 끝에 `dependency-review.yml` 옵션을 추가합니다.\n\n   ```yaml copy\n         - name: 'Dependency Review'\n           uses: actions/dependency-review-action@v4\n           with:\n             fail-on-severity: moderate\n   ```\n\n## 3단계: 차단할 라이선스 추가\n\n취약성이 종속성을 차단할 수 있는 유일한 이유는 아닙니다. 조직에서 사용할 수 있는 라이선스 종류에 제한이 있는 경우 종속성 검토를 사용하여 `deny-licenses` 옵션으로 해당 정책을 적용할 수 있습니다. 이 단계에서는 끌어오기 요청이 LGPL-2.0 또는 BSD-2-Clause 라이선스를 포함하는 종속성을 도입하는 경우 빌드를 중단하는 사용자 지정을 추가합니다.\n\n1. `deny-licenses` 파일의 끝에 `dependency-review.yml` 옵션을 추가합니다.\n\n   ```yaml copy\n         - name: 'Dependency Review'\n           uses: actions/dependency-review-action@v4\n           with:\n             fail-on-severity: moderate\n             deny-licenses: LGPL-2.0, BSD-2-Clause\n   ```\n\n## 4단계: 범위 추가\n\n마지막으로, `fail-on-scopes` 옵션을 사용하여 취약한 종속성이 특정 배포 환경(이 경우 개발 환경)에 병합되지 않도록 합니다.\n\n1. `fail-on-scopes` 파일의 끝에 `dependency-review.yml` 옵션을 추가합니다.\n\n   ```yaml copy\n         - name: 'Dependency Review'\n           uses: actions/dependency-review-action@v4\n           with:\n             fail-on-severity: moderate\n             deny-licenses: LGPL-2.0, BSD-2-Clause\n             fail-on-scopes: development\n   ```\n\n## 5단계: 구성 확인\n\n이제 `dependency-review.yml` 파일은 다음과 같아야 합니다.\n\n```yaml copy\n\nname: 'Dependency Review'\non: [pull_request]\n\npermissions:\n  contents: read\n\njobs:\n  dependency-review:\n    runs-on: ubuntu-latest\n    steps:\n      - name: 'Checkout Repository'\n        uses: actions/checkout@v6\n      - name: Dependency Review\n        uses: actions/dependency-review-action@v4\n        with:\n          fail-on-severity: moderate\n          deny-licenses: LGPL-2.0, BSD-2-Clause\n          fail-on-scopes: development\n```\n\n사용자 지정 구성에 대한 템플릿으로 이 구성을 사용할 수 있습니다.\n\n가능한 모든 사용자 지정 옵션에 대한 자세한 내용은 종속성 검토 작업 설명서의 [추가 정보](https://github.com/actions/dependency-review-action/blob/main/README.md#configuration)를 참조하세요.\n\n## 모범 사례\n\n종속성 검토 구성을 사용자 지정할 때 수행할 수 있는 몇 가지 모범 사례가 있습니다.\n\n* 허용 목록 대신 차단 목록을 선택합니다. 허용하려는 모든 라이브러리의 포괄적인 목록을 만드는 것보다 차단하려는 \"정말 나쁜\" 종속성 목록을 컴파일하는 것이 더 실용적입니다.\n\n* 허용할 라이선스를 지정하는 대신 라이선스를 차단하도록 선택합니다. 다양한 라이선스가 있으므로 호환되는 라이선스의 전체 목록을 컴파일하는 것보다 현재 라이선스와 호환되지 않는 라이선스를 제외하는 것이 일반적으로 더 실용적입니다.\n\n* `fail-on-severity`을 선택합니다. 취약성의 심각도에 따라 실패하는 것은 보안에 대한 필요성과 개발자를 위한 마찰이 적은 환경을 만들어야 하는 필요성 간의 균형을 맞추는 좋은 방법입니다.\n\n## 추가 읽기\n\n* [종속성 검토 작업 구성](/ko/code-security/how-tos/secure-your-supply-chain/manage-your-dependency-security/configure-dependency-review-action)\n* [조직 전반에서 종속성 검토를 강제하기](/ko/code-security/how-tos/secure-at-scale/configure-organization-security/configure-specific-tools/enforce-dependency-review)"}