本文へスキップ

AI運用の判断と根拠を引く

トップへ戻る

Coding Agentの依存関係のハルシネーション/Slopsquatting防御

失敗・障害失敗・障害公式仕様のみ公式仕様のみ現行現行として扱う

記事状態: 公開 · 最終確認: 2026-10-04

要点

AIが生成した依存パッケージ名は導入候補として扱います。存在確認、正常なhash、出典・来歴、既知脆弱性scanのいずれも単独では安全性を保証しません。導入前の承認主体の識別と、実際に取得する成果物の主体の識別・bytesを結び付けて確認する運用が必要です。この運用は設計上の提案であり、特定製品の防御率を実証したものではありません。

現在の判断

USENIX Security 2025の研究は調査対象LLMのpackage hallucinationと同一名の再推薦を報告しています。測定率を現行全モデルへ適用しません。[S1]

どこまで当てはまるか

Coding Agentの依存関係のハルシネーション/Slopsquatting防御

詳しく理解する

分析と推論

導入許可はreviewed registry/name/バージョン/publisher/出典/digestへ限定し、取得bytesとの一致を確認します。未承認名、主体の識別変更、bytes変更、承認期限切れは再reviewへ返します。allowlistの信頼基点が侵害されれば、この設計だけでは防げません。

実装・運用

資料照合とoffline synthetic policy fixtureのみです。9ケースの期待結果が一致しました。registry、install、暗号署名、malware判定、LLM API、組織mirrorは試験していません。fixtureのALLOW_FIXTURE_ONLYを本番環境の導入許可と扱いません。

利用できる条件

パッケージマネージャーのバージョン、レジストリ/ミラー、ロックファイルとすべての依存関係、成果物のダイジェスト、承認済みの所有者/有効期限、スクリプトと実行時の制約、外部への送信(egress)、例外の監査、および機密情報を含むマニフェストの送信先を確認します。

出典

確認できていること

  • USENIX Security 2025の研究は調査対象LLMのpackage hallucinationと同一名の再推薦を報告しています。測定率を現行全モデルへ適用しません。[S1]

    pip v26.2.1のハッシュチェックは、すべての要求および依存関係のピン留めとローカルハッシュを要求します。インデックスから提供されるハッシュと、別途承認されたハッシュでは、信頼の起点(全体の起点 of trust)が異なります。複数のインデックスを使用する場合、単純にプライベートなソースが優先されるわけではなく、extra-index-urlには依存関係の混入(dependency confusion)に関する警告があります。[S4, S5]

    npm 出典・来歴は生成・構築出所への検証可能な接続であり、悪意あるコードの不在を保証しません。npm 監査の既知脆弱性照合と監査 signaturesの署名確認を区別します。ignore-scriptsでもexplicit npm 実行/test等の意図されたscriptまで無効にはなりません。[S6, S7]

失敗条件・反証

  • 新しく登録された名前、既存publisher侵害、transitive依存、platform別成果物、確認後の再解決、例外導入、install後のimport/実行/生成・構築を別々に確認します。正しいhashでも元のコードが悪意ある場合は通過し得ます。script抑制、SBOM、署名、sandboxは個別の防御層であり相互の代替にはなりません。

  • 存在、ピン留め、ハッシュ、来歴、および監査(監査)の合格(PASS)を、「安全である」「スロップ・スクワッティング(slopsquatting)対策済みである」「幻覚がゼロである」と読み替えないでください。ステージング候補は、未監査かつ未公開の状態です。

実務での使い方

  • 導入許可はreviewed registry/name/バージョン/publisher/出典/digestへ限定し、取得bytesとの一致を確認します。未承認名、主体の識別変更、bytes変更、承認期限切れは再reviewへ返します。allowlistの信頼基点が侵害されれば、この設計だけでは防げません。

  • 資料照合とoffline synthetic policy fixtureのみです。9ケースの期待結果が一致しました。registry、install、暗号署名、malware判定、LLM API、組織mirrorは試験していません。fixtureのALLOW_FIXTURE_ONLYを本番環境の導入許可と扱いません。

  • パッケージマネージャーのバージョン、レジストリ/ミラー、ロックファイルとすべての依存関係、成果物のダイジェスト、承認済みの所有者/有効期限、スクリプトと実行時の制約、外部への送信(egress)、例外の監査、および機密情報を含むマニフェストの送信先を確認します。

