// наши разработки / agentpipe

agentpipe

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

$pip install agentpipe-scan

Работает локально и только на чтение: без доступа в сеть, без выполнения кода, без эксплуатации. Проверяйте один репозиторий, целую организацию или свою рабочую машину. Нужен Python 3.11 или новее. Бесплатно, открытый код под лицензией MIT. Всё запускается одной командой: agentpipe scan .

agentpipe проверяет сценарий сборки на GitHub Actions и строит цепочку атаки от заголовка чужой задачи до задания, которое держит секреты
// agentpipe прослеживает путь: чужой ввод, усиление прав, задание, которое может опубликовать релиз
// в чём проблема

Заголовок чужой задачи не должен управлять заданием, у которого на руках ваши секреты

Команды подключают ИИ‑агентов к сборке, чтобы те разбирали задачи, проверяли запросы на слияние и отвечали в обсуждениях. Такие задания запускаются на событиях, которые может создать кто угодно снаружи, и при этом несут в себе токены, которые конвейер носит всегда. Отсюда целый класс уязвимостей в безопасности GitHub Actions, его называют «clinjection»: на одном конце текст атакующего, на другом шаг, который публикует пакет или раздаёт секреты. Разберём по шагам, где именно всё ломается.

01 · вход

Чужой ввод как команда

Заголовок задачи, текст запроса на слияние, комментарий, имя ветки из форка. Всё это может написать любой человек в интернете, а до ИИ‑агента этот текст доходит так, будто это доверенная инструкция. Классическая инъекция через чужой ввод.

02 · усиление

В задании лежат секреты

Тот же сценарий сборки держит токен GitHub, токен npm, облачные ключи или доступ к развёртыванию. А триггер pull_request_target запускает его с правами на запись, да ещё и на коде из чужого форка.

03 · воздействие

Задача превращается в публикацию

Агент, послушав вписанный в задачу текст, выполняет шаг, который публикует пакет, пишет комментарий, отправляет код или сливает данные. Одна открытая задача оборачивается релизом, секретом в логе или коммитом, которого вы не делали.

04 · настройки

Опасная конфигурация агента

На рабочей машине настройки агента (~/.claude.json, .mcp.json) тихо отключают запрос подтверждений, разрешают ставить пакеты без фиксации версий и хранят пароли с токенами открытым текстом.

05 · слепая зона

Это никто не проверяет

Сканеры секретов ищут уже утёкшие ключи, анализаторы кода смотрят на само приложение. Ни один из них не читает сценарий сборки и не задаёт главный вопрос: может ли чужой ввод дотянуться до шага, у которого на руках секрет?

// это уже случалось
tj-actions/changed-files

Скомпрометированный популярный модуль для GitHub Actions заставили выгружать секреты сборки в открытые логи. Пострадали тысячи репозиториев (CVE-2025-30066).

Clinjection

Чужое событие с GitHub управляет шагом, где сидит ИИ‑агент с токеном на публикацию. И вот открытая задача уже стала релизом. Ровно этот класс уязвимостей и находит agentpipe.

Agentjacking

Инъекция перехватывает агента и заставляет выполнять шаги, выбранные атакующим. В сборке такие шаги идут с полными правами всего конвейера.

// как это работает

Он читает пайплайн глазами атакующего и показывает реально достижимый путь

agentpipe статически, без единого запуска, разбирает ваши сценарии сборки и настройки агента. Он находит каждую точку, куда попадает чужой ввод, прослеживает её до шагов, у которых есть власть, и показывает только те цепочки, что реально смыкаются: точка входа, усиление прав, воздействие. К каждой находке даёт точное место: файл и номер строки. Ничего не выполняется и ничего не уходит с вашей машины, это чистый аудит безопасности пайплайна.

репозиторий, орг, ПКсценарии сборки, настройки чтение agentpipeразбор и трассировкабез запуска входусилениевоздействие находкифайл и строка proveбезобидная канарейка чинитьдо релиза
// карта

Цепочка, а не просто подозрительное слово

agentpipe показывает путь, который реально складывается в атаку: чужой вход, усиление прав (токен, опасный триггер), воздействие (публикация, отправка кода, утечка). Опасная настройка, до которой нельзя дотянуться, это шум, и agentpipe честно её так и помечает.

// проверка

Канарейка вместо догадки

Команда agentpipe prove . подкладывает безобидный токен‑приманку и проверяет, что найденная дыра действительно достижима. Вы получаете подтверждённую находку, а не теорию. Для этого нужен только токен доступа к GitHub.

// локально

И ваша машина тоже

