Skip to main content

GitHub Actions의 Dependabot

Dependabot와 GitHub Actions를 사용할 때의 자세한 정보입니다.

Dependabot이 이벤트를 트리거하는 때의 제한 사항

Dependabot은 끌어오기 요청 및 댓글에서 GitHub Actions 워크플로를 트리거할 수 있지만 다른 방식으로 처리되는 이벤트도 있습니다.

          `github.actor == 'dependabot[bot]'`, `pull_request`, `pull_request_review`, `pull_request_review_comment`, `push`, `create` 및 `deployment` 이벤트를 사용하여 Dependabot (`deployment_status`)에서 시작된 워크플로의 경우 다음 제한이 적용됩니다.

* GITHUB_TOKEN에는 기본 설정으로 읽기 전용 권한이 부여되어 있습니다.

  • 비밀은 Dependabot의 비밀로부터 채워집니다. GitHub Actions 비밀을 사용할 수 없습니다.

Dependabot(github.actor == 'dependabot[bot]')에서 pull_request_target 이벤트를 사용하여 시작한 워크플로의 경우 끌어오기 요청의 기본 ref가 Dependabot(github.event.pull_request.user.login == 'dependabot[bot]')에 의해 만들어졌다면 GITHUB_TOKEN은 읽기 전용이며 비밀을 사용할 수 없습니다.

이러한 제한 사항은 워크플로가 다른 행위자에 의해 다시 실행되는 경우에도 적용됩니다.

자세한 내용은 GitHub Actions 및 워크플로의 보안 유지: pwn 요청 방지하기에서 확인할 수 있습니다.

자체 호스팅된 실행기에서 Dependabot를 사용하기 위한 요구 사항

자체 호스팅 실행기를 사용하여 Dependabot updates를 생성하려면 운영 체제, 네트워크 및 인증서를 올바르게 구성해야 합니다.

시스템 요구 사항

의존봇 러너 시스템 요구사항

네트워크 요구 사항

Dependabot 실행기는 퍼블릭 인터넷, GitHub.com, 그리고 Dependabot updates 업데이트에 사용될 모든 내부 레지스트리에 액세스할 수 있어야 합니다. 내부 네트워크에 대한 위험을 최소화하려면 VM(가상 머신)에서 내부 네트워크로의 액세스를 제한해야 합니다. 이렇게 하면 실행기에서 하이재킹된 종속성을 다운로드하는 경우 내부 시스템이 손상될 가능성이 줄어듭니다.

인증서 구성

Dependabot이 자체 서명된 인증서를 사용하는 레지스트리와 상호 작용해야 한다면 Dependabot 작업을 실행하는 자체 호스팅 실행기에도 해당 인증서를 설치해야 합니다. 이 보안 기능은 연결 상태를 더욱 강력하게 만들어 줍니다. 대부분의 작업은 JavaScript로 작성되고 운영 체제 인증서 저장소를 사용하지 않는 Node.js를 통해 실행되므로, Node.js가 인증서를 사용하도록 구성해야 합니다.