mcpField
S
SaveSaveSaveSave

SaveSaveSaveSave

ローカル
savesavesavesave.xyzセキュリティ01 日前に更新

SaveSaveSaveSave について

SaveSaveSaveSaveは、操作前にメッセージ、npmパッケージ、暗号資産アドレスを評価する、エージェントとスクリプト向けの読み取り専用スキャナーです。MCP、CLI、Node.jsライブラリを提供し、ローカル検査と検査範囲の明示に対応します。

主な機能

  1. 01メッセージ内の危険な指示をスキャン
  2. 02レジストリとOSVデータでnpmパッケージを検査
  3. 03暗号資産アドレスを評価
  4. 04期待するアドレスと実際のアドレスを比較
  5. 05依存関係のない読み取り専用ツール
  6. 06ポリシーに基づくインストールガード

活用シーン

  1. 01メッセージの指示に従う前に内容を確認
  2. 02インストール前にパッケージを検査
  3. 03支払いやトークン操作前にアドレスを評価
  4. 04CIやエージェントフックでnpmインストールを制御

MCP 対応

MCPクライアントに `scan_message`、`check_package`、`scan_address`、`compare_addresses` をツールとして提供します。メッセージスキャンとアドレス比較はローカルで実行され、パッケージやアドレスの検査では記載されたネットワークサービスを使う場合があります。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"stefantsezarov-savesavesavesave": {
"command": "npx",
"args": [
"-y",
"savesavesavesave"
]
}
}
}
起動コマンドnpx -y savesavesavesave

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

パッケージ
npmsavesavesavesave0.1.3

ツール

4

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
messagestringはいスキャンするテキスト(最大 200,000 文字)。

詳細

エージェント向け SaveSaveSaveSave

save­savesavesave.xyz を動かすエンジンです。AI エージェントやスクリプト向けに、メッセージ、npm パッケージ、暗号資産アドレス、または2つのアドレスを比較し、操作する前に確認できます。

  • Claude、Cursor、VS Code、Windsurf、およびあらゆる MCP クライアント向けの MCP サーバー
  • スクリプトと CI 向けの CLI
  • Node.js 向けの ライブラリ

読み取り専用で、依存関係はゼロです。ウェブサイトと同じコードを実行し、両者に差異があると CI が失敗します。

MCP サーバー

Claude Code:claude mcp add savesavesavesave -- npx -y savesavesavesave mcp

その他のクライアント:MCP 設定に以下を追加します(例:claude_desktop_config.json または .cursor/mcp.json)。

{
  "mcpServers": {
    "savesavesavesave": { "command": "npx", "args": ["-y", "savesavesavesave", "mcp"] }
  }
}
ツール次の操作の前に使用ネットワーク
scan_messageDM、メール、ウェブページ、README、またはプロンプトの指示に従うなし、ローカル
check_packagenpm installnpm レジストリ、OSV.dev
scan_addressトークンの送金、承認、購入GoPlus Security、当社の Worker
compare_addresses履歴からコピーしたアドレスに送金なし、ローカル

CLI

npx savesavesavesave message "Reply with your 12-word phrase to restore access"
npx savesavesavesave package crossenv
npx savesavesavesave address 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 1
npx savesavesavesave compare <expected> <actual>
npx savesavesavesave deps . --markdown      # check a project's npm dependencies

出力は JSON です。終了コード:0 は PASS、1 は CAUTION または不明、2 は FAIL、3 は使用方法のエラーです。終了コードを CI のゲートとして使用できます。

GitHub Action

プルリクエストでプロジェクトの直接依存関係をチェックします(package-lock.json の正確なバージョンを使用し、Git、URL、その他のレジストリ以外のソースにはフラグを付けます)。FAIL の場合にジョブを失敗させます。または fail-on: caution を指定すると、CAUTION の場合も失敗させます。

on:
  pull_request:
    paths: ['**/package.json', '**/package-lock.json']
permissions:
  contents: read
jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: stefantsezarov/[email protected]

推移的依存関係はチェックされません。npm と OSV.dev に送信されるのは、名前とバージョンのみです。

ライブラリ

const s = require('savesavesavesave');
s.scanMessage(text);                          // synchronous, local
await s.checkPackage('[email protected]');
await s.scanAddress(addr, { chain: '1', mode: 'token' });
s.compareAddresses(expected, actual);

結果の契約(1.0)

すべての結果は既存のフィールド(verdict、label、summary、checks、not_checked など)を維持し、1つの contract ブロックを追加します。