まだ確認できていないこと

  • EA-685-UNKNOWN-01

    現行のすべてのLLMにおける幻覚率、対象組織の信頼の起点(trust 全体の起点)、実際の解決者(resolver)/署名の挙動、ミラーの侵害、サンドボックス、SBOMの漏れ、および2026再評価プレプリントの加工せず中継するプロキシ(raw)による再現は、未確認です。

根拠資料

更新履歴

  1. EA-685-FIRST-WORK-20261004: 正式な 監査/publication 対応付け

出典ID・検証情報・機械可読データ

根拠の種類と情報の鮮度は、ラベルとアイコンで確認できます。

記事ID
EA-685
最終確認日
2026-10-04
提供元・モデル・プラン・利用環境
—
対象地域
—
元資料の全文と収録照合記録
PUBLIC_CLAIM

AIが生成した依存パッケージ名は導入候補として扱います。存在確認、正常なhash、provenance、既知脆弱性scanのいずれも単独では安全性を保証しません。導入前の承認identityと、実際に取得するartifactのidentity・bytesを結び付けて確認する運用が必要です。この運用は設計上の提案であり、特定製品の防御率を実証したものではありません。

ESTABLISHED

USENIX Security 2025の研究は調査対象LLMのpackage hallucinationと同一名の再推薦を報告しています。測定率を現行全モデルへ適用しません。[S1]

pip v26.2.1のhash-checkingは全要求・依存のpinとlocal hashを要求します。index提供hashと独立の承認hashは信頼基点が異なります。複数indexは単純な私有元優先ではなく、extra-index-urlにはdependency confusion警告があります。[S4, S5]

npm provenanceはbuild出所への検証可能な接続であり、悪意あるコードの不在を保証しません。npm auditの既知脆弱性照合とaudit signaturesの署名確認を区別します。ignore-scriptsでもexplicit npm run/test等の意図されたscriptまで無効にはなりません。[S6, S7]

INFERENCE

導入許可はreviewed registry/name/version/publisher/source/digestへ限定し、取得bytesとの一致を確認します。未承認名、identity変更、bytes変更、承認期限切れは再reviewへ返します。allowlistの信頼基点が侵害されれば、この設計だけでは防げません。

FAILURE_ENVELOPE

新しく登録された名前、既存publisher侵害、transitive依存、platform別artifact、確認後の再解決、例外導入、install後のimport/run/buildを別々に確認します。正しいhashでも元のコードが悪意ある場合は通過し得ます。script抑制、SBOM、署名、sandboxは個別の防御層であり相互の代替にはなりません。

IMPLEMENTATION_STATE

資料照合とoffline synthetic policy fixtureのみです。9ケースの期待結果が一致しました。registry、install、暗号署名、malware判定、LLM API、組織mirrorは試験していません。fixtureのALLOW_FIXTURE_ONLYをproductionの導入許可と扱いません。

AVAILABILITY_GATES

package manager version、registry/mirror、lockと全依存、artifact digest、承認owner/expiry、scriptとruntime制約、egress、例外監査、秘密情報を含むmanifestの送信先を確認します。

UNKNOWN

現行全LLMの幻覚率、対象組織のtrust root、実resolver/署名挙動、mirror侵害、sandbox、SBOM漏れ、2026再評価preprintのraw再現は未確認です。

STOP_CONDITION

存在・pin・hash・provenance・audit PASSを「安全」「slopsquatting防御済」「幻覚ゼロ」と読み替えないでください。staging candidateは未監査・未公開です。

