Shannon: un pentester autónomo que exige pruebas de explotación
KeygraphHQ/shannon · 48.369★ · 5.541 forks
Todo lo que hay que saber sobre KeygraphHQ/shannon: un agente de línea de comandos para comprobar vulnerabilidades de aplicaciones web y API con análisis de código y explotación real en entornos autorizados.
Qué es Shannon
Shannon Open Source es el pentester autónomo de Keygraph para aplicaciones web y sus API. Se ejecuta localmente, recibe la URL y el repositorio del objetivo, analiza el código fuente para construir rutas de ataque y prueba esas hipótesis sobre la aplicación en ejecución. El informe final solo incluye hallazgos para los que el agente obtuvo una prueba de concepto funcional; no pretende sustituir una revisión humana.
El repositorio cubre principalmente inyección, XSS, SSRF, autenticación rota y autorización rota. La edición comercial de Keygraph usa a Shannon como motor de pruebas dentro de una plataforma más amplia, que añade análisis estático, SCA con alcance, gestión de hallazgos, corrección y verificación; esas capacidades adicionales no se deben atribuir a la CLI de código abierto.
El origen: cerrar el intervalo entre lanzamientos y pruebas
GitHub fecha la creación del repositorio el 27 de septiembre de 2025. Keygraph se identifica en el README y en su sitio como la empresa detrás de Shannon; no se recuperó una entrada oficial que identificara nominalmente a las personas creadoras, por lo que no se les atribuye autoría individual.
La justificación oficial es una tensión de cadencia: los equipos pueden publicar código continuamente con asistentes de programación, mientras que un pentest convencional ocurre con mucha menos frecuencia. Shannon intenta ofrecer una comprobación bajo demanda, incluso en cada compilación o lanzamiento, en lugar de esperar una auditoría anual. La página oficial lo presenta como pentester de caja blanca: necesita el código y una aplicación en funcionamiento.

La cuenta oficial @KeygraphHQ publicó en X el 7 de febrero de 2026 el anuncio de acceso temprano a Shannon Pro, la versión de plataforma. El 31 de julio anunció Shannon 2.0 y afirmó que el motor se había reconstruido para usar cualquier modelo principal con un arnés de código abierto. Son comunicaciones del proveedor, no reseñas independientes.
Filosofía y principios
- Prueba antes que hipótesis: el flujo intenta explotar la vulnerabilidad antes de incluirla en el informe.
- Caja blanca guiada por código: el análisis del repositorio sirve para orientar el reconocimiento y los ataques dinámicos, no para producir una lista estática de alertas.
- Automatización con límites operativos: las reglas de enfrentamiento, las rutas que se evitan y las áreas prioritarias se declaran en configuración.
- Seguridad de pruebas, no seguridad pasiva: el propio proyecto advierte que los agentes pueden crear usuarios, modificar datos, enviar solicitudes salientes y dejar artefactos de explotación. Exige autorización escrita y recomienda entornos locales, de ensayo o desechables; no producción.
- Juicio humano al final: aunque se valida por explotación, el README reconoce que los detalles generados por un modelo pueden ser débiles o incorrectos.

Cómo funciona
El flujo multiagente tiene cinco fases documentadas:
- Prerreconocimiento: examina el código para identificar tecnologías, puntos de entrada, flujos de datos y superficies de ataque.
- Reconocimiento: explora la aplicación viva y correlaciona su comportamiento con el contexto del código.
- Análisis especializado: ejecuta agentes para inyección, XSS, SSRF, autenticación y autorización.
- Explotación: intenta pruebas de concepto reales y descarta las hipótesis que no puede demostrar.
- Informe: reúne evidencias y recomendaciones en un Markdown final.

El repositorio se monta de solo lectura dentro de un contenedor Docker efímero. En el modo recomendado, la CLI descarga la imagen de trabajo, arranca la infraestructura local y escribe el estado en un espacio de trabajo. Puede reanudar un análisis interrumpido porque conserva puntos de control por agente.

