shipcheck-mcp
Descubre qué filtra tu app creada con IA — antes de que la publiques.
Funciona con Claude Code, OpenCode, Cursor o cualquier agente compatible con MCP: es un servidor estándar de Model Context Protocol, no una herramienta exclusiva de Claude.
Los agentes de codificación con IA publican alegremente apps que filtran claves de API, incorporan paquetes con licencia GPL, dejan rutas de administración abiertas a internet, recopilan correos electrónicos sin política de privacidad o tocan números de tarjeta en bruto, porque «¿funciona?» y «¿es seguro publicar esto?» son preguntas distintas, y tu agente solo responde a la primera.
ShipCheck responde a la segunda. Ejecuta cinco comprobaciones rápidas y deterministas sobre tu proyecto y explica cada hallazgo en palabras sencillas: qué está mal, por qué es importante para ti y exactamente cómo solucionarlo. No se necesitan conocimientos de seguridad.
Honesto por diseño: ShipCheck señala patrones de riesgo. No es una revisión legal ni una garantía. Un escaneo limpio significa que nada coincidió con estas comprobaciones específicas — nada más. Consulta PRD.md §2 para los no-objetivos completos.
Dos herramientas, dos momentos
Herramienta | Cuándo | Qué escanea |
| Antes de cada commit — mientras tu agente construye | Solo los cambios sin confirmar (o una rama completa mediante |
| Antes del lanzamiento — tiendas de apps, salida a producción, inversores | Todo el repositorio, incluido el historial de git para secretos eliminados pero nunca rotados. |
La skill incluida enseña a tu agente el hábito: scan_diff antes de los commits, scan_repo antes del lanzamiento.
Related MCP server: agentguard
Funciona con tu stack
Comprobación | Cobertura |
🔑 Secretos expuestos | Cualquier lenguaje: más de 15 formatos de claves (Stripe, OpenAI, Anthropic, OpenRouter, Supabase service-role, AWS, GitHub, Google, Slack, SendGrid, Resend, claves privadas, URLs de BD), archivos |
⚖️ Licencias copyleft | npm · PyPI · pub.dev · crates.io · RubyGems · Composer |
🚪 Rutas desbloqueadas | Express · FastAPI · Flask · Next.js (App + Pages Router) · gin/echo/fiber-style Go · Laravel · Spring Boot |
🕵️ PII sin política de privacidad | Google Analytics, PostHog, Meta Pixel, Hotjar, Clarity, Amplitude, Mixpanel, Segment, Firebase, formularios de registro/autenticación, campos de teléfono |
💳 Manejo de datos de tarjetas | Campos de tarjeta/CVV en bruto en JS/TS/Dart/Python/HTML frente a SDK de procesadores (Stripe Elements y similares) |
Cada resumen te indica qué stacks detectó (project_types) y te advierte honestamente cuando un stack detectado no está completamente cubierto (coverage_caveat) en lugar de dar a entender que todo está bien.
Aspecto de un hallazgo
[crítico] lib/firebase_options.dart — Posible clave de API de Google encontrada en código que se ejecuta en los dispositivos de los usuarios.
Por qué es importante: Esta clave viaja dentro de tu app hasta el teléfono o navegador de cada usuario. Cualquiera puede copiarla y usarla como si fuera tú: gastando tu dinero o leyendo tus datos.
La solución: Mueve la clave a un archivo de secretos separado que nunca forme parte del proyecto, cárgalo al iniciar y luego obtén una clave nueva desde el panel del proveedor: trata esta como robada.
Inicio en 30 segundos
# In Claude Code:
/plugin marketplace add noureldeensalama/shipcheck
/plugin install shipcheck
# Then just talk to your agent:«ejecuta shipcheck antes de que haga commit» · «¿está esto listo para lanzarse?» · «escanea este repositorio»
Headless / CI:
claude --plugin-dir /path/to/shipcheck -p "Run shipcheck scan_repo on . and summarize findings"Servidor MCP independiente (Cursor, OpenCode, cualquier otra cosa)
git clone https://github.com/noureldeensalama/shipcheck.git
cd shipcheck && npm install && npm run build{
"mcpServers": {
"shipcheck": { "command": "node", "args": ["/absolute/path/to/shipcheck/dist/index.js"] }
}
}O una vez publicado: npx shipcheck-mcp
Diseñado para ser confiable
Determinista: solo regex + metadatos de dependencias. Un LLM explica los hallazgos posteriormente; nunca decide si un hallazgo existe (PRD.md §4).
Discreto por diseño: las claves idénticas se deduplican en un solo hallazgo con todas las ubicaciones; la salida está ordenada por severidad, es compacta (~1k tokens en un repositorio de 100k LOC), limitada a 100 hallazgos con una marca de truncamiento explícita; los árboles de dependencias (
node_modules,.venv,build…) nunca se escanean; los valores de marcador de posición (mock…, dummies de CI) y las configuraciones públicas por diseño (google-services.json,firebase_options.dart) no dan falsas alarmas.Probado en código real: usado internamente en cinco repositorios de producción: detectó una clave Supabase service-role activa en 13 archivos y tres endpoints de depuración sin autenticación, luego verificó que las correcciones se aplicaron y señaló una segunda clave que solo sobrevivió en el historial de git. Registro completo de verdaderos/falsos positivos: DOGFOOD_RESULTS.md.
Compatibilidad
Node.js | 20+ (matriz de CI: 20 y 22) |
SO | macOS · Linux · Windows (análisis de archivos tolerante a BOM, seguro con rutas) |
Agentes | Cualquier cosa que hable MCP sobre stdio |
Tipos de proyecto | Los secretos/licencias cubren todos los stacks; cobertura de rutas según la tabla anterior |
Pruébalo tú mismo
npm test # 53 unit tests
npm run e2e # 21 real-MCP-protocol checks
npm run verify-fixture # acceptance gate over deliberately-vulnerable fixtures
npm run dogfood -- /path/to/any/repo # scan any repo from the CLIContribuciones
Las issues y los PRs son bienvenidos: consulta CONTRIBUTING.md. Las nuevas categorías de detectores necesitan tanto un fixture que se active ante el riesgo como una prueba de regresión que no se dispare en exceso; los informes de falsos positivos con muestras de código real son especialmente valiosos. Los resultados de repositorios reales están en DOGFOOD_RESULTS.md.
Licencia
MIT — consulta LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceAgent-native "safe to ship?" security gate for AI-generated code. Uses real parsers and inter-rocedural taint analysis (JS/TS, Python, Go) to flag the classes AI coding agents get wrong — secrets, SQL injection, SS, SSRF, path traversal, command injection, weak JWT/CORS — and ranks findings by confidence. Exposes a scan tool over MCP.162MIT
- AlicenseNot gradedqualityAmaintenanceEnables scanning of AI agent code for security vulnerabilities such as prompt injection, tool abuse, and data exfiltration, directly from MCP-compatible clients like Claude Code.1LGPL 3.0
- AlicenseCqualityBmaintenanceSecurity scanner and MCP server that catches dangerous patterns in MCP servers and AI agent projects, such as leaked secrets, shell execution, and prompt-injection text. Runs as both a CLI and MCP server with CI-friendly severity gates.21MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI coding tools to scan projects for security vulnerabilities, hardcoded secrets, injection flaws, and privacy violations with 699 rules and 76 MCP tools, all running locally with zero telemetry.526MIT
Related MCP Connectors
Zero-config MCP security scanner for AI-generated apps. 25K+ vulnerability patterns.
Zero-install security baseline for AI coding agents — OWASP/CWE-cited rules over MCP.
Security firewall for AI agents — scans MCP calls for injection, secrets, and risks.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/noureldeensalama/shipcheck'
If you have feedback or need assistance with the MCP directory API, please join our Discord server