Перейти к основному содержимому

Меню команд

Перейти на страницу или искать в каталоге

ИИ-инструменты и скрипты

Проверка безопасности кода MCP-серверов

Проверяйте код MCP-сервера перед публикацией или установкой: аргументы инструментов в shell-командах, eval, ключи в коде, отравленные описания инструментов, пути к файлам и URL из аргументов, открытые HTTP-транспорты, stdout в stdio-серверах и SQL из строк.

$5.00

Что вы получите: 1 файл · 63.56 KB · ZIP

Варианты покупки

Описание товара

subprocess.getoutput(f"git log {ref}") в инструменте позволяет любой странице, задаче или файлу, которые читает модель, выполнять команды на вашем компьютере, а скрытый блок IMPORTANT в описании инструмента может приказать модели прочитать ваши SSH-ключи и промолчать об этом. Этот навык находит такие ошибки и еще одиннадцать других ошибок в MCP-серверах до того, как вы опубликуете, установите или подключите сервер, и подсказывает, как исправить каждую из них.

Ваш агент запускает сканер для исходного кода сервера: Python с mcp SDK (FastMCP, MCPServer, низкоуровневый Server) или пакетом fastmcp, а также TypeScript или JavaScript с @modelcontextprotocol/sdk, пакетами @modelcontextprotocol/server или fastmcp. Сканер пропускает комментарии, отличает строки от кода, отслеживает аргументы инструментов от параметров обработчика через переменные и во вспомогательные функции в том же файле, а также учитывает обычные средства защиты (проверку корневого каталога пути, списки разрешенных хостов, shlex.quote, валидацию по схеме, bearer-аутентификацию). Он никогда не запускает и не импортирует сервер и не подключается к нему. Результат: BLOCK, REVIEW или NOT FLAGGED с указанием файла, строки, причины и более безопасного подхода. Секреты никогда не выводятся.

Что проверяется

BLOCK (исправить до выпуска)

  • M01: аргументы инструментов или другие нефиксированные значения в shell-командах (subprocess с параметром shell, в том числе под псевдонимами импорта, os.popen и system, getoutput, списки sh -c, exec/execSync в Node при любом способе импорта, spawn с параметром shell); значения через shlex.quote и типизированные параметры int допустимы
  • M02: eval, exec, new Function или node:vm, выполняемые с нефиксированными значениями
  • M03: API-ключи, токены и пароли, прописанные в коде сервера
  • M04: скрытые инструкции для модели в описаниях инструментов, промптов и параметров или в инструкциях сервера (блоки с тегом IMPORTANT, символы тегов Unicode или переопределения направления bidi, требование скрывать что-то от пользователя в сочетании с чтением SSH-ключей или mcp.json, либо два более слабых признака одновременно); обычные примечания, заполнители и текст не на английском языке не отмечаются

REVIEW (проверить перед релизом)

  • M11: аргументы инструментов, используемые как пути к файлам без проверки того, что они остаются внутри разрешенной папки
  • M12: URL или хосты из аргументов инструментов, запрашиваемые без списка разрешенных (SSRF)
  • M13: HTTP-транспорты, слушающие все интерфейсы без аутентификации
  • M14: HTTP-транспорты без проверки Host или Origin (DNS rebinding)
  • M15: print, console.log и другие записи в stdout в stdio-серверах
  • M16: низкоуровневые обработчики tools/call, читающие аргументы, которые ничем не валидируются
  • M17: инструменты, возвращающие модели переменные окружения или секретные переменные окружения
  • M18: SQL, собранный из строк с нефиксированными значениями
  • M19: один более слабый признак скрытых инструкций в тексте инструмента (требование скрывать что-то от пользователя, указание игнорировать предыдущие инструкции, пара системных тегов, одиночный тег IMPORTANT, подмена другого инструмента, символы нулевой ширины)

Что входит в комплект

  • Сканер (Python 3.9+, только стандартная библиотека)
  • Руководство по правилам: для каждого правила указаны причина, более безопасный подход и официальный источник
  • Рискованный и безопасный примеры сервера (Python и TypeScript), а также реальный отчет, который сканер выдает для рискованного примера

Ограничения

Каждый файл анализируется отдельно: аргументы инструментов отслеживаются только в пределах одного файла и лишь на несколько вызовов в глубину. Конфигурационные файлы MCP-клиентов, уязвимости зависимостей, установленная версия SDK, обратный прокси перед сервером и поведение во время выполнения не проверяются; SDK для Go, Java, Kotlin, C# и Rust не читаются. NOT FLAGGED не является гарантией.

Содержимое

Один ZIP-файл, в нем 18 файлов: SKILL.md, сканер в scripts/ (9 файлов Python), references/rules.md (каждое правило с причиной и более безопасным подходом) и examples/ (6 файлов с примерами, а также report.md, реальный отчет сканера по рискованному примеру).

Как использовать: Это навык для ИИ-агента: папка с файлом SKILL.md и скриптами на Python, которые может запускать ИИ-агент для программирования, например Claude Code, Cursor или Codex CLI. Распакуйте архив в папку навыков вашего агента (для Claude Code: ~/.claude/skills/), а затем попросите агента проверить ваш проект. Скрипты также работают самостоятельно с Python 3.9 или новее, ничего устанавливать не нужно. Они только читают ваши файлы: никакого доступа к сети, никуда ничего не отправляется.

Что вы получите

1 файл · 63.56 KB

  • mcp-server-code-safety-check-1.0.0.zipZIP · 63.56 KB
ЛицензияКоммерческое использование разрешено
Проверка пакетаПройдена

Getly открыл загруженные файлы и не нашёл ничего, что помешало бы их открыть. Это не проверка на вирусы и не оценка качества.

Опубликовано12 нояб. 2026 г.
Размер файла63.56 KB
Формат файлаZIP
Версияv1.0

Теги

mcpai-agentssecuritypythontypescriptai agent skill
R
RR HH

Частые вопросы

Доступ открывается сразу?

Да. Это цифровой товар - скачать его можно сразу после оплаты, прямо из своей библиотеки.

Можно ли использовать в коммерческих проектах?

Да. Коммерческое использование разрешено: в своём бизнесе и в том, что вы продаёте. Перепродавать и распространять сам файл нельзя.

Какие условия возврата?

Запросить возврат можно в течение 30 дней. Если что-то не так, оформите заявку в своём заказе - её рассмотрит команда Getly.

Какие форматы и размеры файлов я получу?

Вы скачаете 1 файл - ZIP - всего 63.56 KB.

Обновления бесплатны?

Да - когда продавец выпускает новую версию, вы можете бесплатно скачать актуальные файлы из своей библиотеки. Последние изменения смотрите в истории версий.

Цена

$5.00