Estado oficial y semioficial
Shannon no es un complemento aceptado en un mercado de un proveedor de modelos ni un estándar formal. Su estado oficial verificable es distinto: Keygraph mantiene el repositorio, la CLI, la documentación, Discord y las horas comunitarias, y comercializa una plataforma que usa una versión mejorada de Shannon como motor de pentest.
En la práctica, el repositorio es la edición abierta y autogestionada del producto de Keygraph, bajo AGPL-3.0. Esa relación es oficial, pero no equivale a una certificación de Anthropic, OpenAI, xAI, AWS ni GitHub. El README indica compatibilidad de credenciales con Anthropic, OpenAI, xAI y AWS Bedrock; también advierte que el soporte oficial del proyecto se concentra en modelos Claude y que alternativas pueden ser incompletas o inestables.
El ecosistema
Repositorios del proveedor
La consulta de la organización en GitHub recuperó los siguientes repositorios públicos relacionados:
KeygraphHQ/xbow-validation-benchmarks: 37 estrellas y 8 bifurcaciones. Por el nombre y su pertenencia a la organización, es material de validación asociado al referente XBOW; no se infiere una integración adicional sin documentación recuperada.KeygraphHQ/validation-benchmarks: 2 estrellas y 1 bifurcación; no tenía descripción en la API consultada.KeygraphHQ/juice-shop: 12 estrellas y 4 bifurcaciones, una bifurcación de OWASP Juice Shop que el README usa como objetivo de informes de ejemplo.KeygraphHQ/hipaa-baa-tax: 6 estrellas y 2 bifurcaciones; su descripción es «HIPAA (BAA) Tax», sin vínculo técnico explícito con Shannon recuperado.
La plataforma Keygraph es el acompañante comercial principal, no otro repositorio: añade pentest continuo, análisis de código, gestión y ciclo de corrección alrededor del motor abierto.
Bifurcaciones y extensiones comunitarias
La API de bifurcaciones muestra mucha reutilización, pero la mayoría conserva la descripción original y no demuestra ser un puerto. Las derivaciones con posicionamiento propio recuperadas fueron:
Steake/shannon-uncontained: 58 estrellas y 8 bifurcaciones. Se describe como una bifurcación sin Docker, primero de caja negra, con reconocimiento, análisis y síntesis agentivos; es una variante explícita, no un espejo.baianquanzu/shannon: 19 estrellas y 3 bifurcaciones. Se presenta como «Shannon Lite»; la API no aportó una documentación independiente que permitiera precisar sus diferencias.ClaraOswald076/shannon-with-deepseek: 3 estrellas y 1 bifurcación. Declara compatibilidad con la API de DeepSeek.DoroninDobroCorp/shannon_copilot: 2 estrellas. Declara un uso con Copilot sin clave de API; se registra como afirmación de la bifurcación, no como compatibilidad avalada por Keygraph.
No se recuperó una traducción no inglesa con documentación verificable ni un puerto comunitario con soporte oficial. Las cifras anteriores son las devueltas por GitHub el 6 de agosto de 2026; no certifican calidad, seguridad ni mantenimiento.
Números del repo
Medición: 6 de agosto de 2026, API de GitHub.
| Métrica | Valor |
|---|---|
| Estrellas | 46.469 |
| Bifurcaciones | 5.364 |
| Suscriptores reales | 223 |
| Commits | 272 |
| Incidencias abiertas indicadas por la API | 33 |
| Lenguaje principal | TypeScript |
| Licencia | AGPL-3.0 |
| Creación | 27 de septiembre de 2025 |
| Última publicación | v2.2.0, 4 de agosto de 2026 |
El total de 272 commits procede de la última página indicada por la cabecera de paginación de la API. Los contribuidores principales devueltos fueron ajmallesh (123 contribuciones), ezl-keygraph (75), keygraphVarun (35) y george-keygraph (26).
GitHub devuelve también watchers_count igual a las estrellas; por eso se informa por separado subscribers_count como suscriptores reales. El campo open_issues_count puede incluir solicitudes de cambios abiertas, así que no equivale necesariamente a incidencias exclusivas. La API indicó updated_at el 6 de agosto de 2026, coherente con la fecha de medición; la última actualización de código disponible en esa respuesta fue el 4 de agosto.
La publicación v2.2.0 corrige el registro de severidad en modo de análisis y sustituciones de instrucciones. La v2.1.0 añadió compatibilidad con varios proveedores, salida SARIF y correcciones del modo de explotación. La v2.0.0 migró el arnés del agente desde Claude Agent SDK a pi y retiró Vertex AI como proveedor; las personas usuarias de Vertex deben migrar, según las notas, a Anthropic, AWS Bedrock o una URL compatible con Anthropic.
Cómo contribuir
El README declara expresamente que Keygraph no acepta contribuciones externas de código por ahora. Sí invita a abrir incidencias para errores y discusiones para solicitudes de funciones. Por tanto, no hay un flujo documentado de bifurcación, ramas y solicitudes de cambios que presentar como vía oficial de contribución.
Para desarrollo local, la guía sí documenta git clone, pnpm install y pnpm build, además de la reconstrucción de la imagen con ./shannon build --no-cache. Eso habilita pruebas y modificaciones locales, pero no garantiza que el proveedor las incorpore.
Guía rápida de uso
Instalación y primer arranque
Use Docker, Node.js 18 o superior y credenciales de un proveedor de IA. Antes del primer análisis, el README exige resolver con el proveedor las salvaguardas aplicables a trabajo legítimo de ciberseguridad. Solo pruebe sistemas propios o con autorización escrita y no use producción.
npx @keygraph/shannon setup
npx @keygraph/shannon start -u https://your-app.com -r /path/to/your-repo

