Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
masq — Live-Recon und Posture-Auditing für KI-Agenten-Infrastrukturen: scannt MCP-Konfigurationen, Session-Logs und APIs nach Secrets, vergifteten Katalogen und CoT-Leaks. | Kitploit
Tools/GitLabGitLab/wattocyber/masq
AufklärungStatische AnalyseSchwachstellenanalyseAPI-SicherheitstestsKonfigurationsprüfungSecret-ErkennungLieferkettensicherheitKI-SicherheitLog-Analyse
GitLabwattocyber/masq

masq

Live-Recon und Posture-Auditing für KI-Agenten-Infrastrukturen: scannt MCP-Konfigurationen, Session-Logs und APIs nach Secrets, vergifteten Katalogen und CoT-Leaks.

vor 3 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigenWebseite

masq: Nimm Platz im Sitz des Agenten

Renaissance-Maskerade. Nimm Platz im Sitz des Agenten.

masq

Nimm Platz im Sitz des Agenten.

Eine CLI, die MCP und OpenAI-kompatibel so spricht wie das Modell und dann wie linpeas berichtet. Befunde plus Behebungen. Keine Exploit-Payloads. Kein CoT-Entschlüsseln.

WasLive-Recon der Agent-Infrastruktur: MCP-Konfigurationen, Listener, Sitzungsprotokolle, verschlüsseltes Chain-of-Thought-Echo, unauthentifizierte APIs, Katalog-Poisoning, Skill-Trees.
Für wenBetreiber von Hermes, Grok, Claude, Cursor, VS Code, Codex und lokalen Modell-Stacks, die sehen müssen, was der Agent sehen kann.
Was es nicht istKein Jailbreak-Generator. Nicht der Decoder für schwächere Modelle (arXiv:2608.09867). Kein Runtime-Gateway.
StatusBeta. Offline cargo test ist das öffentliche Gate. Live --lab ist für Hosts, die du besitzt.
LizenzMIT

pipeline license rust

Warum es das gibt

Statische MCP-Scanner (Invariant mcp-scan, mcp-security-scan) linten Schemas und Konfigurationen. Health-Checks pingen initialize. Die Lücke ist der seat:

  1. Verschlüsselte Reasoning-Blobs werden an den Client zurückgespielt und in Sitzungsprotokollen gespeichert. Sie sind über Sitzungen, Benutzer und schwächere Schwestermodelle hinweg portabel (arXiv:2608.09867). Das Scraping von 315k öffentlichen Blobs förderte 182 Zugangsdaten zutage. masq erkennt diese Blobs. Es dekodiert sie nicht.
  2. Ein großer Teil der öffentlichen MCP-Server hat keine Authentifizierung. Wenn du initialize kannst, bist du der Agent.
  3. Lokale Modell-Ports (:11434, :8000) binden oft 0.0.0.0 ohne Bearer-Token.

Räder, auf denen wir fahren, nicht neu erfinden: bestehende Katalog-Detektoren + Pin/Check, netstat, ureq nur-GET, OWASP MCP Top 10 als Befund-Taxonomie. Wir haben weder mcp-scan noch mcp-security-scan geklont.

Installation

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

World-Suite (Binärdatei gegen Fixtures, lokale Mocks, Recon dieses Hosts):

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

Kali-artige Remote-Box, vom Desktop aus:

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

Happy path

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

Exit: 0 sauber · 2 Befunde ≥ --fail-on (Standard: high) · 1 Fehler.

TUI ist optional (masq tui oder --tui). Standard auf einem tty ist ein Linpeas-Livestream, dann der Bericht. Cron nutzt --plain / --no-color.

Befehle

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

Module vs. OWASP MCP Top 10

Transporte und Authentifizierung