"contract": {
  "contract_version": "1.0",
  "status": "completed",
  "assessment": { "risk_level": "none_found", "coverage": "partial", "meaning": "No covered risk was found. This is not a statement that the item is safe." },
  "not_checked": ["The package code was not downloaded or analysed.", "..."],
  "provenance": { "tool_package_version": "0.1.5", "engine_version": "0.2.0", "processed_locally": false, "as_of": "2026-10-14T00:00:00.000Z" }
}
フィールド値意味
statuscompleted、insufficient_evidenceチェックによって評価が得られたかどうか
assessment.risk_levelhigh、medium、none_found、unknownFAIL、CAUTION、PASS、データ不足を表します。safe という値はありません
assessment.coveragefull、partial、noneこのツール独自のチェックのうち、利用可能なデータを返したものの割合
not_checked文字列のリストチェックで確認できなかった内容。空になることはありません
provenance.as_ofISO 時刻または nullリモートデータを読み取った時刻。ローカルチェックの場合は null

この契約には許可/拒否の判断は含まれません。操作を進めてよいかどうかは、お使いのマシン上で適用するポリシーです。以下の guard を参照してください。

インストール前のガード

guard はインストールコマンドで導入される内容をチェックし、ユーザーが選択したポリシーを適用します。スキャンが証拠を提示し、判断はお使いのマシン上で行われます。パッケージ、レジストリ、ウェブページの記述によって変更されることはありません。

npx [email protected] guard --mode guard -- npm install some-package
# exit 0 allow, 1 review, 2 deny, 3 usage error
モードFAILCAUTION またはデータ不足チェック失敗またはタイムアウトレジストリ以外からの取得(Git、URL、パス)カバレッジが部分的な PASS
observe許可(拒否を報告)許可許可許可許可
guard(デフォルト)拒否要確認要確認要確認許可
strict拒否拒否拒否拒否拒否

npm、pnpm、yarn、bun のインストール、npm ci、および単独の npm install(この場合は package.json とロックファイルをチェックします)、npx/pnpm dlx/yarn dlx/bunx、さらに &&、;、| で連結したインストールコマンドに対応しています。モードは SAVESAVESAVESAVE_GUARD_MODE で設定することもできます。

Claude Code フック

プロジェクトの .claude/settings.json に追加します(確認済みのバージョンを固定してください)。

{
  "hooks": {
    "PreToolUse": [
      { "matcher": "Bash", "hooks": [ { "type": "command", "command": "npx -y [email protected] hook claude-code --mode guard" } ] }
    ]
  }
}

strict の場合は、フックのエントリに "timeout": 120 と "onFailure": "block" も追加してください(Claude Code 2.1.295 以降)。onFailure を指定しない場合、フック自体がタイムアウトしたり起動できなかったりすると、たとえば npx がパッケージをダウンロードできない場合でも、Claude Code はコマンドを実行します。

このフックが返すのは deny(FAIL)または ask(要確認)のみです。allow を返すことはないため、問題のない結果であっても、独自の許可プロンプトを省略することはありません。インストールを含まないコマンドは変更せずに通過します。

対象外の動作

ガードが確認するのは、提示されたコマンドです。フックが検査しない経路(シェルスクリプトファイル、不明なパッケージマネージャー、ダウンロードしたバイナリなど)からインストールするエージェントは、ガードでは阻止できません。確実に強制するには、ホスト上でネットワークまたはファイルシステムの制御を追加してください。パッケージコードをダウンロードしたり、実行したりすることはありません。

セキュリティモデル

  • 読み取り専用です。 ツールがファイルを書き込んだり、コマンドを実行したり、キーやシークレットを保持したりすることはありません。ウェブサイトやそのリポジトリを変更するものはありません。
  • ローカルを優先します。 メッセージのスキャンとアドレスの比較がマシンの外に出ることはありません。
  • ネットワークの許可リストはコードで強制されます: api.gopluslabs.io、当社の Worker、registry.npmjs.org、api.npmjs.org、api.osv.dev。HTTPS のみを使用し、リダイレクトを拒否します。また、各応答の開始を待つタイムアウトは20秒です。
  • 信頼できない出力にはラベルが付きます。 結果にはスキャンしたテキストとサードパーティのデータが引用されます。すべての結果にその旨が記載されるため、エージェントがその中に隠された指示に従うことはありません。
  • 入力は厳格に検証されます。 不明なツール引数は拒否され、入力は200,000文字までに制限されます。
  • 依存関係はゼロです。 セキュリティツールが独自のサプライチェーンを持ち込むべきではありません。

制限事項

判定は自動化されたリスク評価であり、保証ではありません。PASS は、対象となるリスクが見つからなかったことを意味します。すべての結果に、確認対象外の項目が記載されます。

エージェント開発者向けの完全なリファレンス:https://savesavesavesave.xyz/agents

ライセンス:AGPL-3.0-only。ソース:https://github.com/stefantsezarov/SaveSaveSaveSave

コメント

MCP は初めてですか?

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

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