Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
masq — Ricognizione live e audit della postura per l'infrastruttura degli agenti AI: esegue la scansione di configurazioni MCP, log delle sessioni e API alla ricerca di segreti, cataloghi avvelenati e fughe di CoT. | Kitploit
Strumenti/GitLabGitLab/wattocyber/masq
RicognizioneAnalisi StaticaAnalisi delle VulnerabilitàTest di Sicurezza delle APIAudit di ConfigurazioneRilevamento SegretiSicurezza della Supply ChainSicurezza dell'IAAnalisi dei Log
GitLabwattocyber/masq

masq

Ricognizione live e audit della postura per l'infrastruttura degli agenti AI: esegue la scansione di configurazioni MCP, log delle sessioni e API alla ricerca di segreti, cataloghi avvelenati e fughe di CoT.

3 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi RepositorySito web

masq: siediti al posto dell'agente

Mascherata rinascimentale. Siediti al posto dell'agente.

masq

Siediti al posto dell'agente.

Una CLI che parla MCP e OpenAI-compat come fa il modello, poi genera report stile linpeas. Risultati più remediation. Nessun payload di exploit. Nessuna decrittazione del CoT.

CosaRecon live dell'infrastruttura agente: config MCP, listener, log di sessione, eco della catena di pensiero cifrata, API non autenticate, avvelenamento del catalogo, alberi delle skill.
ChiOperatori di Hermes, Grok, Claude, Cursor, VS Code, Codex e stack di modelli locali che hanno bisogno di vedere ciò che l'agente può vedere.
Cosa non èNon è un generatore di jailbreak. Non è il decoder per modelli più deboli di arXiv:2608.09867. Non è un gateway runtime.
StatoBeta. Il cargo test offline è il gate pubblico. Il --lab live è per host di tua proprietà.
LicenzaMIT

pipeline license rust

Perché esiste

Gli scanner MCP statici (Invariant mcp-scan, mcp-security-scan) fanno lint di schemi e config. I tool di health check fanno ping a initialize. Il buco è il posto:

  1. I blob di ragionamento cifrati vengono rimandati al client e salvati nei log di sessione. Sono portabili tra sessioni, utenti e modelli fratelli più deboli (arXiv:2608.09867). Raschiando 315k blob pubblici sono state recuperate 182 credenziali. masq rileva questi blob. Non li decodifica.
  2. Una grande parte dei server MCP pubblici non ha autenticazione. Se puoi fare initialize, sei l'agente.
  3. Le porte dei modelli locali (:11434, :8000) spesso fanno bind su 0.0.0.0 senza bearer.

Ruote su cui viaggiamo, non che riscriviamo: detector di catalogo esistenti + pin/check, netstat, ureq solo GET, OWASP MCP Top 10 come tassonomia dei finding. Non abbiamo clonato mcp-scan o mcp-security-scan.

Install

root@kitploit:~
git clone https://gitlab.com/WattoCyber/masq.git
cd masq
cargo install --path .
# binary: masq
cargo test
# expect: exit 0

