mcp-secret-scrub
mcp-secret-scrub
mcp-name: io.github.sudo-ai-git/mcp-secret-scrub
Детерминированный MCP-сервер без LLM, который вычищает секреты из текста, логов и транскриптов до того, как они попадут в контекст агента, — и никогда не раскрывает их значение.
Без LLM. Без сети. Чисто структурное обнаружение. MIT. Без коронных драгоценностей.
Решаемая проблема
Прежде чем передать агенту необработанный текст (или сохранить его, или передать в инструмент), вы часто не знаете, содержит ли он действующий секрет. Платформенные очистители постоянно пропускают паттерны — приватный ключ, токен nvapi-, токен github_pat_, присваивание api_key= в середине лога. Если такой текст попадёт в контекст LLM или в сохраняемый транскрипт, секрет фактически эксфильтруется.
Этот сервер отвечает детерминированно:
Какие секреты есть в этом тексте, и можно ли безопасно отредактировать их до того, как он куда-либо попадёт?
Related MCP server: ai-security-gateway-mcp
Охват обнаружения (детерминированные профили)
семейство | примеры |
Ключи AI-провайдеров |
|
Облако / GitHub |
|
Идентификация / аутентификация | JWT ( |
Присваивания |
|
Эндпоинты / DSN | Discord-вебхуки, Slack |
Сканирование никогда не возвращает значение секрета — только его тип, количество и позицию. Это жёсткий контракт безопасности, подкреплённый тестами.
Инструменты (MCP)
инструмент | назначение |
| редактирует / маскирует / хеширует секреты; возвращает очищенный текст (никогда — значение) |
| определяет, какие типы секретов присутствуют (без изменений) |
| сканирование + редактирование одним вызовом, очищенный предпросмотр + результаты |
| перечисляет все поддерживаемые профили обнаружения |
Режимы:
redact(по умолчанию) →[REDACTED:TYPE]mask→ показывает первые 4 + последние 2 символаhash→ детерминированный префикс SHA-256 (воспроизводимый между вызовами)
Быстрый старт (stdio)
pip install mcp-secret-scrub
mcp-secret-scrub # stdio (default)Или через uv/pipx для устанавливаемой консольной точки входа:
pipx install mcp-secret-scrubКонфигурация MCP-клиента:
{ "mcpServers": {
"secret-scrub": { "command": "mcp-secret-scrub" }
}}Streamable HTTP (удалённо / для публикации в Smithery)
python3 mcp_server.py --http --port 8138 # serves on http://<host>:8138/mcp/Детерминизм и гарантии безопасности
Детерминированность: одинаковый вход → идентичный вывод в каждом режиме, при каждом вызове.
Никаких утечек:
scan_textиscrub_textникогда не выводят исходный токен;_deterministic_hash— это SHA-256 (без соли), поэтому вывод воспроизводим.Без LLM и сети: чистый regex + обнаружение достижимых структур.
Безопасность ввода: нестроковый ввод возвращает понятную ошибку, а не traceback.
Проверка
python3 test_detector.py— 14/14 базовых проверок (обнаружение, редактирование, детерминизм, контракт отсутствия утечек, безвредный/юникодный/пустой ввод, неверный режим)python3 test_e2e.py— запускает реальный MCP stdio-транспорт и проверяет, что секрет НЕ передаётся по каналу
Лицензия и происхождение
MIT. Часть детерминированного семейства MCP sudo-ai-git без LLM для доверия к агентам (mcp-skill-sec · mcp-verify-claim · mcp-benchmark-hygiene · mcp-secret-scrub).
This server cannot be deployed
Maintenance
Related MCP Connectors
Detect and redact PII and secrets before text reaches an LLM, with reversible placeholders.
Secrets for developers and agents—secure context and workflows without exposing secret values.
Deterministic runtime safety for AI agents: scan PII, gate tool actions, verify LLM output.
Detects and redacts PII (emails, phones, SSNs, names, addresses) from text. $0.02/call via x402.
Related MCP Servers
AlicenseAqualityBmaintenanceEnables AI agents to scan text for leaked secrets and prompt injection markers, and redact them before reaching an LLM.21MIT- AlicenseAqualityDmaintenanceScans prompts for PII and masks or redacts sensitive data locally before sending to an LLM, supporting multiple anonymization modes.1MIT
- AlicenseAqualityAmaintenanceSanitizes text and files by removing PII, secrets, and custom patterns locally before sending to LLMs, with optional reverse-scrubbing.31,224 npm2MIT
- FlicenseAqualityCmaintenanceDetects and redacts sensitive personal information such as names, emails, phone numbers, ID numbers, and locations in text before it is processed by AI agents, using configurable mask, hash, or remove strategies.1-