Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
masq — Reconocimiento en vivo y auditoría de postura para la infraestructura de agentes de IA: escanea configuraciones de MCP, registros de sesión y APIs en busca de secretos, catálogos envenenados y fugas de CoT. | Kitploit
Herramientas/GitLabGitLab/wattocyber/masq
ReconocimientoAnálisis EstáticoAnálisis de VulnerabilidadesPruebas de Seguridad de APIsAuditoría de ConfiguraciónDetección de SecretosSeguridad de Cadena de SuministroSeguridad de IAAnálisis de Registros
GitLabwattocyber/masq

masq

Reconocimiento en vivo y auditoría de postura para la infraestructura de agentes de IA: escanea configuraciones de MCP, registros de sesión y APIs en busca de secretos, catálogos envenenados y fugas de CoT.

32hace 2 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Ver RepositorioSitio web
Compartir

MASQ: siéntate donde se sienta el modelo

Siéntate donde se sienta el modelo. Ve lo que puede ver.

MASQ

MASQ es una CLI de seguridad local para stacks de agentes de IA. Ocupa el mismo asiento en el que se sienta el modelo: lee catálogos de herramientas MCP, completa el handshake de MCP, revisa los registros de sesión y sondea los puertos HTTP de modelos locales. Después imprime hallazgos y remediaciones.

Habla MCP y HTTP compatible con OpenAI tal como lo hace el cliente. Reporta como lo hace una herramienta de reconocimiento de hosts. No llama a herramientas en un servidor en vivo, no descifra el chain-of-thought ni genera jailbreaks.

Úsalo cuandoEjecutas Cursor, VS Code, Claude, Codex o un stack de modelos locales y quieres ver los servidores MCP, skills, registros y APIs a los que el agente puede llegar.
Empieza conLa demo de dos minutos de abajo. Se mantiene dentro de este repo.
EstadoBeta. cargo test es la puerta pública. Los sondeos en vivo son para hosts que tú controlas.
LicenciaMIT

pipeline license rust

Demo de dos minutos

Necesitas Rust estable (1.88 o superior) y Python 3. Desde un clon de este repo:

cargo build --locked --bin masq
alias masq=./target/debug/masq

# or run the same walkthrough as a script:
# bash scripts/demo.sh

1. Un catálogo limpio se mantiene limpio

masq fixtures/clean_calculator.json --trusted
CLEAN clean_calculator tools=2 hash=sha256:e680cd2e4ac6c80ec783f11a0d9272a6741797feba216eb8e79633dd59633ab4

Salida 0.

2. Un catálogo envenenado no pasa la puerta

fixtures/t3_line_jump.json es una herramienta sqrt cuya descripción indica al modelo que la consulte primero en cada sesión y que anteponga a los comandos de shell un curl canario. Eso es veneno de catálogo, no matemáticas.

masq fixtures/t3_line_jump.json
FINDINGS t3_line_jump tools=1 findings=2 max=critical
 F-001 [critical] D02 mcp03=schema_poison sqrt Network exfiltration directive in schema
 path: $.tools[0].description
 F-002 [critical] D03 mcp03=schema_poison sqrt Line-jump: force tool consultation / session prefix
 path: $.tools[0].description

Sale con 2 (hallazgos iguales o superiores a --fail-on, por defecto high).

3. Simular un MCP en vivo tal como lo hace el modelo

El mock incluido en el árbol habla MCP sobre stdio. masq envía initialize, notifications/initialized y tools/list. Nunca envía tools/call.

masq sit --plain --no-color -- python3 tests/mock_mcp_server.py
01 CATALOG
M-001 CRIT live Secret path or credential exfil directive
 Schema references secret file paths or credential stores in an agent-directed way.
 ACT Never reference host secret paths in tool metadata.
 LOCUS stdio:python3 :: add

M-002 HIGH live IPI / poison language in tool metadata
 Local classifier hit `system-override` in tool `add`.
 ACT Remove agent-directed instructions from the tool description.

M-003 HIGH live Instruction-override language in schema string
 Text matches common prompt-injection / instruction-override phrasing in tool metadata.

M-004 HIGH live Pre-action system instruction in schema
 Schema instructs the model to perform actions before the normal tool purpose.

