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

Заголовок чужой задачи не должен управлять заданием, у которого на руках ваши секреты
Команды подключают ИИ‑агентов к сборке, чтобы те разбирали задачи, проверяли запросы на слияние и отвечали в обсуждениях. Такие задания запускаются на событиях, которые может создать кто угодно снаружи, и при этом несут в себе токены, которые конвейер носит всегда. Отсюда целый класс уязвимостей в безопасности GitHub Actions, его называют «clinjection»: на одном конце текст атакующего, на другом шаг, который публикует пакет или раздаёт секреты. Разберём по шагам, где именно всё ломается.
Чужой ввод как команда
Заголовок задачи, текст запроса на слияние, комментарий, имя ветки из форка. Всё это может написать любой человек в интернете, а до ИИ‑агента этот текст доходит так, будто это доверенная инструкция. Классическая инъекция через чужой ввод.
В задании лежат секреты
Тот же сценарий сборки держит токен 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 одним шагом в сборку, и она будет падать на реально достижимой цепочке. Уязвимость ловится на проверке кода, а не в разгар инцидента.
Мы сами честно очерчиваем свои границы
| Что | Закрыто | Как |
|---|---|---|
| Чужой ввод из GitHub доходит до агента | ✔ да | Статический разбор триггеров и входных данных сборки |
| Достижимый путь до секрета или публикации | ✔ да | Прослеживает вход, усиление, воздействие, показывает только реальные |
| Опасная конфигурация агента на машине | ✔ да | Команда agentpipe local по файлам ~/.claude.json, .mcp.json |
| Доказательство, что находка настоящая | ✔ да | Команда prove подкладывает безобидную приманку |
| Точное место в коде | ✔ да | Каждая находка с файлом и номером строки |
| Где границы, говорим сразу | ||
| Контроль в момент выполнения | ✘ и это честно | agentpipe это сканер. Для защиты во время работы поставьте его в пару с Airlock |
| Сборка не на GitHub (GitLab, Jenkins) | ◑ в планах | Пока поддерживается GitHub Actions |
| Сам текст инъекции | ✘ и это честно | Он ищет достижимый путь, а не пытается вычитать намерение из текста |
Найти на проверке кода, перекрыть во время работы
agentpipe закрывает раннюю половину задачи: находит уязвимый пайплайн ещё до того, как он уедет в продакшн. Airlock перекрывает вызовы агента уже во время работы, по заданной политике. А Countersign ставит честную подпись человека на тех действиях, что доходят до людей. Вместе это полный цикл безопасности ИИ‑агентов: проверяем в сборке, перекрываем в бою.
Обычным пользователям бесплатно. Компаниям напишите нам
Сам сканер навсегда бесплатен и с открытым кодом для отдельных пользователей. Компаниям, которым нужно закрыть все репозитории организации, встроить проверку в сборку и вести журнал для аудита, напишите нам, цену обсудим.
Open Source
- Проверка репозитория, форка или всей организации
- Карта цепочки атаки с точным местом (файл и строка)
- Подтверждение находки канарейкой (
prove) - Аудит настроек агента на машине (
agentpipe local) - Работает локально, только на чтение, лицензия MIT
Компания
- Проверка всех репозиториев организации
- Проверка прямо в сборке, с политикой и наглядным отчётом по находкам
- Разбор, приоритизация и помощь с устранением
- Пакет документов для аудита
- Внедрение, поддержка и SLA
Мы профессионально ломаем ИИ-агентов. agentpipe это то, чем мы первыми находим дырявый пайплайн
agentpipe вырос из нашей наступательной работы над безопасностью ИИ‑агентов в сборках. Цепочки clinjection, которые он рисует, это ровно те, что мы раскручиваем на проектах по пентесту. Нужен взгляд атакующего на ваши пайплайны или помощь встроить agentpipe во все репозитории организации с журналом для аудита? Это наша повседневная работа.
Найдите пайплайн, который читает чужой ввод и держит секрет
Статический сканер безопасности CI/CD для ИИ-агентов. Поддержка GitHub Actions. Работает локально. Открытый код под лицензией MIT.