Команда agentpipe local читает настройки агента на компьютере, помечает отключённые подтверждения, установку пакетов без фиксации версий и секреты в открытом виде. А сами секреты в своём отчёте прячет за звёздочками.

// аудит настроек агента

Самая опасная настройка часто лежит на вашем же ноутбуке

Команда agentpipe local проверяет конфигурацию ИИ‑агента на рабочей машине так же строго, как проверяет конвейер сборки. Она читает файлы настроек (~/.claude.json, .mcp.json), находит выключенные подтверждения, установку пакетов без фиксации версий и пароли с токенами в открытом виде. Каждый секрет в отчёте маскируется. Работает без доступа в сеть, только на чтение, это безопасный аудит конфигурации агента.

agentpipe local проверяет настройки ИИ-агента и помечает отключённые подтверждения, установку без фиксации версий и секреты в открытом виде, скрывая сами секреты в отчёте
// agentpipe local проверяет настройки агента: секреты в отчёте скрыты
// как пользоваться

Одна команда в сборке или на ноутбуке

$ agentpipe scan . # проверить этот репозиторий $ agentpipe scan github.com/org/repo # любой репозиторий через GitHub API $ agentpipe scan github.com/org # сразу всю организацию $ agentpipe prove . # подтвердить находку канарейкой $ agentpipe local # проверить настройки агента на машине

Добавьте agentpipe scan одним шагом в сборку, и она будет падать на реально достижимой цепочке. Уязвимость ловится на проверке кода, а не в разгар инцидента.

// что закрываем, а что честно нет

Мы сами честно очерчиваем свои границы

ЧтоЗакрытоКак
Чужой ввод из GitHub доходит до агента✔ даСтатический разбор триггеров и входных данных сборки
Достижимый путь до секрета или публикации✔ даПрослеживает вход, усиление, воздействие, показывает только реальные
Опасная конфигурация агента на машине✔ даКоманда agentpipe local по файлам ~/.claude.json, .mcp.json
Доказательство, что находка настоящая✔ даКоманда prove подкладывает безобидную приманку
Точное место в коде✔ даКаждая находка с файлом и номером строки
Где границы, говорим сразу
Контроль в момент выполнения✘ и это честноagentpipe это сканер. Для защиты во время работы поставьте его в пару с Airlock
Сборка не на GitHub (GitLab, Jenkins)◑ в планахПока поддерживается GitHub Actions
Сам текст инъекции✘ и это честноОн ищет достижимый путь, а не пытается вычитать намерение из текста
// работает в паре с airlock и countersign

Найти на проверке кода, перекрыть во время работы

agentpipe закрывает раннюю половину задачи: находит уязвимый пайплайн ещё до того, как он уедет в продакшн. Airlock перекрывает вызовы агента уже во время работы, по заданной политике. А Countersign ставит честную подпись человека на тех действиях, что доходят до людей. Вместе это полный цикл безопасности ИИ‑агентов: проверяем в сборке, перекрываем в бою.

// стоимость

Обычным пользователям бесплатно. Компаниям напишите нам

Сам сканер навсегда бесплатен и с открытым кодом для отдельных пользователей. Компаниям, которым нужно закрыть все репозитории организации, встроить проверку в сборку и вести журнал для аудита, напишите нам, цену обсудим.

// для человека

Open Source

Бесплатно, открытый код
  • Проверка репозитория, форка или всей организации
  • Карта цепочки атаки с точным местом (файл и строка)
  • Подтверждение находки канарейкой (prove)
  • Аудит настроек агента на машине (agentpipe local)
  • Работает локально, только на чтение, лицензия MIT
// для компании

Компания

Напишите нам, цену обсудим
  • Проверка всех репозиториев организации
  • Проверка прямо в сборке, с политикой и наглядным отчётом по находкам
  • Разбор, приоритизация и помощь с устранением
  • Пакет документов для аудита
  • Внедрение, поддержка и SLA
// сделано в SecurityLab.Pro

Мы профессионально ломаем ИИ-агентов. agentpipe это то, чем мы первыми находим дырявый пайплайн

agentpipe вырос из нашей наступательной работы над безопасностью ИИ‑агентов в сборках. Цепочки clinjection, которые он рисует, это ровно те, что мы раскручиваем на проектах по пентесту. Нужен взгляд атакующего на ваши пайплайны или помощь встроить agentpipe во все репозитории организации с журналом для аудита? Это наша повседневная работа.

Найдите пайплайн, который читает чужой ввод и держит секрет

Статический сканер безопасности CI/CD для ИИ-агентов. Поддержка GitHub Actions. Работает локально. Открытый код под лицензией MIT.