
📦 :octocat: GitHub Actions에 대한 보안 검사를 수행하는 GitHub Action입니다.
GitHub Actions 워크플로에 대한 보안 검사를 수행하는 GitHub Action입니다.
이 액션은 octoscan을 기반으로 합니다.
다음은 이 액션을 사용하는 기본 예제입니다. 이 예제는 push 및 pull_request 이벤트 모두에서 작동합니다.
---
name: Octoscan
on:
workflow_dispatch:
pull_request:
paths:
- '.github/workflows/*'
push:
paths:
- '.github/workflows/*'
permissions:
security-events: write
actions: read
contents: read
jobs:
octoscan:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- id: octoscan
name: Run octoscan
uses: synacktiv/action-octoscan@v1
- name: Upload SARIF file to GitHub
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: "${{steps.octoscan.outputs.sarif_output}}"
category: octoscan
보안 결과는 대상 리포지토리에 대한 쓰기 권한이 있는 경우 코드 보안 탭에서 검토할 수 있습니다:

또는 pull request에서 직접 확인할 수 있습니다:

입력 값은 octoscan의 옵션을 기반으로 하며, 여기에서 확인할 수 있습니다.
다음은 step.with 키로 선택적으로 지정할 수 있는 항목입니다:
| 이름 | 유형 | 설명 |
|---|---|---|
workdir | String | 루트 디렉터리를 기준으로 하는 작업 디렉터리입니다. |
filter_triggers | String | 특정 트리거가 있는 워크플로를 스캔합니다 (쉼표로 구분된 목록: "push,pull_request_target" 또는 사전 구성된 값: external/allnopr). 기본값은 external입니다. |
filter_run | Boolean | run 셸 스크립트에서만 표현식 삽입을 검색합니다. 기본값은 true입니다. |
ignore | String | 무시하려는 오류 메시지와 일치하는 정규 표현식입니다. |
disable_rules | String | 특정 규칙을 비활성화합니다. ","로 구분합니다. enable_rules와 함께 사용할 수 없습니다. |
enable_rules | String | 특정 규칙을 활성화합니다. 이 경우 다른 모든 규칙은 비활성화됩니다. ","로 구분합니다. disable_rules와 함께 사용할 수 없습니다. |
💡 enable_rules와 disable_rules를 동시에 사용할 수 없습니다.
이 액션에서는 ${{ steps.<step-id>.outputs }}를 통해 다음 출력에 접근할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
sarif_output | String | sarif 출력을 포함하는 파일의 이름입니다. |
이 Action은 GitHub 통합 토큰에 대해 다음 권한을 요구합니다:
permissions:
security-events: write
actions: read
contents: read
security-events는 octoscan의 출력을 GitHub code scanning으로 푸시하는 데 사용됩니다.