No English page yet. Showing the Japanese source.
Coding AgentのDependency Hallucination/Slopsquatting防御
記事状態: 公開 · 最終確認: 2026-10-04
要点
AIが生成した依存パッケージ名は導入候補として扱います。存在確認、正常なhash、provenance、既知脆弱性scanのいずれも単独では安全性を保証しません。導入前の承認identityと、実際に取得するartifactのidentity・bytesを結び付けて確認する運用が必要です。この運用は設計上の提案であり、特定製品の防御率を実証したものではありません。
現在の判断
USENIX Security 2025の研究は調査対象LLMのpackage hallucinationと同一名の再推薦を報告しています。測定率を現行全モデルへ適用しません。[S1]
どこまで当てはまるか
Coding AgentのDependency Hallucination/Slopsquatting防御
詳しく理解する
INFERENCE
導入許可はreviewed registry/name/version/publisher/source/digestへ限定し、取得bytesとの一致を確認します。未承認名、identity変更、bytes変更、承認期限切れは再reviewへ返します。allowlistの信頼基点が侵害されれば、この設計だけでは防げません。
実装・運用
資料照合とoffline synthetic policy fixtureのみです。9ケースの期待結果が一致しました。registry、install、暗号署名、malware判定、LLM API、組織mirrorは試験していません。fixtureのALLOW_FIXTURE_ONLYをproductionの導入許可と扱いません。
利用できる条件
package manager version、registry/mirror、lockと全依存、artifact digest、承認owner/expiry、scriptとruntime制約、egress、例外監査、秘密情報を含むmanifestの送信先を確認します。
SOURCES
- S1: Spracklen et al., USENIX Security 2025, §5.3 — https://www.usenix.org/system/files/usenixsecurity25-spracklen.pdf
- S3: Churilov, 2026 preprint v3(要旨確認のみ)— https://arxiv.org/abs/2605.17062v3
- S4: pip Secure installs v26.2.1 — https://pip.pypa.io/en/stable/topics/secure-installs/
- S5: pip install / Finding Packages — https://pip.pypa.io/en/stable/cli/pip_install/
- S6: npm / Provenance limitations — https://docs.npmjs.com/generating-provenance-statements/
- S7: npm-audit v11 docs — https://docs.npmjs.com/cli/v11/commands/npm-audit/
- T1: EA-685_Evidence_Packet.md / fixtures/dependency_gate.py / results/EA-685.json(監査bundle内の再現資料)
確認できていること
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]
失敗条件・反証
新しく登録された名前、既存publisher侵害、transitive依存、platform別artifact、確認後の再解決、例外導入、install後のimport/run/buildを別々に確認します。正しいhashでも元のコードが悪意ある場合は通過し得ます。script抑制、SBOM、署名、sandboxは個別の防御層であり相互の代替にはなりません。
存在・pin・hash・provenance・audit PASSを「安全」「slopsquatting防御済」「幻覚ゼロ」と読み替えないでください。staging candidateは未監査・未公開です。
実務での使い方
導入許可はreviewed registry/name/version/publisher/source/digestへ限定し、取得bytesとの一致を確認します。未承認名、identity変更、bytes変更、承認期限切れは再reviewへ返します。allowlistの信頼基点が侵害されれば、この設計だけでは防げません。
資料照合とoffline synthetic policy fixtureのみです。9ケースの期待結果が一致しました。registry、install、暗号署名、malware判定、LLM API、組織mirrorは試験していません。fixtureのALLOW_FIXTURE_ONLYをproductionの導入許可と扱いません。
package manager version、registry/mirror、lockと全依存、artifact digest、承認owner/expiry、scriptとruntime制約、egress、例外監査、秘密情報を含むmanifestの送信先を確認します。
まだ確認できていないこと
- EA-685-UNKNOWN-01
現行全LLMの幻覚率、対象組織のtrust root、実resolver/署名挙動、mirror侵害、sandbox、SBOM漏れ、2026再評価preprintのraw再現は未確認です。
根拠資料
- 研究資料研究資料
S1: Spracklen et al., USENIX Security 2025, §5.3 —
確認上の限界
元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
- 研究資料研究資料
S3: Churilov, 2026 preprint v3(要旨確認のみ)—
確認上の限界
元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
- 研究資料研究資料
S4: pip Secure installs v26.2.1 —
確認上の限界
元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
- 研究資料研究資料
S5: pip install / Finding Packages —
確認上の限界
元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
- 研究資料研究資料
S6: npm / Provenance limitations —
確認上の限界
元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
- 研究資料研究資料
S7: npm-audit v11 docs —
確認上の限界
元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
更新履歴
EA-685-FIRST-WORK-20261004: canonical audit/publication binding
出典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
- S1: Spracklen et al., USENIX Security 2025, §5.3 — https://www.usenix.org/system/files/usenixsecurity25-spracklen.pdf
- S3: Churilov, 2026 preprint v3(要旨確認のみ)— https://arxiv.org/abs/2605.17062v3
- S4: pip Secure installs v26.2.1 — https://pip.pypa.io/en/stable/topics/secure-installs/
- S5: pip install / Finding Packages — https://pip.pypa.io/en/stable/cli/pip_install/
- S6: npm / Provenance limitations — https://docs.npmjs.com/generating-provenance-statements/
- S7: npm-audit v11 docs — https://docs.npmjs.com/cli/v11/commands/npm-audit/
- T1: EA-685_Evidence_Packet.md / fixtures/dependency_gate.py / results/EA-685.json(監査bundle内の再現資料)
EVD-EA-685-URL-8E1C83EAF1DC研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCES1: 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_REFERENCES3: 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_REFERENCES4: 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_REFERENCES5: 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_REFERENCES6: 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- 裏付ける内容
- —
- 確認日
- —
- 出典・実験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_PACKETEA-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_READBACKEA-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
- 再確認のきっかけ
- canonical revision/publication state change · body artifact hash change · source currentness change · new contradiction or implementation readback
機械検査: 通過 — Automated validation does not guarantee accuracy or authorize execution.
同じ記事IDの機械可読データです。