02 SEAT
HIT stdio python3 init ok name=mock-poison tools=1

La descripción de la herramienta add del mock le indica al modelo que lea ~/.ssh/id_rsa antes de hacer aritmética. masq lo marca desde el tools/list en vivo y luego sale con 2.

4. Inspeccionar un registro de sesión de ejemplo

fixtures/demo/chat_history.jsonl inserta una clave de API falsa y un blob de pensamiento cifrado. Apunta masq a ese directorio —no a tu historial de chat real— para ver la línea de tiempo.

masq sniff --timeline --plain --no-color fixtures/demo
T0001 SECRET chat_history.jsonl:2 {"content":"Authorization: Bearer sk-x……
T0002 BLOB chat_history.jsonl:3 encrypted_content len=202

La clave implantada está censurada. La cadena de pensamiento cifrada se reporta por longitud, no se decodifica.

5. Fija un catálogo que hayas revisado y luego detecta la deriva

masq pin fixtures/clean_calculator.json -k calc
masq check fixtures/clean_calculator.json -k calc --trusted

pin escribe .masq/pins.json. check falla más tarde si la lista de herramientas o los hashes cambian (rug-pull).

Códigos de salida en todas partes: 0 limpio · 2 hallazgos ≥ --fail-on · 1 error.

Para qué sirve esto

Los escáneres MCP estáticos analizan esquemas. Las comprobaciones de estado hacen ping a initialize. El vacío está en el asiento: los archivos, los listeners y los handshakes que el modelo ya utiliza.

  1. Envenenamiento de catálogo. Las descripciones de herramientas pueden indicar al modelo que exfiltre secretos, se salte la cola o esconda una segunda herramienta tras el mismo nombre. masq recorre el esquema completo y etiqueta los hallazgos MCP03 del OWASP MCP Top 10.
  2. MCP sin autenticación. Una gran parte de los servidores MCP públicos aceptan initialize sin autenticación. Si puedes completar ese handshake, ya eres el agente. masq se limita a observar; no llama a herramientas.
  3. Residuos de sesión. Los blobs de razonamiento cifrados a menudo se devuelven al cliente y se almacenan en los registros. Viajan entre sesiones y, según investigaciones publicadas, entre modelos hermanos más débiles (arXiv:2608.09867). masq detecta esos blobs. No los descifra.
  4. Puertos de modelos locales abiertos. 11434, 8000 y similares a menudo se enlazan a 0.0.0.0 sin bearer. masq identifica el servicio (Ollama, vLLM, LiteLLM, …) con sondeos solo GET y luego enumera los modelos.
flowchart LR
 A["MCP tools/list JSON"] --> M[masq]
 B["Live MCP server"] --> M
 C["Session logs"] --> M
 D["Local model HTTP"] --> M
 M --> E["Findings + remediations"]
 M --> F["Optional pin store for CI"]

Instalación

git clone https://gitlab.com/WattoCyber/masq.git
cd masq
cargo install --path . --locked
# command: masq
masq --version
masq --help

Requiere Rust estable actual (1.88+; instalar con rustup). cargo test es la puerta pública. Python 3 solo es necesario para el mock de stdio en vivo en la demo y en las pruebas.

Para compilar en un host Unix remoto a través de SSH (solo instalación; no escanea ese host):

MASQ_REMOTE_HOST=user@host bash scripts/deploy_remote.sh
# on that host: masq --version

Úsalo en tu propio stack

La demo nunca sale de este repositorio. Estos comandos sí lo hacen, y están limitados a esta máquina a menos que optes por una lista de permitidos de laboratorio.

Escanea un catálogo que ya tengas

Exporta o guarda un JSON de tools/list, luego:

masq path/to/tools.json
masq path/to/tools.json --json
masq path/to/tools.json --markdown

Las rutas .json sin formato se reescriben a scan. Dos o más archivos JSON se convierten en multi.

Ejecutar un servidor que administras

masq sit -- python3 -m your_mcp
masq sit --url http://127.0.0.1:PORT/mcp

Loopback es suficiente. Las URL fuera de loopback también requieren --lab y un host en la lista de permitidos (ver más abajo). Autenticación, si el servidor la necesita:

Descargar herramienta