sit / chameleon sprechen:

  • Streamable HTTP (http://)
  • HTTP+SSE (GET-Endpunkt-Ereignis, dann POST)
  • ws://
  • unix: und npipe:
  • stdio (--framing auto versucht NDJSON, dann Content-Length)

Auth (wird nie in den Bericht geschrieben):

  • --token-file PATH (die erste Zeile wird zu Authorization: Bearer …)
  • --token-env VAR
  • --header "Name: value" (wiederholbar)

wss:// ist nicht eingebaut. Stunnel zu ws:// oder HTTP verwenden. HTTP folgt null Redirects.

Stdio-initialize bewirbt kein sampling. Server-sampling / elicitation kennzeichnen. Docs-URLs (model-catalog.json, /docs/) werden absichtlich ignoriert.

Von masq entdeckte Hosts

Config- und Skill-Wurzeln unter $HOME / %USERPROFILE%:

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

Außerdem .mcp.json im aktuellen Arbeitsverzeichnis und MASQ_EXTRA_CONFIG (OS-Pfadliste).

Lab-Allowlist (--lab)

--lab ist eine Allowlist, kein /24-Scan. Sie ist operator-konfiguriert. Über Loopback hinaus ist nichts einkompiliert.

  • Env-Variable MASQ_LAB_HOSTS: durch Komma, Leerzeichen oder Zeilenumbruch getrennte host:port oder Hosts.
  • Datei .masq/lab-hosts: ein Host pro Zeile, #-Kommentare.

Beispiel:

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

MASQ_LAB_HOSTS wird für API-Probes und das TUI-Fleet-Rollup gelesen. MASQ_SIT_URLS (oder ein --mcp-url) liefert MCP-URLs zum Sitzen mit --lab.

sit --url außerhalb von Loopback benötigt --lab und einen allowlisteten Host. Unauthentifiziertes initialize auf Loopback ist High. Außerhalb der Box ist Critical.

Richte proxy nicht auf einen Host, auf den du nicht sitzen würdest.

Harte Grenzen

Sniff-Priorität: zuerst chat_history.jsonl, dann Hermes request_dump_*, dann andere jsonl. Der Walk läuft zu Ende. Es behält nicht die ersten 300 WalkDir-Treffer. Richte masq sniff <ein-Sitzungsverzeichnis> auf ein einzelnes Verzeichnis, um tiefer zu gehen.

Overnight

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

Mutiert keine Konfigurationen. Führt kein tools/call am Live-Server aus. delta.txt enthält baseline / no_change / CHANGE plus + severity title und - severity title.

classify --llm und das TUI-Triage-Add-on sind die einzigen Completions-POSTs (Grok /v1/chat/completions, Operator-Bestätigung). Ohne Key: nur lokale Behebungen. Key von XAI_API_KEY oder ~/.secrets/xai.txt. Wird nie ausgegeben.

Architektur

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

Library-Crate: masq (scan_from_tools_list, scan_stdio, run_seat, PostureReport).

Ehrlicher Umfang

Gib ~/.secrets nicht aus. Recon zählt Dateien. Pfad + „loaded“.

Offline-Tests

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

Erwarte Exit 0.

Fixtures: T1-Beschreibungs-Poisoning, T3-Zeilensprung, T6-Parameternamen, T8-ANSI, T13-Duplikatnamen, Pin-Rugpull, Multi-List, Live-NDJSON-Mock unter tests/mock_mcp_server.py.

Secrets bleiben außerhalb von Git (reports/, data/, .env, *.key, secrets/, .masq/).

Lizenz

MIT. Copyright 2026 SamsonCyber.

Tool herunterladen
BefehlFunktion
seat (Standard)Vollständige Posture: recon + sniff + api + skills + optionales sit.
reconKonfigurationsdateien, Listener, Shadow-URLs, sudo-argv, nicht gepinnte npx/uvx.
sniffSitzungsprotokolle auf Geheimnisse, Klartext-Reasoning, verschlüsseltes CoT-Echo.
sniff --timelineT0001-Zeilen in Dateireihenfolge. Keine Entschlüsselung. Max. 200 Ereignisse/Datei.
apiNur-GET /v1/models (und Verwandtes) auf Loopback; --lab ergänzt Allowlist-Peers.
sitSpricht MCP: initialize, notifications/initialized, tools/list, prompts/list, resources/list. Initiiert nie tools/call.
chameleon / mimicSit auf einem Live- oder Dateikatalog, schreibt catalog.json + aimock.json + calls.json. Beispiel-tools/call-Envelopes sind nur für aimock gedacht.
discoverGibt bekannte Agent-MCP-Konfigurationspfade aus. Kein Spawn.
proxyLeitet die JSON-RPC des Agents weiter. --block verweigert tools/call-Parameter/-Ergebnisse, die wie Geheimnisse aussehen. Hört standardmäßig auf 127.0.0.1:9877.
sastLokale Source-Sinks. Nutzt semgrep, falls installiert.
classifyLokale IPI-/Poison-Prüfung eines Live-tools/list. --llm fragt Grok (Operator-Key).
overnightWiederholt seat, bis --hours verstrichen sind. Schreibt Berichte. Mutiert keine Konfigurationen.
mapTextbasierte Angriffspfad-Abfragen über ein gespeichertes Posture-JSON. Kein Diagramm.
scan / multiStatischer Katalog-Lint (nackte .json-Pfade werden hierhin umgeschrieben).
pin / checkContent-Hash-Pin-Speicher (.masq/pins.json) für Rugpull-CI.
detectorsGibt das Katalog-Regelpaket aus.
tuiSeat in einer Box. Bleibt bis Ctrl+C.
ModulAbdeckung
reconMCP01-Geheimnispfad, MCP04 nicht gepinnte npx/uvx, MCP07/09 Listener und Shadow-URLs, MCP05 sudo-argv
catalogMCP03 Schema-Poisoning / Shadowing / Rugpull
skillsDieselben Katalog-Detektoren auf SKILL.md (Hermes, Grok, Claude, Cursor, Codex, Gemini, Amp, Kiro, OpenCode, OpenClaw). Kein Snyk Cloud.
sitMCP02 Scope Creep, MCP03 Live-tools/list, MCP07 unauthentifiziertes initialize, Server bewirbt sampling/elicitation, Streamable HTTP (2025-06-18), dann HTTP+SSE (2024-11-05), Origin-DNS-Rebinding
sniffMCP01 + MCP10 + arXiv:2608.09867 verschlüsseltes CoT-Echo (inklusive thinkingSignature)
apiMCP07 unauthentifiziertes /v1/models, MCP09 LAN-Bind
watchPin-Diff auf .masq/pins.json + skills. Overnight setzt dies. Kein Proxy.
fleetLab-Allowlist-Rollup in einem FLEET-Abschnitt
mapTextpfad-Abfragen über einen Posture-Bericht
LimitWert
tools/list-Datei8 MiB
sniff-Datei8 MiB (bei größeren Dateien werden die ersten 2 MiB gesampelt)
sniff-Dateien / Wurzel300 (neueste mtime innerhalb der Priorität)
Timeline-Ereignisse / Datei200, dann timeline truncated
Timeline-T-Zeilen500 (inspect und collapse laufen trotzdem weiter)
Schema-Walk-Tiefe64
Tools pro Inventar5_000
HTTP-ProbeNur GET, 2s API / 5s sit
sit-HandshakeTimeout + Kill
Dieses ToolNicht dieses Tool
Als Agent-Client sitzen (initialize + list)tools/call gegen einen Live-Server initiieren
Verschlüsseltes CoT-Echo in Protokollen erkennenCoT entschlüsseln oder in ein schwächeres Modell zurückspielen
GET /v1/modelsPOST-Completions (außer opt-in TUI-Triage / classify --llm)
Pin-Hash-Rugpull auf einem KatalogSignierte PKI / Enterprise-Pin-Vault
tools/call des Agents in proxy --block weiterleitenVollwertiges Runtime-DLP-Gateway / SaaS-Control-Plane
Lokaler Skill-Tree-LintSnyk / Cloud-SCA
PrüfungErwartung
masq fixtures/clean_calculator.json --trustedexit 0
masq fixtures/t3_line_jump.jsonexit 2
masq fixtures/t13_duplicate_names.jsonexit 2 (Tool-Shadowing)
masq sniff --timeline fixtures/ (non-TTY / --json)T0001 nur mit dem Flag
masq chameleon fixtures/clean_calculator.json -o <tmpdir>catalog.json, aimock.json, calls.json
Live-masq --no-colorToken geschwärzt (…, nicht volles sk-)