El asistente de setup guarda la configuración de npx y el primer análisis descarga el trabajador Docker, monta el repositorio en modo de solo lectura y crea un espacio de trabajo local. Un análisis completo suele tardar aproximadamente entre una y una hora y media, con coste de API dependiente del modelo, la aplicación y la concurrencia.
Para compilar desde el código fuente:
git clone https://github.com/KeygraphHQ/shannon.git
cd shannon
cp .env.example .env
pnpm install
pnpm build
./shannon start -u https://your-app.com -r /path/to/your-repo
Flujos de trabajo habituales
- Análisis básico autorizado:
npx @keygraph/shannon start -u https://example.com -r /path/to/repocrea un espacio de trabajo y dejaSecurity-Assessment-Report.mden su raíz. - Aplicación con inicio de sesión o límites explícitos: copie
configs/example-config.yamla./my-app-config.yaml, describa autenticación y reglas, y ejecutenpx @keygraph/shannon start -u https://example.com -r /path/to/repo -c ./my-app-config.yaml. - Conservar una ejecución identificable y reanudarla: use
-w q1-audit; para reanudar, repita URL, repositorio y el mismo nombre:npx @keygraph/shannon start -u https://example.com -r /path/to/repo -w q1-audit. - Monitorizar y exportar:
npx @keygraph/shannon logs <workspace>,npx @keygraph/shannon statusynpx @keygraph/shannon start -u https://example.com -r /path/to/repo -o ./my-reports. La interfaz de Temporal queda enhttp://localhost:8233según la guía.
Configuración esencial
~/.shannon/config.toml: credenciales y opciones creadas pornpx @keygraph/shannon setup; las variables de entorno tienen prioridad..env: alternativa de credenciales para una compilación desde el código; como mínimo puede contenerANTHROPIC_API_KEY.my-app-config.yaml: archivo por objetivo paraauthentication, pasos delogin_flow,rules, clases de vulnerabilidad y filtros del informe.report.sarif: salida opcional activada conexploit: "true"yreport: { sarif: "true" }; aparece junto al informe Markdown y sirve para consumidores SARIF, incluido el análisis de código de GitHub.~/.shannon/workspaces/en modonpxo./workspaces/en compilación desde fuentes: directorios de estado, informes, registros, instrucciones renderizadas ysession.json.

