Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2026-54316-lab — CVE-2026-54316 (Claude Code WebFetch huggingface.co ベアホスト名権限バイパス / 情報流出) の再現ラボ | Kitploit
ツール/GitHubGitHub/inertfluid/cve-2026-54316-lab
脆弱性分析エクスプロイトデータ流出ウェブセキュリティCTFペネトレーションテスト学習と教育ラボと実践
GitHubinertfluid/cve-2026-54316-lab

cve-2026-54316-lab

CVE-2026-54316 (Claude Code WebFetch huggingface.co ベアホスト名権限バイパス / 情報流出) の再現ラボ

リポジトリを見る
12ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-54316 — Claude Code WebFetch HuggingFace データ流出ラボ

自己完結型の使い捨て可能なラボで、GHSA-fg94-h982-f3mm / CVE-2026-54316 を再現します。Claude Code が huggingface.co を WebFetch ツールの ベアホスト名 として事前承認していたため、そのドメイン上の あらゆる パス(攻撃者が管理するモデルリポジトリを含む)が 許可プロンプトなしで 取得されていました。プロンプトインジェクションと組み合わせることで、データ流出のための帯域外チャネルとなり、HuggingFace のサーバー側ダウンロード数を通じて観測可能です。

アドバイザリGHSA-fg94-h982-f3mm
CVECVE-2026-54316
パッケージ@anthropic-ai/claude-code (npm)
影響を受けるバージョン>= 0.2.54, < 2.1.163
修正バージョン2.1.163
根本原因マルチテナントホストにおけるベアホスト名の許可リスト登録 (CWE-183)

⚠️ 倫理的な使用

これは、教育および防御目的のために、修正済みで公開されている脆弱性を再現します。自分が所有するインフラストラクチャに対してのみ使用してください。

  • HuggingFace リポジトリとカナリアデータの両方があなたのものでなければなりません。
  • 「シークレット」はダミー値 (fixtures/canary.env) です — 実際のものは絶対に使用しないでください。
  • 第三者のリポジトリや実際の認証情報を標的にしないでください。

これが証明すること

  1. プロンプトバイパス (完全に決定論的): 脆弱性のある Claude Code は huggingface.co のパスを承認プロンプトなしで取得しますが、他のすべてのドメインではプロンプトが表示されます — huggingface.co がハードコードされた許可リストにあるためです。
  2. 流出チェーン: 信頼できないコンテンツがその自動承認された取得を操作してデータをエンコードし漏洩させ、HF のダウンロードメトリクスから復元可能になります。

セットアップ

コンテナが脆弱性のあるバージョンを実行する唯一の場所です。ホストはクリーンなままです。Claude サブスクリプショントークンで認証します(APIキーは不要):

root@kitploit:~
docker build -t cve-2026-54316-lab .
docker run --rm -it cve-2026-54316-lab

コンテナ内で claude を実行し、「Claude account with subscription」 を選択して対話的にログインします。脆弱性のある 2.1.162 は CLAUDE_CODE_OAUTH_TOKEN 環境変数よりも前のバージョンであるため、ここでは setup-token は使用されません — インタラクティブなブラウザ/コード貼り付けフローにより、長期有効なトークンは一切発行されません。

再現 — 主張1 (プロンプトバイパス)

ポイントは ドメインごとの承認プロンプトの非対称性 です。WebFetch は 利用可能 なまま(拒否されていない)で、承認はデフォルトでプロンプトによって処理されます。コンテナ内で claude を実行し:

WebFetch を使用して https://example.com を取得し、要約してください。

→ example.com を承認するよう求める許可プロンプトが表示されます。次に:

WebFetch を使用して https://huggingface.co/<あなたのアカウント>/canary-lab/resolve/main/config.json を取得してください。

脆弱性あり: huggingface.co の取得は プロンプトなしで 実行されますが、example.com ではプロンプトが必要でした。この非対称性がバグです — huggingface.co はハードコードされた許可リストにあります。(このテストでは HF リポジトリは存在する必要はありません。401/404 でもプロンプトが表示されなかったことが証明されます。)@anthropic-ai/[email protected] で再ビルドすると、huggingface.co の取得でもプロンプトが表示されるようになります — その前後が要点です。

再現 — 主張2 (データ流出)

  1. ./scripts/make_hf_canary_files.sh ./hf-repo を実行し、hf-repo/ を自分が所有する公開 HuggingFace リポジトリ (<your-account>/canary-lab) にプッシュします。
  2. payloads/untrusted-readme.md を編集し、HF_ACCOUNT を設定して、エージェントが信頼できない入力として読み取る場所に配置します。
  3. そのコンテンツに対してエージェントを実行します。その後、リポジトリのダウンロードメトリクスを読み取り、カナリア文字列を再構築します。

ファイル

  • Dockerfile — 脆弱性のある 2.1.162 に固定
  • .claude/settings.json — 許可/拒否リストが空なので WebFetch がドメインごとにプロンプトを表示する
  • fixtures/canary.env — ダミーのカナリア
  • scripts/make_hf_canary_files.sh — HF カナリアファイルのレイアウト
  • payloads/untrusted-readme.md — プロンプトインジェクションペイロード (サニタイズ済み)
ツールをダウンロード