SKILLEMALL.ai

CC auditing-mcp-servers-for-tool-poisoning

Проверяет серверы MCP на предмет отравления инструментов, затенения инструментов, мошенничества (rug pulls), SSRF и неаутентифицированного раскрытия с использованием mcp-scan от Invariant Labs для статического/динамического сканирования плюс ручные проверки SSRF/аутентификации и закрепление описаний. Используется перед добавлением нового сервера MCP в стек агентов, при проверке внутреннего сервера MCP, обнаружении мошенничества или расследовании неожиданного поведения агента, вызванного инструментами.

машинный переводПоказать оригиналСкрыть оригинал«Audit MCP servers for tool poisoning, tool shadowing, rug pulls, SSRF,…»

Audit MCP servers for tool poisoning, tool shadowing, rug pulls, SSRF, and unauthenticated exposure using Invariant Labs' mcp-scan for static/runtime scanning plus manual SSRF/auth checks and description pinning. Use before adding a new MCP server to an agent stack, when reviewing an internal MCP server, detecting rug pulls, or investigating an agent's unexpected tool-driven behavior.

mukul975/Anthropic-Cybersecurity-Skills Agent Skills автор: mukul975 Apache-2.0 5 файлов · 1 скрипт тело ≈ 2 499 токенов Открыть источникgithub.com↗ проанализирован 5 дн назад

Проверяет серверы MCP на предмет отравления инструментов, затенения инструментов, мошенничества (rug pulls), SSRF и неаутентифицированного раскрытия с…

Как процесс C 53/100 · Есть пробелы — слабые места: результат и критерий готовности, когда включается, ошибки и развилки

АнализаторVS CodeИИ и агентыБезопасностьтип и темы размечены автоматически по тексту скилла
JSON
Технический рейтинг
C
84/100
безопасность, качество, тесты
Безопасность 60%
91
Качество 40%
73
Прогон на моделях
не было
Процессный рейтинг
C
53/100
Есть пробелы
Результат и критерий готовности вес 14
0
Ошибки и развилки вес 10
0
Когда включается вес 12
20
три самых слабых из десяти параметров · все десять

Чем это грозит

Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.

Обфускация средняя серьёзность

Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.

Если установить

В файлах есть невидимые символы, закодированные команды или спрятанные комментарии для модели. То, что вы читаете, отличается от того, что видит агент.

Автору

Уберите невидимые символы (часто они попадают из копипаста) и закодированные строки: их не пропустит ни один каталог. Инструкции для модели должны быть видны и человеку.

Как улучшить

    Для прогона на моделях — необязательно
    • Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
    • spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.

    Находки guard · 5

    ✓ Критических и высоких находок нет

    Средние и низкие: 5
    • средняя Обфускация uni-bidi-override scripts/agent.py:34
      Символы переопределения направления текста (Trojan Source) (2 шт.) (определение детектора / чёрного списка)
      SMUGGLE = re.compile(r"[␀-␀␀-␀␀-\U000e0000-\U000e007f]")
      детектор
    • низкая Обфускация uni-zero-width scripts/agent.py:34
      Невидимые символы нулевой ширины (возможен скрытый текст) (3 шт.) (определение детектора / чёрного списка; единичный символ, не последовательность)
      SMUGGLE = re.compile(r"[␀-␀␀-␀␀-\U000e0000-\U000e007f]")
      детекторединичный символ
    • низкая Опасные команды cmd-pipe-to-shell-known-host scripts/agent.py:70
      Установщик через pipe в shell с известного хоста (всё равно выполняет удалённый код) (определение детектора / чёрного списка; строковый литерал в коде, не выполняется)
      "curl -LsSf https://astral.sh/uv/install.sh | sh"}
      детекторстрока в коде
    • низкая Опасные команды cmd-pipe-to-shell-known-host SKILL.md:49
      Установщик через pipe в shell с известного хоста (всё равно выполняет удалённый код) (документация security-скилла)
      curl -LsSf https://astral.sh/uv/install.sh | sh    # or: pipx install uv
      security-скилл

    Ещё 1 совпадений отнесены к цитатам в документации скилла по безопасности и не считаются находками.

    Просканировано файлов: 5. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.

    По спецификации Agent Skills

    • заметка frontmatter-key неизвестное поле фронтматтера "domain"
    • заметка frontmatter-key неизвестное поле фронтматтера "subdomain"
    • заметка frontmatter-key неизвестное поле фронтматтера "nist_ai_rmf"
    • заметка frontmatter-key неизвестное поле фронтматтера "atlas_techniques"

    Процессный рейтинг: все десять параметров 53/100

    • 0Результат и критерий готовности. Не сказано, что считать результатом
    • 0Ошибки и развилки. Линейный процесс без обработки сбоев
    • 20Когда включается. Не сказано, при каком запросе скилл включается
    • 30Повторный запуск. Изменяющих операций: 1, без проверки текущего состояния
    • 60Инструменты и файлы. Используются инструменты (web, python), но во frontmatter они не объявлены
    • 70Входы и предусловия. Входные данные и предусловия перечислены
    • 100Шаги. Шагов: 24
    • 100Согласованность. Имя и обязательные поля на месте
    • 100Стоимость исполнения. Тело инструкции 2499 токенов
    • 100Отчётность по ходу. Скилл сообщает о ходе работы

    Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.

    Сигналы качества

    • +5В description нет примеров фраз, по которым скилл должен срабатывать
    • +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
    • +3Формат ответа не описан: модель каждый раз решает сама
    • -2Ссылки на localhost: у другого пользователя не заработает
    • -42 справочных файлов, но SKILL.md на них не ссылается: модель их не откроет
    • -31 из 1 скриптов не упомянуты в SKILL.md
    • +2Инструкции на одном языке
    • +3Длина description 387 символов: достаточно сигнала, не съедает бюджет
    • +4Структура: 18 заголовков
    • +3Пошаговые инструкции: 24 пунктов
    • +4Есть примеры (8 блоков кода)
    • +1Лицензия указана

    База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 73.