
📦 :octocat: GitHub Action, который выполняет проверку безопасности ваших GitHub Actions.
GitHub Action, который выполняет проверку безопасности ваших GitHub actions.
Этот action основан на octoscan
Вот базовый пример использования этого action. Это будет работать как для событий 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
Результаты проверки безопасности можно просмотреть на вкладке code security, если у вас есть права на запись в целевой репозиторий:

Или прямо в pull request:

Входные параметры основаны на опциях octoscan. Вы можете найти их здесь.
Следующие параметры являются необязательными и указываются в виде ключей step.with:
| Имя | Тип | Описание |
|---|---|---|
workdir | String | Рабочая директория относительно корневой директории. |
filter_triggers | String | Сканировать workflows с определёнными триггерами (список через запятую: "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 }} в этом action
| Имя | Тип | Описание |
|---|---|---|
sarif_output | String | Имя файла, содержащего результаты SARIF. |
Этот Action требует следующие права на GitHub integration token:
permissions:
security-events: write
actions: read
contents: read
security-events используется для отправки результатов octoscan в GitHub code scanning.