Trampas frecuentes y soluciones
- Coste inesperado: la discusión #72 recoge que
olsenbudanurgastó 30 dólares solo en prerreconocimiento, aunque señaló que encontró errores que quería corregir. La discusión #74 muestra quecarterjohndixonagotó 20 dólares en unas dos horas. Son experiencias individuales, no una tarifa garantizada; el remedio documentado es presupuestar un entorno de ensayo y escoger el proveedor y modelo conscientemente. - Ejecución interrumpida: no cambie la URL al reanudar; Shannon rechaza una URL distinta para evitar mezclar objetivos. Use el mismo
-w <nombre>y consultenpx @keygraph/shannon workspaces. - Informe aparentemente ausente: el informe final se encuentra en la raíz del espacio de trabajo como
Security-Assessment-Report.md; los registros, entregables intermedios ysession.jsonestán dentro de.shannon/. - El modelo se niega durante una explotación: la solicitud de cambios #387 documenta que una negativa de política de contenido podía abortar una ejecución completa y omitir el informe. Esa solicitud fue cerrada y describe una corrección para preservar análisis y continuar con otras canalizaciones, pero conviene revisar versión y registros antes de repetir el análisis.
- OAuth de Claude Code tras la versión 2: el README identifica
shannon-v1ynpx @keygraph/shannoncomo la vía histórica para token OAuth; v2 cambió de arnés. No use variables de Vertex AI retiradas por@1.9.0 setup v2.0.0.
Integraciones y migración
La salida SARIF permite cargar resultados en GitHub Code Scanning u otro consumidor SARIF. Para redes y aplicaciones locales, la documentación de plataformas cubre Docker, Windows/WSL2, Linux, macOS y hostnames personalizados; el repositorio no presenta una integración de editor como requisito.
La migración explícitamente documentada es de v2 para quienes usaban Google Vertex AI: pasar a Anthropic, AWS Bedrock o un extremo compatible con Anthropic. Para ejecutar sobre una suscripción Claude Code en lugar de créditos de API, el README remite a la rama shannon-v1, el token creado con claude setup-token y la versión 1.9.0; es una ruta heredada, no una promesa de compatibilidad de v2.
Cómo lo recibió la comunidad
La recepción externa recuperada en Hacker News fue breve y de baja participación, por lo que no acredita un consenso:
- Hilo 46915303, enviado por
charlieirishel 6 de febrero de 2026: 4 puntos y 0 comentarios. Enlaza directamente al repositorio; acredita difusión, no una opinión externa. - Hilo 46926419, enviado por
hendlerel 7 de febrero: 3 puntos y 2 comentarios. Su título comparaba la idea con Claude Code aplicado a pentesting; la búsqueda no recuperó texto de comentario suficientemente específico para atribuir elogios o críticas. - Hilo 46936352, enviado por
koqoo: 3 puntos y 0 comentarios. Es un enlace directo y no una reseña. - Hilo 46944416, enviado por
wslh: 1 punto y 0 comentarios. También acredita descubrimiento, no recepción cualitativa.
GitHub aporta señales más concretas y mixtas. En la discusión #72, olsenbudanur valoró que el análisis detectara algunos errores pendientes, pero objetó el coste. En #74, carterjohndixon pidió una advertencia más clara de gasto y reanudación tras consumir crédito. En la discusión #78, PopoviciGabriel elogió el propósito claro, la separación entre configuración, instrucciones y lógica, y la documentación, mientras propuso mejores límites arquitectónicos y pruebas de error. Son opiniones de usuarios identificados en GitHub, no evaluaciones controladas.
Se intentaron búsquedas en Reddit, Product Hunt y YouTube. Reddit no devolvió resultados de búsqueda atribuibles al proyecto en el acceso disponible; Product Hunt devolvió un bloqueo de acceso; y la consulta de YouTube no produjo metadatos verificables de tutoriales o demostraciones. Por ello no se inventan hilos, votos ni recuentos de visualizaciones.
Shannon frente a otras propuestas
| Propuesta | Coincidencia verificable | Diferencia verificable |
|---|---|---|
| OWASP Juice Shop | Aplicación web usada para comprobar hallazgos de seguridad. | Es un objetivo deliberadamente vulnerable, no un pentester ni un competidor. |
| Keygraph platform | Usa una versión mejorada de Shannon para pruebas de penetración. | Añade ejecución continua, análisis estático, SCA, gestión, corrección y despliegue empresarial; Shannon Open Source es una CLI local de caja blanca. |
Steake/shannon-uncontained | Bifurcación que conserva la finalidad de pentest con IA. | Declara ejecución sin Docker y prioridad de caja negra; no es la distribución oficial. |
No se presentan productos adicionales como competidores directos sin una fuente recuperada que establezca una comparación técnica. La alternativa práctica dentro de la propia documentación es usar la plataforma Keygraph cuando se necesiten gestión continua, integración empresarial y un ciclo de corrección, frente a ejecutar la CLI para un pentest local bajo demanda.
Casos de uso y a quién puede ayudar este repositorio
- Equipos de desarrollo con una aplicación de ensayo y acceso al código pueden encargar un pentest de caja blanca antes de una entrega: Shannon une repositorio, URL y explotación para producir pruebas reproducibles de inyección, XSS, SSRF, autenticación o autorización.

