
ship-safe v9.7.5
Escáner de seguridad CLI diseñado para la era de los agentes. Detecta errores de configuración de CI/CD, riesgos de permisos de agentes, inyección de herramientas MCP, secretos hardcodeados y dependencias de IA marcadas por DMCA.
Detecta código riesgoso, vulnerabilidades de agentes de IA y problemas de cadena de suministro antes de que lleguen a producción.
Sitio web · Documentación · Seguridad y flujo de datos · Benchmark · Precios · Blog · Contribuir
CLI de Ship Safe
Ship Safe es un escáner de seguridad de IA para equipos de software modernos. Se ejecuta localmente en tu repositorio, encuentra problemas en código de aplicación, agentes de IA, configuraciones de MCP, prompts, dependencias, CI/CD, secretos y configuración relacionada con la nube, y luego te ayuda a revisar y aplicar correcciones seguras.
Inicia un escaneo con un solo comando:
npx ship-safe
Sin registro. No se requiere clave de API para escanear. Funciona sin conexión para las comprobaciones principales. Los modos de red-team respaldados por IA usan tu proveedor configurado cuando está disponible.
Usa --no-ai para garantizar un escaneo completamente local. La clasificación respaldada por proveedor, el análisis profundo y GPT-Red envían contexto limitado directamente a tu proveedor seleccionado después de un enmascaramiento de credenciales de mejor esfuerzo. Consulta Seguridad y flujo de datos para conocer los límites exactos y los límites de contexto.
Inicio rápido
# REPL interactivo: escanea, corrige y haz preguntas en una sola sesión
npx ship-safe
# Auditoría completa: secretos + 29 agentes + dependencias + plan de remediación
npx ship-safe audit .
# Escenarios de red-team de agentes de IA para contenido legible por agentes
npx ship-safe red-team . --gpt-red
# Agente de corrección interactivo: plan, diff, aprobar, verificar
npx ship-safe agent .
npx ship-safe agent . --severity critical # solo hallazgos críticos
npx ship-safe agent . --branch --pr # corregir en una rama + abrir un PR
# Deshacer la última corrección
npx ship-safe undo
# Modo CI/CD: falla ante cualquier hallazgo crítico
npx ship-safe ci . --sarif results.sarif
npx ship-safe ci . --fail-on high # más estricto: crítico o alto
Qué encuentra Ship Safe
| Área | Ejemplos |
|---|---|
| Seguridad de IA y LLM | Inyección de prompts, secuestro de agentes, agencia excesiva, envenenamiento de memoria, envenenamiento de RAG, llamadas a herramientas inseguras |
| Configuraciones de MCP y agentes | Permisos de herramientas demasiado amplios, registros envenenados, transportes no confiables, listas de permitidos peligrosas |
| Seguridad de aplicaciones | Inyección SQL/NoSQL, XSS, SSRF, bypass de autenticación, path traversal, rutas API inseguras |
| Secretos y cumplimiento | Claves de API, tokens, credenciales, PII, secretos filtrados en el historial de git |
| Cadena de suministro | Typosquatting, confusión de dependencias, scripts de instalación riesgosos, acciones de IA sin fijar versión |
| CI/CD | Envenenamiento de pipelines, GitHub Actions sin fijar versión, registro de secretos, disparadores de flujos de trabajo inseguros |
Cómo funciona
- Escanea localmente - Ship Safe inspecciona tu repositorio con agentes específicos y omite las comprobaciones que no aplican.
- Revisa los hallazgos - Los hallazgos incluyen severidad, ubicación del archivo, evidencia y remediación recomendada.
- Corrige con control - El agente propone un plan y un diff, pregunta antes de escribir, verifica el resultado y mantiene los cambios reversibles.
- Controla en CI - Usa
ship-safe cipara fallar builds riesgosos y sube SARIF al escaneo de código de GitHub.
Por qué lo usan los desarrolladores
- Diseñado para aplicaciones nativas de IA: detecta riesgos en agentes, servidores MCP, prompts, flujos RAG, configuraciones de agentes gestionados y CI impulsado por IA.
- Funciona con clientes de IA: expón Ship Safe a Codex, Claude Desktop, Cursor, Windsurf y otros clientes MCP a través del servidor stdio local.
- Retroalimentación local rápida: ejecútalo antes de un PR, durante la revisión o dentro del CI sin enviar código a un escáner alojado.
- Las correcciones son revisables: cada cambio sugerido se muestra como un diff antes de tocar tus archivos.
- Funciona con tu stack: JavaScript, TypeScript, Python, archivos de configuración, archivos de infraestructura, GitHub Actions y más.
- Núcleo de código abierto: CLI con licencia MIT con documentación, ejemplos y un sistema de agentes en crecimiento.
CLI gratuito, flujos de trabajo de equipo de pago
El CLI de código abierto es la forma más rápida de escanear cualquier repositorio localmente. Mejora cuando necesites un flujo de trabajo alojado alrededor del mismo escáner:
| Necesidad | Uso |
|---|---|
| Escaneos locales, auditorías y correcciones asistidas por agentes | CLI gratuito |
| Historial de escaneos, panel en la nube e informes PDF | Pro |
| Espacio de trabajo compartido, PR Guardian, informes de equipo y colaboración | Team |
Compara los planes en shipsafe.sh/pricing.
Ship Safe Cloud, el panel alojado para historial de escaneos, PR Guardian, facturación y flujos de trabajo de equipo, se desarrolla en un repositorio privado porque contiene código de producto comercial y flujos de trabajo de infraestructura alojada. El repositorio público ship-safe sigue centrado en el CLI con licencia MIT, agentes de seguridad, reglas, fixtures, integraciones de CI y documentación. Consulta Ship Safe Cloud para conocer el límite del repositorio.
Agentes de seguridad
Todos los agentes se ejecutan en paralelo. Cada uno omite automáticamente los proyectos irrelevantes.
| Agente | Categoría | Qué detecta |
|---|---|---|
| InjectionTester | Vulnerabilidades de código | Inyección SQL/NoSQL, inyección de comandos, XSS, path traversal, XXE, ReDoS, contaminación de prototipos |
| AuthBypassAgent | Autenticación | Fallos de JWT (alg:none, secretos débiles), CSRF, mala configuración de OAuth, BOLA/IDOR, bypass de TLS |
| SSRFProber | SSRF | Entrada de usuario en fetch/axios, endpoints de metadatos en la nube, IPs internas |
| SupplyChainAudit | Cadena de suministro | Typosquatting, versiones comodín, scripts de instalación sospechosos, confusión de dependencias |
| ConfigAuditor | Configuración | Docker (usuario root, :latest), Terraform, Kubernetes, CORS, CSP, Firebase, Nginx |
| SupabaseRLSAgent | Autenticación | Clave service_role en código de cliente, tablas sin RLS, inserciones con clave anónima |
| LLMRedTeam | IA/LLM | OWASP LLM Top 10: inyección de prompts, agencia excesiva, fuga del prompt del sistema |
| MCPSecurityAgent | IA/LLM | Uso indebido de servidores MCP, envenenamiento de herramientas, typosquatting, entradas no validadas |
| AgenticSecurityAgent | IA/LLM | OWASP Agentic AI Top 10: secuestro de agentes, escalada de privilegios, uso indebido de llamadas a herramientas compatibles con Kimi K3/OpenAI |
| RAGSecurityAgent | IA/LLM | Inyección de contexto, envenenamiento de documentos, control de acceso a bases vectoriales |
| MemoryPoisoningAgent | IA/LLM | Inyección de instrucciones en archivos de memoria de agentes, payloads Unicode ocultos (ASI-01, ASI-05) |
| PIIComplianceAgent | Cumplimiento | SSN, tarjetas de crédito, correos electrónicos, números de teléfono en código fuente |
| VibeCodingAgent | Vulnerabilidades de código | Anti-patrones de código generado por IA: sin validación, catches vacíos, autenticación TODO |
| ExceptionHandlerAgent | Vulnerabilidades de código | Catches vacíos, rechazos no manejados, trazas de pila filtradas (OWASP A10:2025) |
| AgentConfigScanner | IA/LLM | Inyección de prompts en .cursorrules, CLAUDE.md, hooks maliciosos de Claude Code |
| MobileScanner | Móvil | OWASP Mobile Top 10 2024: almacenamiento inseguro, inyección en WebView, modo debug |
| GitHistoryScanner | Secretos | Secretos filtrados en el historial de commits de git |
| CICDScanner | CI/CD | Envenenamiento de pipelines, acciones sin fijar versión, registro de secretos (OWASP CI/CD Top 10) |
| APIFuzzer | API | Rutas sin autenticación, asignación masiva, introspección de GraphQL, endpoints de depuración |
| ManagedAgentScanner | IA/LLM | Mala configuración de Claude Managed Agent: políticas always_allow, redes sin restricciones (ASI-03–ASI-07) |
| HermesSecurityAgent | IA/LLM | Envenenamiento del registro de herramientas, inyección de llamadas a funciones, deriva de permisos de habilidades (ASI-01–ASI-10) |
| AgentAttestationAgent | Cadena de suministro | Versiones de agentes sin fijar, hashes de integridad faltantes, manifiestos sin firmar (ASI-10, SLSA L0) |
| AgenticSupplyChainAgent | Cadena de suministro | Acciones de IA de CI con privilegios excesivos, expansión de alcance de OAuth, receptores de webhooks de IA sin firmar (ASI-02, ASI-06) |
| RobloxSecurityAgent | Cadena de suministro | Activos maliciosos de Roblox/Luau Toolbox (inyección de activos en tiempo de ejecución, cargadores rbxassetid://, HttpEnabled, payloads ocultos en atributos de instancias) |
| ModelScanAgent | Cadena de suministro | Payloads de ejecución de código en pesos de modelos de ML (opcodes de pickle en .pt/.pkl/.ckpt), torch.load sin weights_only, archivos que evaden escáneres (CWE-502, CWE-506) |
| TrustBoundaryAgent | Agentic | Ataques de symlink GhostApproval (enlaces con nombre de configuración hacia ~/.ssh/~/.aws/.env), symlinks de repositorio que escapan del árbol e instrucciones Friendly Fire de ejecución en revisión en documentos legibles por agentes (CWE-59, CWE-61) |
| SlopSquatAgent | Cadena de suministro | Importaciones de paquetes alucinados / fantasma (slopsquatting): imports sin declarar, sin instalar o no integrados, además de nombres conocidos alucinados por IA (CWE-1357) |
| ClickFixAgent | Cadena de suministro | Señuelos ClickFix / CAPTCHA falso de copiar-y-ejecutar (error falso + pulsaciones de teclas Win+R/Ctrl+V/barra de comandos, cradles de PowerShell) y scripts de ciclo de vida npm de instaladores falsos (CWE-1357, CWE-506) |
| InstallGuardAgent | Cadena de suministro | Comportamientos de gusano npm en scripts de ciclo de vida (recolección de credenciales, exfiltración de entorno, rm -rf destructivo, node -e ofuscado) y acciones node-gyp armadas en binding.gyp (CWE-506, CWE-829) |
Post-procesadores: ScoringEngine · VerifierAgent (liveness de secretos) · DeepAnalyzer (análisis de taint con LLM)
El REPL
$ ship-safe
███████╗██╗ ██╗██╗██████╗ ███████╗ █████╗ ███████╗███████╗
...
v9.4.1 · DeepSeek · ~/my-project
/scan para encontrar problemas · /agent para corregirlos · /help para más
shipsafe ›
| Comando | Qué hace |
|---|---|
/scan | Re-escanear el proyecto |
/agent | Ejecutar el bucle de corrección interactivo |
/findings | Listar hallazgos del último escaneo |
/show <n> | Detalle completo del hallazgo n |
/plan <n> | Vista previa del plan de corrección para el hallazgo n (sin escrituras) |
/undo [--all] | Revertir la última corrección (o todas las correcciones) |
/share | Publicar el informe de escaneo como URL pública (7 días) |
/diff | Mostrar el diff del árbol de trabajo de git |
/provider <name> | Cambiar de proveedor LLM a mitad de sesión |
/quit | Salir (también Ctrl-D o Ctrl-C) |
Cualquier cosa que no comience con / se envía al LLM como una pregunta de formato libre, con los resultados de tu último escaneo como contexto.
CI/CD
# .github/workflows/security.yml
name: Security Audit
on: [push, pull_request]
jobs:
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Security gate
run: npx ship-safe ci . --sarif results.sarif
- uses: github/codeql-action/upload-sarif@v3
if: always()
with:
sarif_file: results.sarif
Una versión para GitLab CI está en docs/examples/gitlab-security-workflow.yml.
GitHub Action con hallazgos en línea en PR
Usa la Action desde un flujo de trabajo pull_request cuando quieras hallazgos
críticos y altos adjuntos a las líneas modificadas. Mantén pull_request_target
fuera de esta ruta para contribuciones de forks: Ship Safe rechaza esa
combinación privilegiada porque el checkout puede contener código no confiable.
name: Ship Safe
on:
pull_request:
permissions:
contents: read
pull-requests: write
security-events: write
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: asamassekou10/[email protected]
with:
fail-on: high
inline: true
Los comentarios en línea son opcionales y solo publican hallazgos críticos/altos. Re-ejecutar el trabajo actualiza el resumen sin crear comentarios en línea duplicados.
Soporte de LLM
Funciona con cualquier proveedor: se detecta automáticamente desde las variables de entorno. Usa --provider <name> para anular.
Anthropic · OpenAI · Google · DeepSeek · Kimi K3 / Moonshot · Groq · Together · Mistral · xAI · Perplexity · Ollama · LM Studio · cualquier endpoint compatible con OpenAI
Kimi usa por defecto kimi-k3 a través de MOONSHOT_API_KEY o KIMI_API_KEY. Usa --provider kimi --model kimi-k3 para ejecuciones de GPT-Red y análisis profundo de contexto largo.
Para red teaming de contexto largo específico de Kimi K3:
npx ship-safe red-team . --gpt-red --provider kimi --model kimi-k3 --k3-long-context
Ship Safe también verifica las implementaciones de llamadas a herramientas compatibles con Kimi K3 / OpenAI para carga dinámica de herramientas desde el contexto del prompt, listas de permitidos de herramientas faltantes, llamadas a herramientas forzadas en entradas no confiables y resultados de herramientas reproducidos sin el mensaje original de llamada a herramienta del asistente.
No se requiere clave de API para el escaneo principal. La clasificación con IA y red-team --gpt-red usan tu proveedor configurado cuando está disponible, con respaldo offline determinista para las comprobaciones GPT-Red.
Suprimir falsos positivos
password = get_password() # ship-safe-ignore
Los hallazgos critical siempre se reportan. Un comentario en línea no puede ocultar uno, y
un intento de suprimirlo se registra en el escaneo. El comentario está pensado para que un
humano descarte un falso positivo, y cualquier cosa que pueda escribir una línea de tu
código fuente — incluido un agente de IA — también puede escribir el comentario, por lo que
las severidades más altas no lo honran. Cada supresión se cuenta, de modo que un escaneo que
silenciara hallazgos nunca se lee como uno que no tuvo ninguno.
# .ship-safeignore
tests/fixtures/
docs/
¿Qué tan ruidoso es?
El recall es la mitad fácil de un escáner. Una herramienta que marca todo atrapa todo y es inútil, así que medimos la otra mitad: qué dice Ship Safe sobre código que casi con certeza está bien.
Bajó de 1031 hallazgos en los mismos cuatro proyectos antes de v9.6.3, verificado contra NodeGoat y DVWA para que la caída sea ruido reducido y no detección perdida. El 1 crítico restante es un falso positivo y el benchmark dice cuál y por qué.
Corpus fijado por commit, reproducible con un comando, límites documentados: benchmarks/false-positives/
¿Cómo se compara con Semgrep, Gitleaks, Trivy, CodeQL?
Ejecuta Ship Safe junto a ellos, no en lugar de ellos. CodeQL hace análisis de taint interprocedural que Ship Safe no intenta, Gitleaks es el especialista en secretos y Trivy tiene una base de datos real de CVEs detrás.
Ship Safe cubre una pregunta más acotada: qué le acaba de hacer un agente de codificación de IA a tu repositorio, tu CI y tu configuración local de herramientas. Configuración de clientes MCP, envenenamiento de memoria de agentes, imports de paquetes alucinados y AIBOM son las áreas donde no encontramos reglas públicas equivalentes en los otros cuatro.
Matriz de cobertura completa, verificada contra sus registros públicos, incluido dónde nos superan: docs/comparison.md
Añadir una insignia
[](https://shipsafe.sh)
Qué sigue
10.0 es cobertura de Hermes Agent. Ship Safe ya escanea despliegues de Hermes, pero contra v0.13.0 mientras Hermes está en v0.20.0 — el adaptador ACP, la puerta de enlace TUI, los backends de terminal serverless, los blueprints cron y los manifiestos de plugins se lanzaron en el medio sin cobertura.
Consulta la hoja de ruta para ver qué está planificado y qué deliberadamente no, y el hito 10.0 para trabajo reclamable. Todo en él está abierto a contribuyentes.
Contribuir
Ship Safe es de código abierto, y las mejores contribuciones son mejoras pequeñas y enfocadas que hacen más seguro el desarrollo asistido por IA.
Buenas áreas para empezar:
- Añadir un agente de seguridad enfocado para un riesgo de IA, MCP, CI, nube o cadena de suministro
- Añadir una regla de seguridad precisa a un agente existente
- Añadir fixtures vulnerables y pruebas de regresión
- Escribir ejemplos para escaneos locales, compuertas de CI, flujos de trabajo de red-team y configuración de MCP/agentes
Empieza aquí:
- Buenos primeros issues
- Guía del contribuyente
- Añadir un agente
- Añadir una regla de seguridad
- Manejar variables de entorno de MCP de forma segura
- Usar Ship Safe con Codex
- Usar Ship Safe con Claude Code
- Proceso de lanzamiento
Patrocinadores
Ship Safe tiene licencia MIT y es gratuito para siempre.
Historial de estrellas
Despliega rápido. Despliega seguro. — shipsafe.sh