Инструмент статического анализа, который находит и помогает исправлять проблемы безопасности в конфигурациях CI/CD, включая GitHub Actions, Dependabot и pre-commit.
suzuki-shunsuke/pinact
CLI для фиксации GitHub Actions и переиспользуемых workflow по полным SHA коммитов, а также обновления и проверки комментариев с версиями.
- Звёзды
- 1,252
- Форки
- 43
- Открытые issues
- 33
- Последний коммит
- 11 часов назад
Что это?
pinact изменяет файлы GitHub workflow и composite actions, чтобы каждая ссылка на action или переиспользуемый workflow указывала на неизменяемый полный SHA коммита, а исходная версия оставалась в завершающем комментарии. Сопровождающие могут перемещать изменяемые теги, например v3, поэтому фиксация по SHA устраняет этот риск для цепочки поставок.
Помимо фиксации, pinact умеет обновлять зафиксированные actions до новых версий, проверять, зафиксированы ли они в файлах, не изменяя их, и проверять, что комментарии с версиями соответствуют зафиксированным SHA. Утилита также поддерживает автономную проверку, работает с GitHub Enterprise Server и может получать токен GitHub из системного хранилища ключей или ghtkn.
CI-пайплайны могут запускать pinact в режиме проверки, чтобы завершать сборку с ошибкой, если в ней есть незакреплённые actions, а также формировать SARIF для инструментов проверки, например reviewdog.
Ключевые возможности
- 01Фиксирует GitHub Actions и переиспользуемые workflow по SHA коммитов, сохраняя версию в комментарии.
- 02Проверяет, зафиксированы ли ссылки, не изменяя файлы; поддерживает автономный режим без GitHub API.
- 03Обновляет зафиксированные actions, при необходимости учитывая минимальный срок с момента выпуска версии.
- 04Проверяет, соответствуют ли комментарии с версиями зафиксированному коммиту.
- 05Позволяет включать и исключать конкретные actions, а также фиксировать только изменённые строки.
- 06Формирует SARIF и поддерживает GitHub Enterprise Server.
Сценарии использования
- Защита CI-workflow от изменений сторонних actions без вашего ведома.
- Контроль фиксации actions в CI с помощью режима проверки, который завершает сборку с ошибкой при незакреплённых ссылках.
- Ручное обновление зафиксированных actions для команд, которые не используют Renovate.
- Постепенное внедрение фиксации в большом репозитории — фиксация только изменённых строк.
Быстрый старт
- 1
Установите pinact (см. INSTALL.md)
- 2
Зафиксируйте версии actions в репозитории
pinact run - 3
Проверьте фиксацию версий в CI, не изменяя файлы
pinact run --check - 4
Настройте токен GitHub, чтобы избежать ограничений частоты запросов к API
export GITHUB_TOKEN=<your token>
Что важно знать
- Без токена доступа GitHub на запросы к API действуют ограничения частоты.
В подборках
Темы
Частые вопросы
- Что такое pinact?
- CLI для фиксации GitHub Actions и переиспользуемых workflow по полным SHA коммитов, а также обновления и проверки комментариев с версиями. pinact изменяет файлы GitHub workflow и composite actions, чтобы каждая ссылка на action или переиспользуемый workflow указывала на неизменяемый полный SHA коммита, а исходная версия оставалась в завершающем комментарии. Сопровождающие могут перемещать изменяемые теги, например v3, поэтому фиксация по SHA устраняет этот риск для цепочки поставок.
- pinact можно использовать бесплатно? Какая у него лицензия?
- pinact распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- pinact всё ещё поддерживается?
- Активно поддерживается. Последний коммит в pinact — 5 нояб. 2026 г..
- Для чего можно использовать pinact?
- Защита CI-workflow от изменений сторонних actions без вашего ведома. Контроль фиксации actions в CI с помощью режима проверки, который завершает сборку с ошибкой при незакреплённых ссылках. Ручное обновление зафиксированных actions для команд, которые не используют Renovate. Постепенное внедрение фиксации в большом репозитории — фиксация только изменённых строк.
- Как установить pinact?
- Установите pinact (см. INSTALL.md) Зафиксируйте версии actions в репозитории: pinact run Проверьте фиксацию версий в CI, не изменяя файлы: pinact run --check Настройте токен GitHub, чтобы избежать ограничений частоты запросов к API: export GITHUB_TOKEN=<your token>
- Где скачать pinact?
- Исходный код и инструкции по установке — на GitHub: https://github.com/suzuki-shunsuke/pinact
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Open-source-менеджер секретов и переменных окружения с веб-панелью, CLI и синхронизацией через GitHub Actions.
Инструмент для автоматизации релизов Go-проектов: собирает и упаковывает бинарные файлы, публикует их на GitHub, в пакетных менеджерах и реестрах контейнеров.
Open-source CLI для запуска CI/CD-процессов в машинном обучении и публикации метрик и графиков в pull request.
CLI-инструмент для поиска захардкоженных секретов — паролей, API-ключей и токенов — в git-репозиториях, файлах и stdin.
CLI для поиска и проверки более 500 типов секретов, жёстко заданных в файлах, Git-репозиториях, Docker-образах и пакетах; работает как pre-commit hook или в CI.