- Responsables de seguridad que necesitan limitar una auditoría automatizada pueden usar
rules_of_engagement, rutas a evitar, áreas de foco, credenciales de prueba y filtros de severidad o confianza en el YAML, en lugar de lanzar un análisis sin alcance declarado. - Equipos que integran resultados de seguridad en revisión de código pueden habilitar SARIF en análisis con explotación y consumir
report.sarifen GitHub Code Scanning u otra herramienta compatible; el informe Markdown queda como entrega legible. - Operadores que realizan exploraciones costosas o largas pueden nombrar espacios de trabajo, seguir registros y reanudar sin repetir agentes ya completados, siempre para la misma URL. Deben presupuestar el coste de modelos, aislar datos y revisar cada hallazgo antes de actuar.
Recursos
- Repositorio: https://github.com/KeygraphHQ/shannon
- Documentación e instalación: https://github.com/KeygraphHQ/shannon#quick-start
- Configuración: https://github.com/KeygraphHQ/shannon/blob/main/docs/configuration.md
- Seguridad y límites: https://github.com/KeygraphHQ/shannon/blob/main/docs/safety.md
- Espacios de trabajo y reanudación: https://github.com/KeygraphHQ/shannon/blob/main/docs/workspaces.md
- Plataforma y presentación oficial: https://keygraph.io/open-source.html
- Discord y horas comunitarias: https://discord.gg/cmctpMBXwE, https://cal.com/george-flores-keygraph/shannon-community-office-hours
- Anuncios oficiales en X: https://x.com/KeygraphHQ
- Hilos de Hacker News: https://news.ycombinator.com/item?id=46915303, https://news.ycombinator.com/item?id=46926419, https://news.ycombinator.com/item?id=46936352, https://news.ycombinator.com/item?id=46944416
- Conversaciones de GitHub: https://github.com/KeygraphHQ/shannon/discussions/72, https://github.com/KeygraphHQ/shannon/discussions/74, https://github.com/KeygraphHQ/shannon/discussions/78
- Registro npm: https://www.npmjs.com/package/@keygraph/shannon
Nota: este artículo combina el README, la documentación, las publicaciones, las discusiones y la API de GitHub de Shannon, además de las consultas accesibles de Hacker News y X, realizadas el 6 de agosto de 2026. Las cifras cambian con el tiempo.
Comentarios