Hacketix para Claude Code

Mantén seguro lo que lanzas sin quedarte con la duda, y sin gastar tiempo ni tokens en una revisión de seguridad que no entiendes.

Hacketix es un servidor MCP y un plugin de Claude Code. Mientras tu agente construye, revisa cada cambio en busca de problemas de seguridad, demuestra los que puede ejecutando el ataque contra tu código en tu máquina, y comprueba que una corrección bloquee el ataque sin romper aquello para lo que sirve el código. Donde más a fondo llega es en apps de Next.js + Supabase + Stripe.

La comparación final está en curso: Hacketix se está ejecutando frente al /security-review de Claude Code y otras seis herramientas en 32 casos sellados. Las cifras estarán aquí cuando se puntúe esa ejecución, con las salvedades correspondientes.

Revisar Demostrar Corregir con tu aprobación Verificar

Ilustración. Código que se ejecuta en el navegador lee la clave service-role de Supabase. prove_finding reproduce la exposición, la corrección se aplica solo con tu aprobación y verify_fix comprueba que bloquea el ataque sin romper aquello para lo que sirve el código.

01Agentes de código

Instala con tu agente de código

Copia esta instrucción y pégala en Claude Code. Pide al agente que haga lo que indican los pasos de instalación de más abajo y nada más: comprobar los requisitos, clonar hacketix-release, instalar las dependencias y después indicarte cómo reiniciar Claude Code con el plugin. Pregunta antes de cualquier comando con sudo y no cambia ningún código de tu proyecto.

Después del reinicio, pega el prompt del primer uso.

Codex y otros clientes MCP no están probados; para ellos esta página ofrece solo el comando del servidor de la Instalación: codex mcp add hacketix -- node ~/hacketix-release/hacketix/dist/src/index.js

Pegar en Claude Code
Instala el plugin de Hacketix para Claude Code en esta máquina. Haz solo los pasos siguientes y no cambies ningún código de este proyecto.

1. Comprueba que `node --version` indique 22.15 o posterior y que git esté instalado (`git --version`). Si falta alguno o es demasiado antiguo, detente y avísame.
   En Linux, ejecuta también: sudo apt-get install bubblewrap socat ripgrep openssl
   En Ubuntu 24.04 y posteriores, ejecuta también: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
   En Windows, haz todo esto dentro de WSL2. Pregúntame antes de ejecutar cualquier comando con sudo.

2. Ejecuta:
   git clone git@github.com:Robertzu43/hacketix-release.git ~/hacketix-release
   cd ~/hacketix-release/hacketix && npm ci --omit=dev --ignore-scripts
   La clonación usa SSH: mi cuenta de GitHub debe haber aceptado la invitación a hacketix-release y tener una clave SSH. Si la clonación falla, detente y avísame. Si trabajas como root en Linux, clona fuera de /root (por ejemplo, en /opt/hacketix-release) y usa esa ruta en lugar de ~/hacketix-release de aquí en adelante.

3. No puedes cargar el plugin en esta sesión en curso. Dime que salga de Claude Code y que lo inicie de nuevo en el proyecto que Hacketix debe revisar, con:
   claude --plugin-dir ~/hacketix-release/hacketix
   y que después escriba /mcp y compruebe que aparece un servidor hacketix como conectado (Claude Code puede mostrar el nombre con un prefijo de plugin).

4. No cambies ningún código de este proyecto.

02El plugin

Qué hace y qué no hace

  • Pruebas

    Doce clases con prueba

    Doce clases tienen una prueba: RLS y vistas definer de Supabase, claves enviadas al navegador, secretos incluidos en commits, webhooks de Stripe, escrituras sin autenticación, lecturas IDOR, path traversal, precios del lado del cliente, verificación TLS desactivada, JWT sin expiración, SSRF.

  • Privacidad

    Qué envía cuando inicias sesión

    Con la sesión iniciada, Hacketix envía un pequeño registro de uso por cada llamada a una herramienta: qué herramienta se ejecutó, cuándo, cuánto tardó, si funcionó, qué clases de vulnerabilidad encontró y cómo resultaron las pruebas y las correcciones, bajo un id aleatorio para tu máquina y para cada repositorio. Nunca envía código, rutas de archivos, nombres de tu proyecto, el texto de los hallazgos ni valores secretos. Los registros se eliminan después de 13 meses. La lista completa está en el documento de privacidad.

  • Plataformas

    Dónde funciona

    Linux: todo. macOS: todo excepto las ocho clases cuya prueba ejecuta código de rutas en el sandbox del sistema operativo; esas vuelven como incomplete, nunca como "seguro". Windows: usa WSL2. Node.js 22.15 o posterior.

