Перейти до основного вмісту

Меню команд

Перейдіть на сторінку або пошукайте в каталозі

ШІ-інструменти та скрипти

Перевірка безпеки коду 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