Перейти к содержанию

zizmor: аудит безопасности GitHub Actions

Безопасность · CI/CD
Не изучено

Добавлено 2026-10-29.

Проблема

Workflow синтаксически верен, но запускает код из форка с секретами через pull_request_target, берёт actions по тегу и выдаёт токену лишние права. Через такую конфигурацию в 2026 году скомпрометировали Trivy.

Решение

Прогонять zizmor по workflow, Dependabot и pre-commit конфигам. Он находит template injection, опасные триггеры, незакреплённые uses и образы, избыточные permissions. Не замена actionlint: actionlint ищет ошибки, zizmor — уязвимости.

Пример

zizmor .github/workflows/
zizmor --offline .github/workflows/   # без запросов к GitHub API

.pre-commit-config.yaml:

repos:
  - repo: https://github.com/zizmorcore/zizmor-pre-commit
    rev: v1.31.1
    hooks:
      - id: zizmor

С токеном в GH_TOKEN zizmor работает в online-режиме и выполняет дополнительные проверки.

Когда применять

В любом репозитории с GitHub Actions — в том числе в зеркалах. Для GitLab CI не применим.

Источник

Как применить у себя

  1. Прогнать по одному репозиторию с workflow.
  2. Закрыть находки high: закрепить actions по SHA, сузить permissions.
  3. Добавить хук в pre-commit рядом с actionlint.
  4. Отметить «Изучено», когда новых находок high нет две недели.