agentpipe
Вы подключили ИИ‑агента к сборке на GitHub Actions, чтобы он разбирал задачи и проверял пул‑реквесты. Но текст в этих задачах пишут посторонние люди, а само задание держит ваши секреты: токен на публикацию пакетов, облачные ключи, доступ к деплою. Достаточно одной вредной задачи, чтобы агент от вашего имени опубликовал пакет, отправил код или слил секрет в лог. agentpipe находит такие дыры раньше атакующего. Это статический сканер безопасности CI/CD: он читает ваши сценарии сборки и настройки агента, прослеживает путь от чужого ввода до секрета и показывает точную строку, где всё сходится. Без доступа в сеть, без запуска кода, без эксплуатации.
pip install agentpipe-scanРаботает локально и только на чтение: без доступа в сеть, без выполнения кода, без эксплуатации. Проверяйте один репозиторий, целую организацию или свою рабочую машину. Нужен Python 3.11 или новее. Бесплатно, открытый код под лицензией MIT. Всё запускается одной командой: agentpipe scan . Или поставьте GitHub Action в пайплайн, и он даст комментарий к PR и SARIF.

Заголовок чужой задачи не должен управлять заданием, у которого на руках ваши секреты
Идея простая и оттого опасная. ИИ‑агент в сборке слушает данные, которые пишут снаружи: заголовок задачи, текст пул‑реквеста, имя ветки. А рядом, в том же задании, лежат токены, которые сборка носит всегда. Соедините одно с другим, и получится класс уязвимостей в безопасности GitHub Actions, его называют «clinejection»: на одном конце текст постороннего, на другом шаг, который публикует пакет или отдаёт секрет. Дальше по шагам, где именно всё ломается.
Чужой ввод как команда
Заголовок задачи, текст пул‑реквеста, комментарий, имя ветки из форка. Всё это может написать любой человек в интернете, а до ИИ‑агента этот текст доходит так, будто это доверенная инструкция. Классическая инъекция через чужой ввод.
В задании лежат секреты
Тот же сценарий сборки держит токен GitHub, токен npm, облачные ключи или доступ к развёртыванию. А триггер pull_request_target запускает его с правами на запись, да ещё и на коде из чужого форка.
Задача превращается в публикацию
Агент, послушав вписанный в задачу текст, выполняет шаг, который публикует пакет, пишет комментарий, отправляет код или сливает данные. Одна открытая задача оборачивается релизом, секретом в логе или коммитом, которого вы не делали.
Опасная конфигурация агента
На рабочей машине настройки агента (~/.claude.json, .mcp.json) тихо отключают запрос подтверждений, разрешают ставить пакеты без фиксации версий и хранят пароли с токенами открытым текстом.
Это никто не проверяет
Сканеры секретов ищут уже утёкшие ключи, анализаторы кода смотрят на само приложение. Ни один из них не читает сценарий сборки и не задаёт главный вопрос: может ли чужой ввод дотянуться до шага, у которого на руках секрет?
Скомпрометированный популярный модуль для GitHub Actions заставили выгружать секреты сборки в открытые логи. Пострадали тысячи репозиториев (CVE-2025-30066).
Чужое событие с GitHub управляет шагом, где сидит ИИ‑агент с токеном на публикацию. И вот открытая задача уже стала релизом. Ровно этот класс уязвимостей и находит agentpipe.
Инъекция перехватывает агента и заставляет выполнять шаги, выбранные атакующим. В сборке такие шаги идут с полными правами всего конвейера.
Он читает пайплайн глазами атакующего и показывает реально достижимый путь
agentpipe статически, без единого запуска, разбирает ваши сценарии сборки и настройки агента. Он находит каждую точку, куда попадает чужой ввод, прослеживает её до шагов, у которых есть власть, и показывает только те цепочки, что реально смыкаются: точка входа, усиление прав, воздействие. К каждой находке даёт точное место: файл и номер строки. Ничего не выполняется и ничего не уходит с вашей машины, это чистый аудит безопасности пайплайна.
Цепочка, а не просто подозрительное слово
agentpipe показывает путь, который реально складывается в атаку: чужой вход, усиление прав (токен, опасный триггер), воздействие (публикация, отправка кода, утечка). Опасная настройка, до которой нельзя дотянуться, это шум, и agentpipe честно её так и помечает.
Канарейка вместо догадки
Команда agentpipe prove . подкладывает безобидный токен‑приманку и проверяет, что найденная дыра действительно достижима. Вы получаете подтверждённую находку, а не теорию. Для этого нужен только токен доступа к GitHub.
И ваша машина тоже
Команда agentpipe local читает настройки агента на компьютере, помечает отключённые подтверждения, установку пакетов без фиксации версий и секреты в открытом виде. А сами секреты в своём отчёте прячет за звёздочками.
Самая опасная настройка часто лежит на вашем же ноутбуке
Команда agentpipe local проверяет конфигурацию ИИ‑агента на рабочей машине так же строго, как проверяет конвейер сборки. Она читает файлы настроек (~/.claude.json, .mcp.json), находит выключенные подтверждения, установку пакетов без фиксации версий и пароли с токенами в открытом виде. Каждый секрет в отчёте маскируется. Работает без доступа в сеть, только на чтение, это безопасный аудит конфигурации агента.

