Trustabl Probe MCP-сервер
Предоставляет вашему агенту для программирования Trustabl Probe:
Probe формирует предварительный список разрешённых сетевых подключений для инструмента агента и запускает этот инструмент в изолированной среде с заблокированной сетью, чтобы выявить проблемы, которые проявляются только во время выполнения. Для каждого обнаруженного недостатка предлагается способ исправления, а исправления применяет ваш агент. Модель и API key не требуются.
Инструменты
| Инструмент | Назначение | Вносит изменения? |
|---|---|---|
probe_check_setup | Проверяет, готовы ли бинарный файл Probe, Docker и образы для изолированной среды, какие языки поддерживаются в этой среде, а также показывает точную команду для установки каждого отсутствующего компонента. | Нет |
probe_install | Загружает бинарный файл Probe с проверкой контрольной суммы и получает образы для изолированной среды. Для Docker, OpenShell и Python инструмент только выводит команду для запуска и предупреждения о возможных последствиях. | Да, см. ниже |
probe_scan | Сканирует каталог инструмента и возвращает оценку готовности, предварительный список разрешённых сетевых подключений и список обнаруженных недостатков, отсортированный от самых серьёзных, с рекомендациями по исправлению. | Записывает в сканируемый каталог четыре файла отчётов |
Статический анализ и изолированная среда
-
Статический анализ проверяет код и выявляет такие проблемы, как отсутствие тайм-аутов, жёстко заданные учётные данные и отсутствие фильтрации вывода инструмента. На основе кода он также формирует предварительный список разрешённых сетевых подключений — сетевую политику OpenShell. Статический анализ выполняется всегда и не требует дополнительной настройки.
-
Изолированная среда дополнительно запускает инструмент с заблокированной сетью, чтобы обнаружить сбои, отсутствующие зависимости и попытки подключиться к сети. Для этого требуется Docker или NVIDIA OpenShell. При значении
sandbox: "auto"(по умолчанию) запуск выполняется, если доступна подходящая среда. Инструменты, которые могут выполнять разрушительные действия (например, платежи, удаление данных или запись в сеть), не запускаются, если не указатьallow_write_tools: true.
Docker поддерживает Python, JavaScript/TypeScript, Go и Ruby; образ OpenShell поддерживает Python и Node. Shell-скрипты анализируются только статически.
Установка
Требуется Node.js версии 18 или новее. Docker не обязателен, но позволяет использовать изолированную среду.
Сервер распространяется как npm-пакет @trustabl/agent-network-access-probe. К каждому релизу Probe также прилагаются файлы trustabl-agent-network-access-probe-.tgz и .mcpb.
Cursor (.cursor/mcp.json):
{
"mcpServers": {
"agent-network-access-probe": {
"command": "npx",
"args": ["-y", "@trustabl/agent-network-access-probe"]
}
}
}
Claude Code:
claude mcp add agent-network-access-probe -- npx -y @trustabl/agent-network-access-probe
Claude Desktop: скачайте файл trustabl-agent-network-access-probe-.mcpb
из релиза и откройте его, чтобы установить сервер. Либо добавьте те же значения command и args, что и в примере для Cursor, в раздел mcpServers файла claude_desktop_config.json.
Чтобы закрепить конкретный релиз, а не использовать последнюю версию, замените имя пакета в args на URL файла .tgz этого релиза.
Затем попросите агента выполнить probe_check_setup.
Что сервер меняет на вашем компьютере
- Загружает бинарный файл Probe из того же релиза, что и сервер, в каталог
~/.trustabl-probe//, предварительно сверив его с файлом checksums.txt из релиза. При несовпадении проверка завершается ошибкой.
- Загружает образы для изолированной среды (
python:3-slim,node:20-slim,golang:1.25-alpine,
ruby:3-slim) при запуске probe_install или во время первого запуска в изолированной среде.
- Записывает в сканируемый каталог файлы
network_policies.draft.yaml,probe.findings.json,probe.profile.json
и autofix-attestation.json.
- Не устанавливает Docker, OpenShell или Python. Сервер выводит команду, а агент должен запросить ваше разрешение перед её запуском. Для Docker Desktop требуются права администратора; в Windows может понадобиться перезагрузка. Для крупных компаний также может потребоваться платная подписка.
Политика конфиденциальности
Политика конфиденциальности Trustabl: https://trustabl.ai/privacy/
Как сервер работает с вашими данными:
-
Сбор данных: не ведётся. Сервер не отправляет телеметрию и не обращается к моделям.
-
Ваш код: считывается и анализируется на вашем компьютере и никогда не загружается на сервер. Подписание аттестаций отключено, поэтому данные не передаются в журнал прозрачности.
-
Доступ к сети: используется только для обращения к GitHub (загрузка релиза Probe), Docker Hub (получение образов для изолированной среды) и, если в инструменте на Python указаны зависимости, PyPI (их установка перед запуском в изолированной среде). У проверяемого инструмента доступ к сети заблокирован.
-
Хранение: бинарный файл Probe кэшируется в
~/.trustabl-probe/, результаты работы в изолированной среде — в пользовательском каталоге кэшаtrustabl-probe/results, а четыре файла отчётов записываются в сканируемый каталог. Вы можете удалить их в любое время. -
Передача третьим сторонам: данные не передаются Trustabl или кому-либо ещё.
-
Контакты: https://github.com/trustabl/agent-network-access-probe/issues
Настройки
| Переменная | Значение по умолчанию | Назначение |
|---|---|---|
PROBE_VERSION | релиз, с которым поставляется сервер | Версия Probe, которую нужно использовать вместо него, например v0.2.3 или latest. Требуется версия v0.2.3 или новее. |
PROBE_BIN | Путь к локальной сборке Probe; загрузка пропускается | |
GITHUB_TOKEN | Используется только для обхода анонимного ограничения частоты запросов GitHub, если для PROBE_VERSION задано значение latest |
Разработка
Из каталога mcp/:
cd server && npm ci && npm run build # bundles to dist/index.js, which is committed
node test/smoke.mjs # handshake, tools/list, setup check
SMOKE_SCAN=1 node test/smoke.mjs # also a static scan of test/fixture with the released Probe
PROBE_BIN=/path/to/autofix node test/smoke.mjs # the same scan with a local Probe build
В клоне репозитория указана версия 0.0.0, поэтому используется последний релиз Probe. При упаковке сервера процесс выпуска устанавливает фактическую версию.
Лицензия
Apache-2.0, как и Probe.