SOURCES
  • EVD-EA-685-URL-8E1C83EAF1DC研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    S1: Spracklen et al., USENIX Security 2025, §5.3 —

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-685-URL-8E1C83EAF1DC
    検証箇所
    SOURCES · S1 · - S1: Spracklen et al., USENIX Security 2025, §5.3 — https://www.usenix.org/system/files/usenixsecurity25-spracklen.pdf
    適用範囲
    SOURCES
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EVD-EA-685-URL-4693A7218558研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    S3: Churilov, 2026 preprint v3(要旨確認のみ)—

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-685-URL-4693A7218558
    検証箇所
    SOURCES · S3 · - S3: Churilov, 2026 preprint v3(要旨確認のみ)— https://arxiv.org/abs/2605.17062v3
    適用範囲
    SOURCES
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EVD-EA-685-URL-AE875C4A049E研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    S4: pip Secure installs v26.2.1 —

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-685-URL-AE875C4A049E
    検証箇所
    SOURCES · S4 · - S4: pip Secure installs v26.2.1 — https://pip.pypa.io/en/stable/topics/secure-installs/
    適用範囲
    SOURCES
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EVD-EA-685-URL-B533BC778486研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    S5: pip install / Finding Packages —

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-685-URL-B533BC778486
    検証箇所
    SOURCES · S5 · - S5: pip install / Finding Packages — https://pip.pypa.io/en/stable/cli/pip_install/
    適用範囲
    SOURCES
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EVD-EA-685-URL-0869A4CCDB56研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    S6: npm / Provenance limitations —

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-685-URL-0869A4CCDB56
    検証箇所
    SOURCES · S6 · - S6: npm / Provenance limitations — https://docs.npmjs.com/generating-provenance-statements/
    適用範囲
    SOURCES
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EVD-EA-685-URL-A7A8FFF2D41F研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    S7: npm-audit v11 docs —

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-685-URL-A7A8FFF2D41F
    検証箇所
    SOURCES · S7 · - S7: npm-audit v11 docs — https://docs.npmjs.com/cli/v11/commands/npm-audit/
    適用範囲
    SOURCES
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EA-685-R11-RESEARCH研究資料研究資料根拠の出所: AUDITED_CANONICAL_RESEARCH_PACKET

    EA-685 監査済みresearch / canonical revision binding

    裏付ける内容
    USENIX Security 2025の研究は調査対象LLMのpackage hallucinationと同一名の再推薦を報告しています。測定率を現行全モデルへ適用しません。[S1]
    確認日
    2026-10-04
    出典・実験ID
    EA-685-FIRST-WORK-20261004
    検証箇所
    EA-685-FIRST-WORK-20261004 · content/staging/EA-685.md
    適用範囲
    監査済みEA本文・canonical revision・既存Source Graph relationの範囲。欠損currentnessは推測で閉じない。
    出典・来歴
    AUDIT_PASS_CANONICAL_BINDING
    限界
    canonical監査・revision bindingの存在を示す。外部ソースcurrentnessが本文またはcontrol-planeで確定していない場合は、currentnessをUNKNOWNのまま保持する。
  • EA-685-R11-WEB-READBACK実装資料実装資料根拠の出所: IMPLEMENTATION_READBACK

    EA-685 Web body identity / canonical readback

    裏付ける内容
    canonical staging bodyのSHA-256一致とR9 canonical ledger readbackをProduction projectionの入力として検証する。
    確認日
    2026-10-04
    出典・実験ID
    WEBBODY-EA0685-R8-3AD4C31F
    検証箇所
    WEBBODY-EA0685-R8-3AD4C31F · content/staging/EA-685.md · EA-685-FIRST-WORK-20261004
    適用範囲
    R9/R10 canonical readback後のProduction生成時body identity。
    出典・来歴
    CANONICAL_READBACK_BODY_HASH_MATCH
    限界
    body identity/readbackは本文claim自体の真偽や外部ソースの最新性を追加保証しない。
出典ID
EA-685-FIRST-WORK-20261004, SRC-EA-685-URL-8E1C83EAF1DC, SRC-EA-685-URL-4693A7218558, SRC-EA-685-URL-AE875C4A049E, SRC-EA-685-URL-B533BC778486, SRC-EA-685-URL-0869A4CCDB56, SRC-EA-685-URL-A7A8FFF2D41F, WEBBODY-EA0685-R8-3AD4C31F
追跡中のUNKNOWN ID
EA-685-UNKNOWN-01
再確認のきっかけ
正式な 改訂版/publication 状態 change · 本文 成果物 hash change · 出典 現行性 change · new contradiction or 実装 結果の照合

機械検査: 通過 — 機械検査の結果です。情報の正確性や実行の承認を保証するものではありません。

    同じ記事IDの機械可読データです。