Одна команда в сборке или на ноутбуке
Добавьте agentpipe scan одним шагом в сборку, и она будет падать на реально достижимой цепочке. Уязвимость ловится на проверке кода, а не в разгар инцидента.
Одна строка в CI: липкий комментарий к PR, SARIF и baseline, который молчит про старый долг
agentpipe это не только локальный сканер. Поставьте GitHub Action в пайплайн, и он проверяет каждый PR, чинит что может безопасно, и держит политику, которую команды не ослабят по‑тихому.
GitHub Action и SARIF
Одна строка в workflow оставляет один обновляемый комментарий к PR с цепочками, которые этот PR добавляет, и выгружает SARIF прямо во вкладку Security (Code Scanning). Режим baseline молчит про уже накопленный долг и говорит только про то, что добавил этот PR.
agentpipe fix
Команда agentpipe fix пишет безопасные патчи с сохранением форматирования: ваши комментарии и отступы на месте, а всё, что зависит от намерения, остаётся советом, а не рискованной автоправкой. По умолчанию сухой прогон.
Политика как код, репозиторий и организация
Репозиторий несёт политику .github/agentpipe.yml, а команда безопасности задаёт политику организации, которую отдельный репозиторий не ослабит тихим коммитом. Это и есть фундамент корпоративного слоя.
Мы сами честно очерчиваем свои границы
| Что | Закрыто | Как |
|---|---|---|
| Чужой ввод из GitHub доходит до агента | ✔ да | Статический разбор триггеров и входных данных сборки |
| Достижимый путь до секрета или публикации | ✔ да | Прослеживает вход, усиление, воздействие, показывает только реальные |
| Опасная конфигурация агента на машине | ✔ да | Команда agentpipe local по файлам ~/.claude.json, .mcp.json |
| Работает в CI, комментарий к PR и SARIF | ✔ да | GitHub Action выгружает в Code Scanning, baseline молчит про старый долг |
| Безопасный автопатч находок | ✔ да | agentpipe fix, с сохранением форматирования, по умолчанию сухой прогон |
| Политика организации, которую репо не ослабит | ✔ да | .github/agentpipe.yml плюс политика организации |
| Доказательство, что находка настоящая | ✔ да | Команда prove подкладывает безобидную приманку |
| Точное место в коде | ✔ да | Каждая находка с файлом и номером строки |
| Где границы, говорим сразу | ||
| Контроль в момент выполнения | ✘ и это честно | agentpipe это сканер. Для защиты во время работы поставьте его в пару с Airlock |
| Сборка не на GitHub (GitLab, Jenkins) | ◑ в планах | Пока поддерживается GitHub Actions |
| Сам текст инъекции | ✘ и это честно | Он ищет достижимый путь, а не пытается вычитать намерение из текста |
Найти на проверке кода, перекрыть во время работы
agentpipe закрывает раннюю половину задачи: находит уязвимый пайплайн ещё до того, как он уедет в продакшн. Airlock перекрывает вызовы агента уже во время работы, по заданной политике. А Countersign ставит честную подпись человека на тех действиях, что доходят до людей. Вместе это полный цикл безопасности ИИ‑агентов: проверяем в сборке, перекрываем в бою.
Обычным пользователям бесплатно. Компаниям напишите нам
Сам сканер навсегда бесплатен и с открытым кодом для отдельных пользователей. Компаниям, которым нужно закрыть все репозитории организации, встроить проверку в сборку и вести журнал для аудита, напишите нам, цену обсудим.
Open Source
- Проверка репозитория, форка или всей организации
- Карта цепочки атаки с точным местом (файл и строка)
- GitHub Action, SARIF и режим baseline
- Безопасные автопатчи (
agentpipe fix) - Канарейка (
prove) и аудит настроек (local) - Политика репозитория, работает локально, MIT
Компания
- Постоянное сканирование всех репозиториев с дашбордом и алертами
- Политика организации, которую репозиторий не ослабит
- GitHub Checks и SARIF на каждый репозиторий
- Разбор, приоритизация и помощь с устранением
- Пакет документов для аудита
- Внедрение, поддержка и SLA
Мы профессионально ломаем ИИ-агентов. agentpipe это то, чем мы первыми находим дырявый пайплайн
agentpipe вырос из нашей наступательной работы над безопасностью ИИ‑агентов в сборках. Цепочки clinejection, которые он рисует, это ровно те, что мы раскручиваем на проектах по пентесту. Нужен взгляд атакующего на ваши пайплайны или помощь встроить agentpipe во все репозитории организации с журналом для аудита? Это наша повседневная работа.
Сканер безопасности конфигураций ИИ-агентов: частые вопросы
Что сканирует agentpipe?
agentpipe — статический сканер безопасности конфигураций ИИ-агентов и пайплайнов: он находит цепочки clinjection, когда недоверенный ввод доходит до агента с секретами или правами на запись, а также опасные локальные настройки агента.
Что такое clinjection?
Это класс атак, где чужой текст (issue, PR, комментарий) попадает в ИИ-агента, у которого есть доступ к секретам или публикации. agentpipe прослеживает такую цепочку «источник → усиление → влияние» и помечает её по severity.
Проверяет ли локальные конфиги агента?
Да. Команда agentpipe local аудирует настройки агента на машине (~/.claude.json, .mcp.json, настройки Cursor, Gemini, Windsurf): находит отключённые подтверждения, незапиненные MCP, установку без фиксации версий и токены в открытом виде, маскируя секреты в отчёте.
Чем это отличается от линтера или сканера кода?
zizmor и CodeQL ловят ошибки конфигурации и инъекции в коде. agentpipe — это SAST для AI-агентов: он прослеживает именно связь «недоверенное событие → шаг с ИИ-агентом → секрет/запись/публикация».
Как подтверждаются находки?
Командой agentpipe prove: она подкладывает безобидную канарейку и проверяет достижимость дыры, так что вы получаете подтверждённую находку, а не теорию.
Найдите пайплайн, который читает чужой ввод и держит секрет
Статический сканер безопасности CI/CD для ИИ-агентов. Поддержка GitHub Actions. Работает локально. Открытый код под лицензией MIT.