lazaretto について
lazarettoは、インストールや接続の前にパッケージ、エージェントスキル、MCPツールを検査するMCPサーバーです。無料のアドバイザリ・ハッシュ照合と、証拠を返す有料の振る舞いスキャンを提供し、サーバー自体はLazaretto APIへHTTPSリクエストを転送します。
主な機能
- 01パッケージのアドバイザリに基づくロックファイル検査
- 02既知の悪性アーティファクトのハッシュ照合
- 03署名付きアテステーションの検索と検証
- 04証拠付きの振る舞いスキャン
- 05MCPツールとサーバーの分析
活用シーン
- 01インストール前にプロジェクトの依存関係を検査
- 02別の情報源から得た判定を検証
- 03接続前にMCPサーバーを調査
- 04クライアント提供のMCPツール定義を確認
MCP 対応
ホスト型Streamable HTTPエンドポイント、または任意のローカルstdioサーバーを通じて、Lazarettoの検査・スキャン機能をMCPクライアントに提供します。ロックファイルやアーティファクトの検査、アテステーションの検証、MCPサーバーやツール定義の分析が可能です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://lazaretto.dev/mcpclaude mcp add --transport http jamesdfinance-dev-lazaretto https://lazaretto.dev/mcp{"mcpServers":{"jamesdfinance-dev-lazaretto":{"type":"http","url":"https://lazaretto.dev/mcp"}}}Cursor で開く{"servers":{"jamesdfinance-dev-lazaretto":{"type":"http","url":"https://lazaretto.dev/mcp"}}}VS Code で開く{"mcpServers":{"jamesdfinance-dev-lazaretto":{"type":"http","url":"https://lazaretto.dev/mcp"}}}{"mcpServers":{"jamesdfinance-dev-lazaretto":{"serverUrl":"https://lazaretto.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://lazaretto.dev/mcp認証が必要ツール
9| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| sha256 | string | はい | 64桁の16進数。sha256: プレフィックスは任意です |
詳細
lazaretto-mcp
パッケージをインストールする前に、その内容を把握しましょう。
Lazaretto 向けの MCP サーバーです。npm パッケージ、AI エージェントのスキル、MCP ツールを、インストール前に確定的に検証します。無料のロックファイルチェックでは、アカウントなしで、固定バージョンが明示されたすべての依存関係を OSV および OpenSSF の悪意あるパッケージに関するアドバイザリと照合します。有料スキャンでは、ファイルと行を根拠として示す動作分析が追加されます。
このパッケージは Lazaretto API の薄いフロントエンドです。検出ロジックは含まず、HTTPS リクエストを送信するだけなので、簡単に監査できます。
インストール不要、1 行で試す
プロジェクト内の固定バージョンが明示されたすべての依存関係を、公開されている悪意あるパッケージに関するアドバイザリと照合します。アカウントもキーもインストールも不要です:
curl -s https://lazaretto.dev/check --data-binary @package-lock.json
package-lock.json、npm-shrinkwrap.json、yarn.lock、pnpm-lock.yaml に対応しています。ロックファイルのコピーは保持しません。
ツール
check_lockfile(無料、API キー不要)
ロックファイル内の固定バージョンが明示されたすべての依存関係を、公開されている悪意あるパッケージに関するアドバイザリと照合します。作業ディレクトリ内の package-lock.json、yarn.lock、pnpm-lock.yaml を読み取るため、エージェントがロックファイルをコンテキストに貼り付ける必要はありません。1 回の呼び出しでツリー全体を確認できます。
malicious リストが空でも、unverified も空の場合に限り、問題がないことを示します。
known_bad_lookup:無料、キー不要です。sha256 コンテンツハッシュは既知の不正なアーティファクトでしょうか? 毎日更新されるインジケーターストアと完全一致するハッシュを照合します。find_attestation:無料、キー不要です。このアーティファクトについて、すでに誰かが証明を発行しているでしょうか?[email protected]のようなパッケージ ID、MCP サーバーの URL、または sha256 コンテンツハッシュを指定すると、証明が存在する場合に、署名済みの判定とその経過時間、古いルールバージョンで作成されたものかどうか、対象が現在既知の不正なものとして識別されている場合のcontradictedを取得できます。見つからない場合、この対象に関する証明は記録されていません。これは、どちらの判定を示すものでもありません。verify_attestation:無料、キー不要です。スキャンの判定には、署名済みの証明(コンパクト JWS)が付属します。別のエージェント、README、またはロックファイルから受け取ったものをこのツールに渡すと、署名が Lazaretto のものであることを確認し、証明されたクレームを返します。また、以前はclearだった対象が現在は既知の不正なものとして識別されている場合はcontradictedを付与します。これにより、再スキャンや再支払いをせずに判定を信頼できます。それでも、実行するアーティファクトがclaims.subと一致することを確認してください。scan_artifact:対象(npm または PyPI パッケージ、GitHub リポジトリ、ClawHub スキル、生 URL、またはインラインテキスト)を取得して実行せずにスキャンし、証拠とともに決定論的な判定(malicious、flagged、clear、error)を返します。完全なスキャンには前払いクレジットが必要です。ホステッドサーバーではX-API-Keyヘッダーを、stdio パッケージではLAZARETTO_API_KEYを指定してください。クレジットは https://lazaretto.dev/buy で購入できます。scan_lockfile_deep:有料です。判定を返すパッケージごとに 1 クレジットを消費します。check_lockfileの動作分析版です。名前とバージョンの照合だけでなく、完全に固定された依存関係のコードをすべて読み取ります。1 回の呼び出しにつき最大 25 件です。complete_coverageを信頼してください。falseは、何かが上限に達した、エラーになった、または一部しか読み取られなかったことを意味するため、実行結果はツリー全体の安全性を保証するものではありません。同じロックファイルを再度渡すと再スキャンされ、同じ先頭のパッケージについて再度課金されます。結果には、not_scanned.packagesに残されたすべてのパッケージがname@version形式で列挙されます。実行を続けるには、ロックファイルの代わりにそれらをpackagesとして渡してください。- ホステッドサーバー(
https://lazaretto.dev/mcp):not_scanned.packagesのリスト全体をpackagesとして渡します。先頭の 25 件がスキャンされ、残りは再びnot_scanned.packagesに列挙されます。 - stdio パッケージ:
packagesは 1 回の呼び出しにつき最大 25 件を受け付けるため、not_scanned.packagesを 25 件ずつ処理してください。ツールは結果にnext_callを追加し、next_call.packagesにはそのリストの先頭 25 件が入ります。
- ホステッドサーバー(
check_mcp_tools:有料です。stdio 経由で動作するサーバーは大半を占めますが、外部から接続できないため、確認できるエンドポイントがありません。ただし、クライアントは起動時にすでにツール一覧を読み込んでいます。その JSON を貼り付ければ、サーバーには一切接続せず、同じテキストを同じルールで分析できます。scan_mcp_server:有料です。MCP エンドポイントに接続する前に、そのエンドポイントを指定してください。サーバーに自己紹介とツール一覧の提示を求め、サーバーがエージェントに渡すテキスト(ツール名、説明、パラメータースキーマ、指示)を分析します。このテキストはモデルが従うドキュメントであるため、サーバーが制御する指示チャネルです。ツールポイズニング(~/.ssh/id_rsaやエージェント設定ファイルを読み取る隠し指示)、シークレットや会話内容を外部に送信する目的のパラメーター、別のサーバーのツールに対する常時有効な指示を検出します。証拠には該当するツール名が示されます。呼び出すのはinitializeとtools/listのみで、サーバー自身のツールは呼び出しません。
レポートは証拠を伴うシグナルであり、保証ではありません。clear は既知の不正なものとの一致がなく、ルールにも抵触しなかったことを意味します。リスクがないことを示すものではありません。
利用する(ホスト型、インストール不要)
サーバーは https://lazaretto.dev/mcp でホストされています。リモート(Streamable HTTP)サーバーに対応した任意の MCP クライアントに追加してください。インストールもローカルプロセスも不要です。
{
"mcpServers": {
"lazaretto": {
"url": "https://lazaretto.dev/mcp",
"headers": {
"X-API-Key": "your-prepaid-key (optional; the free tools need no key)"
}
}
}
}
check_lockfile、known_bad_lookup、find_attestation、verify_attestation はキーなしで利用できます。scan_artifact、scan_lockfile_deep、scan_mcp_server、check_mcp_tools にはクレジットが必要です。https://lazaretto.dev/buy でパックを購入してください(ウォレットを持つエージェントは、POST https://lazaretto.dev/v1/credits/topup への x402 経由でクレジットを自分で購入することもできます)。
stdio サーバーをセルフホストする(任意)
ホスト型 URL ではなく、stdio 経由でローカル実行する場合は、npm パッケージ lazaretto-mcp を利用できます。
{
"mcpServers": {
"lazaretto": {
"command": "npx",
"args": ["-y", "lazaretto-mcp"],
"env": {
"LAZARETTO_API_KEY": "your-prepaid-key (optional; the free tools need no key)"
}
}
}
}
または、クローンから実行します。
git clone https://github.com/jamesdfinance-dev/lazaretto-mcp
cd lazaretto-mcp && npm ci
read -rs LAZARETTO_API_KEY && export LAZARETTO_API_KEY
node index.mjs
stdio パッケージでの支払いには、LAZARETTO_API_KEY のプリペイドクレジットのみを使用できます。独自の x402 クライアントは含まれていないため、ペイウォールの結果に x402 の支払いチャレンジは含まれません。呼び出しごとの x402 決済は、このパッケージ経由ではなく、エージェント独自の HTTP クライアントから https://lazaretto.dev/v1/scan に対して行う必要があります。
LAZARETTO_BASE_URL は API ホストを上書きします(デフォルトは https://lazaretto.dev)。
ライセンス
MIT。Lazaretto サービスとその検出エンジンは、別個の独自プロプライエタリなものです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。