mcpField
S
ScrubGuard

ScrubGuard

ローカル
scrubguard-api.scrubguard.workers.devセキュリティ

ScrubGuard について

ScrubGuardは、機密テキストやJSONを扱う開発者とAIワークフロー向けのPII・シークレット除去ツールです。チェックサム検証で通常の数字の誤検出を抑え、元に戻せるトークン化に対応します。

主な機能

  1. 01PIIとシークレットの検出・除去
  2. 02カード、IBAN、SSNの検証
  3. 03可逆トークン化と復元
  4. 04ネストしたJSONの再帰的なサニタイズ
  5. 05バックトラッキングを抑えた線形時間正規表現

活用シーン

  1. 01LLMへのプロンプト送信前に機密情報を除去
  2. 02ログ内の認証情報や個人データの整理
  3. 03LLMの応答に含まれるトークンの復元

MCP 対応

ローカルMCPサーバーは、テキストの除去、トークンの復元、JSONのサニタイズを行うscrub_text、rehydrate_text、scrub_jsonツールをAIクライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"scrubguard-dev-scrubguard": {
"command": "npx",
"args": [
"-y",
"scrubguard-mcp"
],
"env": {
"SCRUBGUARD_API_KEY": "<SCRUBGUARD_API_KEY>"
}
}
}
}
起動コマンドnpx -y scrubguard-mcp
設定が必要な環境変数
SCRUBGUARD_API_KEYシークレットOptional Pro key for the hosted API. Leave unset to scrub locally with no network calls.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmscrubguard-mcp1.0.0

ツール

3

掲載時のツール一覧 · 4 日前に更新

パラメーター型必須説明
modeenumいいえtokenize([EMAIL_1] + 可逆ボールト)、redact、または masktokenize | redact | mask
textstringはいサニタイズする生テキストまたはプロンプト
typesarrayいいえ検出器タイプのオプションの許可リスト

詳細

ScrubGuard - 決定論的な PII・シークレットのスクラブと、可逆な LLM トークナイザー

サブミリ秒、依存関係ゼロで PII とシークレットを編集し、数学的なチェックサム検証(Luhn クレジットカード、ISO 7064 Mod-97 IBAN、SSA の米国 SSN ルール)と可逆な LLM トークナイズを実現します。

OpenAI、Anthropic、またはログにプロンプトを送信する前に機密データを除去し、LLM の応答内にある [EMAIL_1] / [CREDIT_CARD_1] プレースホルダーを自動的に元に戻します。


機能

  • 数学的なチェックサム検証: Luhn(クレジットカード)、ISO 7064 Mod-97(IBAN)、SSA のエリア/グループ/シリアル番号の検証(米国 SSN)を使用し、注文 ID やランダムな数値の誤検知を減らします。
  • シークレットと API キーの検出: 漏えいした OpenAI(sk-proj-...)、Anthropic(sk-ant-...)、Stripe(sk_live_...、sk_test_...、whsec_...)、AWS(AKIA...)、GitHub PAT(ghp_...、github_pat_...)、Slack、Google API、JWT、PEM 秘密鍵をスクラブします。
  • 可逆な LLM トークナイズ: PII を一貫したプレースホルダー([EMAIL_1]、[US_SSN_1])に置き換え、vault マップを返します。これにより、rehydrateText または POST /v1/rehydrate を使って LLM の出力を復元できます。
  • 詳細な JSON サニタイザー: JSON スキーマを壊さずに、最大 32 階層まで文字列と機密キー(password、secret、api_key、ssn)を再帰的にスクラブします。
  • 線形時間の正規表現エンジン: 互いに素な文字クラスと上限付き反復により、壊滅的なバックトラッキング(ReDoS)を防ぎます。

クイックスタート(ホスト型エッジ API)

1. LLM に送信する前にプロンプトをスクラブしてトークナイズする(POST /v1/scrub)
curl -X POST https://scrubguard-api.scrubguard.workers.dev/v1/scrub \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Refund customer [email protected] on card 4532 0151 1283 0366 (SSN 412-55-9821)",
    "mode": "tokenize"
  }'

レスポンス:

{
  "output": "Refund customer [EMAIL_1] on card [CREDIT_CARD_1] (SSN [US_SSN_1])",
  "findings_count": 3,
  "findings_by_type": {
    "CREDIT_CARD": 1,
    "US_SSN": 1,
    "EMAIL": 1
  },
  "vault": {
    "[CREDIT_CARD_1]": "4532 0151 1283 0366",
    "[US_SSN_1]": "412-55-9821",
    "[EMAIL_1]": "[email protected]"
  }
}
2. LLM の出力を元に戻す(POST /v1/rehydrate)
curl -X POST https://scrubguard-api.scrubguard.workers.dev/v1/rehydrate \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Processed refund for [EMAIL_1] ending in [CREDIT_CARD_1].",
    "vault": {
      "[CREDIT_CARD_1]": "4532 0151 1283 0366",
      "[EMAIL_1]": "[email protected]"
    }
  }'

Node.js / Edge SDK(ScrubGuardClient)

import { ScrubGuardClient } from 'scrubguard-mcp'; // npm install scrubguard-mcp

const guard = new ScrubGuardClient({
  apiKey: process.env.SCRUBGUARD_API_KEY, // Optional: uses hosted Pro Edge API (100k req/mo)
});

// 1. Scrub user prompt
const { output: safePrompt, vault } = await guard.scrub(
  'Email [email protected] with key AKIAIOSFODNN7EXAMPLE'
);

// 2. Send `safePrompt` to OpenAI / Anthropic...
const llmResponse = `Sent confirmation to ${safePrompt.match(/\[EMAIL_\d+\]/)[0]}.`;

// 3. Restore original values
const { output: finalReply } = await guard.rehydrate(llmResponse, vault);

Claude Desktop と Cursor 用 Model Context Protocol(MCP)サーバー

ScrubGuard は、デフォルトではネットワーク通信なしでローカル実行されます。claude_desktop_config.json または .cursor/mcp.json に追加してください。

{
  "mcpServers": {
    "scrubguard": {
      "command": "npx",
      "args": ["-y", "scrubguard-mcp"]
    }
  }
}

オプションのホスト型 Pro API を使用する場合、またはローカルクローンから実行する場合:

{
  "mcpServers": {
    "scrubguard": {
      "command": "node",
      "args": ["/path/to/scrubguard/mcp/index.js"],
      "env": {
        "SCRUBGUARD_API_KEY": "sg_live_optional_pro_key"
      }
    }
  }
}

AI アシスタントに以下の 3 つの MCP ツールを公開します。

  • scrub_text:テキスト内の PII とシークレットをスクラブするか、可逆的にトークナイズします。
  • rehydrate_text:ボルトマップを使用して [TOKEN_1] プレースホルダーを復元します。
  • scrub_json:ネストされた JSON オブジェクトとログを再帰的にサニタイズします。

サポートとお問い合わせ

ご質問、バグ報告、大量利用プランについては、[email protected] までお問い合わせください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。