ИИ-инструменты и скрипты
Проверка безопасности кода MCP-серверов
Проверяйте код MCP-сервера перед публикацией или установкой: аргументы инструментов в shell-командах, eval, ключи в коде, отравленные описания инструментов, пути к файлам и URL из аргументов, открытые HTTP-транспорты, stdout в stdio-серверах и SQL из строк.
Что вы получите: 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
ИИ-инструменты и скрипты
Проверка безопасности кода MCP-серверов
Проверяйте код MCP-сервера перед публикацией или установкой: аргументы инструментов в shell-командах, eval, ключи в коде, отравленные описания инструментов, пути к файлам и URL из аргументов, открытые HTTP-транспорты, stdout в stdio-серверах и SQL из строк.
Getly открыл загруженные файлы и не нашёл ничего, что помешало бы их открыть. Это не проверка на вирусы и не оценка качества.
Теги
Частые вопросы
Доступ открывается сразу?
Да. Это цифровой товар - скачать его можно сразу после оплаты, прямо из своей библиотеки.
Можно ли использовать в коммерческих проектах?
Да. Коммерческое использование разрешено: в своём бизнесе и в том, что вы продаёте. Перепродавать и распространять сам файл нельзя.
Какие условия возврата?
Запросить возврат можно в течение 30 дней. Если что-то не так, оформите заявку в своём заказе - её рассмотрит команда Getly.
Какие форматы и размеры файлов я получу?
Вы скачаете 1 файл - ZIP - всего 63.56 KB.
Обновления бесплатны?
Да - когда продавец выпускает новую версию, вы можете бесплатно скачать актуальные файлы из своей библиотеки. Последние изменения смотрите в истории версий.
Цена
$5.00



