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.