World suite (binario contro fixture, mock locali, recon sull'host corrente):

root@kitploit:~
python scripts/world_suite.py
# field = ~/.grok/sessions  lab = allowlisted hosts  bench = frozen-corpus wall
python scripts/world_suite.py --lanes all

Box remoto stile Kali, dal desktop:

root@kitploit:~
MASQ_REMOTE_HOST=user@host bash scripts/deploy_kali.sh
# on the box:
~/.local/bin/masq --plain
MASQ_LAB_HOSTS=... ~/.local/bin/masq --lab --plain

Percorso felice

root@kitploit:~
masq                         # live stream + posture report (includes skills)
masq --lab                   # same, plus allowlisted homelab hosts
masq tui                     # boxed TUI, stays until Ctrl+C
masq --plain                 # report only, no live stream
masq --json                  # machine report
masq recon                   # same dump, recon only
masq sniff ~/.grok/sessions  # CoT / secrets in session logs
masq sniff --timeline PATH   # file-order blob/secret/reason lines (no decrypt)
masq api                     # GET /v1/models on local (and --lab) ports
masq sit --url http://127.0.0.1:4443/mcp
masq chameleon --url http://127.0.0.1:4443/mcp -o /tmp/chameleon
masq chameleon --url ws://127.0.0.1:9000/mcp -o /tmp/chameleon
masq chameleon --url unix:///tmp/mcp.sock -o /tmp/chameleon
masq chameleon --token-file ~/.secrets/mcp.txt --url http://127.0.0.1:9/mcp -o /tmp/chameleon
masq chameleon -- python -m their_mcp -o /tmp/chameleon
# then: npx -y @copilotkit/aimock --config /tmp/chameleon/aimock.json
masq discover                # find VS Code / Cursor / Claude / Grok / Hermes MCP configs
masq proxy --upstream http://127.0.0.1:4443/mcp --block
masq sast ./server           # local sinks (semgrep if present)
masq classify --url http://127.0.0.1:4443/mcp --lab
masq overnight --lab --hours 6
masq map --from reports/overnight-YYYYMMDD/latest.json

# catalog
masq fixtures/t3_line_jump.json
masq fixtures/clean_calculator.json --trusted
masq pin fixtures/clean_calculator.json -k calc
masq check fixtures/clean_calculator.json -k calc
masq detectors

Uscita: 0 pulito · 2 finding ≥ --fail-on (default high) · 1 errore.

La TUI è opzionale (masq tui o --tui). Il default su una tty è un live stream in stile linpeas, poi il report. Cron usa --plain / --no-color.

Comandi

Alias: doctor / audit → scan. chameleon → mimic. posture → seat.

Moduli vs OWASP MCP Top 10

Trasporti e autenticazione

sit / chameleon parlano:

  • Streamable HTTP (http://)
  • HTTP+SSE (evento endpoint GET, poi POST)
  • ws://
  • unix: e npipe:
  • stdio (--framing auto prova NDJSON poi Content-Length)

Auth (mai scritta nel report):

  • --token-file PATH (la prima riga diventa Authorization: Bearer …)
  • --token-env VAR
  • --header "Name: value" (ripetibile)

wss:// non è integrato. Stunnel verso ws:// oppure usa HTTP. HTTP non segue alcun redirect.

L'initialize stdio non pubblicizza sampling. Segnala il server sampling / elicitation. Gli URL di docs (model-catalog.json, /docs/) vengono ignorati di proposito.

Host scoperti da masq

Radici di config + skill sotto $HOME / %USERPROFILE%:

VS Code, Cursor, Windsurf, Claude Desktop, Claude Code, Grok, Hermes, Codex, Continue, Gemini CLI, Amp, Kiro, OpenCode, Amazon Q, Antigravity, OpenClaw.

Più .mcp.json nella cwd e MASQ_EXTRA_CONFIG (lista di path del sistema operativo).

Allowlist lab (--lab)

--lab è un'allowlist, non una scansione /24. È configurata dall'operatore. Nulla è compilato oltre il loopback.

  • Variabile d'ambiente MASQ_LAB_HOSTS: host:port o host separati da virgola, spazio o newline.
  • File .masq/lab-hosts: un host per riga, commenti #.

Esempio:

root@kitploit:~
export MASQ_LAB_HOSTS="192.0.2.10,192.0.2.11"
masq --lab

MASQ_LAB_HOSTS viene letta per i probe API e per il rollup fleet della TUI. MASQ_SIT_URLS (o un --mcp-url) fornisce gli URL MCP su cui fare sit con --lab.

Un sit --url fuori dal loopback richiede --lab e un host allowlistato. L'initialize non autenticato su loopback è High. Fuori dalla macchina è Critical.

Non puntare proxy verso un host su cui non faresti sit.

Limiti rigidi

Priorità sniff: prima chat_history.jsonl, poi Hermes request_dump_*, poi altri jsonl. La walk arriva in fondo. Non tiene i primi 300 risultati di WalkDir. Punta masq sniff <una-directory-di-sessione> per andare più a fondo.

Overnight

root@kitploit:~
masq overnight --lab --hours 6 --interval-mins 20
# writes <cwd>/reports/overnight-YYYYMMDD/{latest.json,latest.md,latest.txt,delta.txt}

Non muta le config. Non fa tools/call sul server live. delta.txt è baseline / no_change / CHANGE più + gravità titolo e - gravità titolo.

classify --llm e il componente aggiuntivo di triage della TUI sono gli unici POST di completions (Grok /v1/chat/completions, conferma dell'operatore). Senza chiave: solo remediation locali. Chiave da XAI_API_KEY o ~/.secrets/xai.txt. Mai scritta.

Architettura

root@kitploit:~
CLI (clap)  masq
  → seat | recon | sniff | api | sit | chameleon
  → discover | proxy | sast | classify | overnight | map
  → scan | multi | pin | check | detectors | tui
  → client (HTTP / SSE / ws / unix / npipe / stdio)
  → normalize (full-schema walk, caps)
  → detectors + sniff + recon + sit findings
  → report (text / JSON / Markdown) + optional TUI

Crate libreria: masq (scan_from_tools_list, scan_stdio, run_seat, PostureReport).

Scope onesto

Non fare dump di ~/.secrets. Recon conta i file. Percorso + "loaded".

Test offline

root@kitploit:~
cargo test
cargo clippy --all-targets -- -D warnings

Atteso exit 0.

Fixture: T1 avvelenamento descrizione, T3 line-jump, T6 nomi parametri, T8 ANSI, T13 nomi duplicati, pin rugpull, multi-list, mock NDJSON live in tests/mock_mcp_server.py.

I segreti restano fuori da git (reports/, data/, .env, *.key, secrets/, .masq/).

Licenza

MIT. Copyright 2026 SamsonCyber.

Scarica lo strumento
ComandoCosa fa
seat (default)Postura completa: recon + sniff + api + skills + sit opzionale.
reconFile di config, listener, URL ombra, argv sudo, npx/uvx non pinnati.
sniffLog di sessione per segreti, ragionamento in chiaro, eco di CoT cifrato.
sniff --timelineRighe T0001 in ordine di file. Nessuna decrittazione. Massimo 200 eventi/file.
apiSolo GET /v1/models (e affini) su loopback; --lab aggiunge peer allowlistati.
sitParla MCP: initialize, notifications/initialized, tools/list, prompts/list, resources/list. Non origina mai tools/call.
chameleon / mimicSit su un catalogo live o da file, scrive catalog.json + aimock.json + calls.json. Gli envelope tools/call di esempio sono solo per aimock.
discoverStampa i percorsi noti delle config MCP degli agenti. Nessuno spawn.
proxyInoltra il JSON-RPC dell'agente. --block rifiuta parametri/risultati tools/call con forma di segreto. Listen di default 127.0.0.1:9877.
sastSink sorgente locali. Usa semgrep se installato.
classifyRevisione IPI / avvelenamento locale di un tools/list live. --llm chiede a Grok (chiave operatore).
overnightRipete seat finché non trascorrono --hours. Scrive report. Non muta le config.
mapQuery testuali di attack path su un JSON di postura salvato. Nessun diagramma.
scan / multiLint statico del catalogo (i percorsi .json nudi riscrivono a questo).
pin / checkArchivio pin con hash del contenuto (.masq/pins.json) per CI anti-rug-pull.
detectorsStampa il pacchetto di regole del catalogo.
tuiSeat in una scatola. Resta fino a Ctrl+C.
ModuloCopre
reconPercorso segreti MCP01, npx/uvx non pinnati MCP04, listener e URL ombra MCP07/09, sudo argv MCP05
catalogAvvelenamento schema / shadowing / rugpull MCP03
skillsStessi detector del catalogo su SKILL.md (Hermes, Grok, Claude, Cursor, Codex, Gemini, Amp, Kiro, OpenCode, OpenClaw). Nessun Snyk cloud.
sitScope creep MCP02, tools/list live MCP03, initialize non autenticato MCP07, annuncio server di sampling/elicitation, Streamable HTTP (2025-06-18) poi HTTP+SSE (2024-11-05), Origin DNS-rebinding
sniffMCP01 + MCP10 + eco CoT cifrato arXiv:2608.09867 (incluso thinkingSignature)
apiMCP07 /v1/models non autenticato, bind LAN MCP09
watchPin-diff su .masq/pins.json + skills. Overnight lo imposta. Non è un proxy.
fleetRollup dell'allowlist lab in un'unica sezione FLEET
mapQuery testuali di path su un report di postura
LimiteValore
file tools/list8 MiB
file sniff8 MiB (primi 2 MiB campionati se più grande)
file sniff / root300 (mtime più recente nella priorità)
eventi timeline / file200, poi timeline truncated
righe T timeline500 (inspect e collapse continuano comunque)
profondità walk dello schema64
tools per inventario5_000
probe HTTPsolo GET, 2s API / 5s sit
handshake sittimeout + kill
Questo strumentoNon questo strumento
Sit come client dell'agente (initialize + list)Originare tools/call verso un server live
Rilevare l'eco di CoT cifrato nei logDecrittare il CoT o riprodurlo in un modello più debole
GET /v1/modelsPOST di completions (tranne triage TUI opt-in / classify --llm)
Pin-hash anti-rugpull su un catalogoPKI firmata / vault di pin enterprise
Inoltrare il tools/call dell'agente in proxy --blockGateway DLP runtime completo / control plane SaaS
Lint locale dell'albero delle skillSnyk / SCA cloud
ControlloAtteso
masq fixtures/clean_calculator.json --trustedexit 0
masq fixtures/t3_line_jump.jsonexit 2
masq fixtures/t13_duplicate_names.jsonexit 2 (shadowing dei tool)
masq sniff --timeline fixtures/ (non-TTY / --json)T0001 solo con il flag
masq chameleon fixtures/clean_calculator.json -o <tmpdir>catalog.json, aimock.json, calls.json
masq --no-color livetoken oscurati (…, non l'intero sk-)