Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
masq — Разведка в реальном времени и аудит состояния защищённости инфраструктуры AI-агентов: сканирует конфигурации MCP, журналы сессий и API на предмет секретов, отравленных каталогов и утечек CoT. | Kitploit
Инструменты/GitLabGitLab/wattocyber/masq
РазведкаСтатический анализАнализ уязвимостейТестирование безопасности APIАудит конфигурацииОбнаружение СекретовБезопасность Цепочки ПоставокБезопасность ИИАнализ Журналов
GitLabwattocyber/masq

masq

Разведка в реальном времени и аудит состояния защищённости инфраструктуры AI-агентов: сканирует конфигурации MCP, журналы сессий и API на предмет секретов, отравленных каталогов и утечек CoT.

342 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
РепозиторийСайт

MASQ: займи место модели

Займи место модели. Увидь то, что видит она.

MASQ

MASQ — это локальный CLI для проверки безопасности стеков ИИ-агентов. Он занимает то же место, что и модель: читает каталоги инструментов MCP, завершает рукопожатие MCP, просматривает журналы сессий и проверяет локальные HTTP-порты моделей. Затем он выводит обнаруженные проблемы и рекомендации по их устранению.

Он общается по MCP и через HTTP, совместимый с OpenAI, так же, как это делает клиент. Он отчитывается так, как это делает инструмент разведки хоста. Он не вызывает инструменты на работающем сервере, не расшифровывает цепочки рассуждений и не генерирует джейлбрейки.

Когда использоватьВы запускаете Cursor, VS Code, Claude, Codex или локальный стек моделей и хотите увидеть серверы MCP, навыки, журналы и API, к которым имеет доступ агент.
С чего начатьС двухминутной демонстрации ниже. Она не выходит за пределы этого репозитория.
СтатусБета. cargo test — публичный критерий. Живые проверки предназначены для хостов, которыми вы владеете.
ЛицензияMIT

pipeline license rust

Двухминутная демонстрация

Вам понадобится стабильная версия Rust (1.88 или новее) и Python 3. Из клона этого репозитория:

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

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

1. Чистый каталог остаётся чистым

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

Выход 0.

2. Отравленный каталог не проходит проверку

fixtures/t3_line_jump.json — это инструмент sqrt, в описании которого модели предписывается обращаться к нему в первую очередь в каждой сессии и добавлять к shell-командам префикс в виде канареечного curl. Это отравление каталога, а не математика.

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

Выход с кодом 2 (находки на уровне --fail-on или выше, по умолчанию high).

3. Подключитесь к работающему MCP так, как это делает модель

Встроенный мок общается по MCP через stdio. masq отправляет initialize, notifications/initialized и tools/list. Он никогда не отправляет 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

Описание инструмента add в моке велит модели прочитать ~/.ssh/id_rsa перед выполнением арифметических операций. masq выявляет это из живого tools/list, а затем завершается с кодом 2.

4. Проверка образца журнала сеанса

fixtures/demo/chat_history.jsonl содержит поддельный API-ключ и зашифрованный блок размышлений. Укажите masq на этот каталог — а не на вашу реальную историю чата — чтобы увидеть временную шкалу.

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

Внедрённый ключ скрыт. Зашифрованная цепочка рассуждений передаётся по длине, а не расшифровывается.

5. Закрепите проверенный вами каталог, затем отслеживайте расхождения

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

pin записывает .masq/pins.json. check завершается ошибкой позже, если список инструментов или хэши изменились (rug-pull).

Коды выхода везде: 0 чисто · 2 находки ≥ --fail-on · 1 ошибка.

Для чего это нужно

Статические сканеры MCP проверяют схемы. Проверки работоспособности пингуют initialize. Пробел — это место: файлы, слушатели и рукопожатия, которые модель уже использует.

  1. Отравление каталога. Описания инструментов могут предписывать модели эксфильтровать секреты, обходить очередь или скрывать второй инструмент под тем же именем. masq обходит полную схему и помечает находки MCP03 из OWASP MCP Top 10.
  2. MCP без аутентификации. Значительная доля публичных серверов MCP принимает initialize без аутентификации. Если вы можете завершить это рукопожатие, вы уже являетесь агентом. masq просто присутствует; он не вызывает инструменты.
  3. Остатки сессий. Зашифрованные блобы рассуждений часто возвращаются клиенту и сохраняются в логах. Они передаются между сессиями и, согласно опубликованным исследованиям, между более слабыми родственными моделями (arXiv:2608.09867). masq обнаруживает эти блобы. Он их не декодирует.
  4. Открытые локальные порты моделей. 11434, 8000 и подобные часто привязываются к 0.0.0.0 без bearer-токена. masq определяет сервис (Ollama, vLLM, LiteLLM, …) с помощью GET-запросов, затем перечисляет модели.
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"]

Установка

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

Требуется актуальная стабильная версия Rust (1.88+; установка через rustup). cargo test — это публичный критерий проверки. Python 3 требуется только для живого stdio-мока в демонстрации и в тестах.

Для сборки на удалённом Unix-хосте по SSH (только установка; сканирование этого хоста не выполняется):

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

Используйте это на своём стеке

Демонстрация никогда не покидает этот репозиторий. Эти команды — покидают, и они ограничены этой машиной, если вы не подключите allowlist лаборатории.

Сканирование каталога, который у вас уже есть

Экспортируйте или сохраните JSON tools/list, затем:

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

Пути .json без префикса переписываются в scan. Два или более JSON-файла становятся multi.

Запуск собственного сервера

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

Loopback достаточно. Для URL вне loopback также нужны --lab и хост из белого списка (см. ниже). Аутентификация, если она требуется серверу:

Скачать инструмент