03Cuenta

Ingresar

Sesión iniciada como .

Tu token de cuenta

Ingresa para obtener un token.

Crea un token por máquina. Se muestra una sola vez; si lo pierdes, crea otro.

Tu token

Guárdalo donde Hacketix lo lee. macOS:

Terminal

Linux y WSL2:

Terminal

Sin este archivo, Hacketix funciona igual y no envía nada.

04A mano

Instalación

O deja que tu agente de código ejecute estos pasos: copia la instrucción.

  1. Necesitas Node.js 22.15 o posterior (node --version) y git. En Linux, además, sudo apt-get install bubblewrap socat ripgrep openssl; en Ubuntu 24.04 y posteriores, sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0. En Windows, haz todo esto dentro de WSL2.
  2. Acepta la invitación de GitHub a hacketix-release. La clonación usa SSH, así que tu cuenta de GitHub necesita una clave SSH. ¿Trabajas como root en Linux? Clona fuera de /root (por ejemplo, en /opt/hacketix-release) y usa esa ruta más abajo. Después:
    Terminal
    git clone git@github.com:Robertzu43/hacketix-release.git ~/hacketix-release
    cd ~/hacketix-release/hacketix && npm ci --omit=dev --ignore-scripts
  3. Opcional: crea un token arriba y ejecuta en esta máquina el comando que lo acompaña.
  4. Claude Code es el único cliente con el que se ha probado Hacketix. Inícialo en el proyecto que Hacketix debe revisar:
    Terminal
    cd /path/to/your-app
    claude --plugin-dir ~/hacketix-release/hacketix
    Escribe /mcp: aparece un servidor hacketix como conectado (Claude Code puede mostrar el nombre con un prefijo de plugin). En un repositorio con un package.json o una carpeta supabase/, la sesión se abre con Hacketix indicando que todavía no tiene una línea base para este repositorio.
  5. Codex y otros clientes MCP no están probados. Hacketix es un servidor MCP sobre stdio, así que un cliente que pueda iniciar node ~/hacketix-release/hacketix/dist/src/index.js podría cargarlo. Los hooks y la skill pertenecen al plugin de Claude Code, y los adaptadores para Cursor, Codex y Gemini CLI están en la hoja de ruta, no construidos. Para probar Codex de todos modos, registra ese mismo comando (sin probar) y luego inicia Codex en tu proyecto:
    Terminal
    codex mcp add hacketix -- node ~/hacketix-release/hacketix/dist/src/index.js
    cd /path/to/your-app && codex
    Sin los hooks ni la skill, el prompt para Codex que se pega más abajo repite lo esencial de las propias instrucciones del servidor.
  6. Actualizaciones: git -C ~/hacketix-release pull && (cd ~/hacketix-release/hacketix && npm ci --omit=dev --ignore-scripts).

05Primer uso

Primer uso: pega esto

Claude Code (el plugin ya indica al agente cómo trabajar; esto hace visible el primer uso):

Prompt
Usa Hacketix en este repositorio: llama a diagnose_repository, muéstrame el informe exactamente como llegue y después dime qué elementos son must fix, cuáles son solo sospechas y qué corregirías primero. No cambies ningún código todavía.

Codex u otro cliente (no probado; allí no se cargan los hooks ni la skill del plugin, así que esto repite lo esencial de las propias instrucciones del servidor):

Prompt
Este proyecto tiene el servidor MCP hacketix. Antes que nada, llama a la herramienta diagnose_repository de ese servidor sobre la raíz de este repositorio y muéstrame el informe exactamente como llegue. Después de cada cambio que hagas, llama a review_change sobre el repositorio. De ahora en adelante, cuando Hacketix informe de un hallazgo: demuéstralo con prove_finding antes de llamarlo vulnerabilidad; nunca llames seguro a lo que tenga una prueba incomplete o not_reproduced; para un hallazgo cuya prueba sea reproduced, o uno de confianza media cuya prueba sea incomplete (presentado como no demostrado), propón la corrección más pequeña con propose_fix, compruébala con verify_fix, muéstrame el parche y aplícalo solo después de que yo lo apruebe; de todo lo demás, informa y no cambies nada; registra cada resultado con record_decision. No cambies ningún código todavía.

Lo que deberías ver: un informe que ordena lo que encontró (must fix, should fix, needs validation), después lo que no se clasificó y lo que se comprobó, sin ningún archivo modificado. En macOS, las ocho clases cuya prueba ejecuta código de rutas no pueden ejecutarla (Hacketix informa allí que el sandbox del sistema operativo no está disponible), así que vuelven como incomplete, o como not_applicable cuando la lectura del código basta para decidirlo; es lo esperado, no un error.