Add OWASP Top 10 for LLM Applications 2026 as a mapped resource

オープン
#1,015 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
python
領域
content, security

調査の方向性

CONTRIBUTING.md と、2025 年の既存のリソースおよびマッピングのプロセスから始めます。メンテナーが Route A または B を選択したら、スプレッドシートの経路には CREmappingtemplate.xls を使用するか、コードの経路には application/tests/fixtures/owasp_mappings/、owasp_llm_top10_2025_parser_test.py、#960 の importer パターン、scripts/import-all.sh を調べます。完了とは、2026 年のリソースが 2025 年のものと別個であり、そのマッピングがレビュー済みであるか、importer のテストと wiring によってカバーされていることを意味します。

索引モデルが issue の本文から書いたものです。

説明

The ask

The 2026 edition of the OWASP Top 10 for LLM Applications is out and OpenCRE doesn't carry it yet. I'd like to add it as a new resource and do the mapping work myself. I co-lead the project, so I can supply the source document and answer questions about what any entry was meant to cover.

I need a yes to proceed, and a pick between the two routes at the bottom.

I'm opening an issue instead of a PR because CONTRIBUTING.md asks contributors to wait for a maintainer to acknowledge a ticket first.

Why it needs its own resource name

OpenCRE serves OWASP Top10 for LLM today and its sections are named for the 2025 edition, like LLM01:2025 Prompt Injection.

The 2026 edition reshuffled the list. Eight of the ten IDs now point somewhere different than they did in 2025:

ID 2025 2026
LLM01 Prompt Injection Prompt Injection
LLM02 Sensitive Information Disclosure Sensitive Information Disclosure
LLM03 Supply Chain Excessive Agency
LLM04 Data and Model Poisoning Supply Chain
LLM05 Improper Output Handling Data and Model Poisoning
LLM06 Excessive Agency Unbounded Consumption
LLM07 System Prompt Leakage Misinformation
LLM08 Vector and Embedding Weaknesses Hidden Context Exposure
LLM09 Misinformation Vector and Embedding Weaknesses
LLM10 Unbounded Consumption Improper Output Handling

LLM08 is worth a closer look, because it's the one entry that isn't just a renumber. System Prompt Leakage became Hidden Context Exposure, and the scope widened past the system prompt to anything the application assembles into the context window, including developer instructions, policy text pulled from RAG, and the schemas of tools the model can call. A mapping inherited from the 2025 entry would miss most of that.

If both editions shared a resource name, /smartlink/standard/OWASP Top10 for LLM/LLM03 resolves to Supply Chain or Excessive Agency depending on which import ran last. You already split OWASP Top 10 2017 and OWASP Top 10 2021 for the same reason.

None of this touches the 2025 resource. It stays as it is.

How I'd build the mapping

I'd go through the CRE catalog entry by entry with the mapping template spreadsheet, putting each 2026 entry's name, ID, and link on the row of the Common Requirement that fits.

A few of the entries are finer grained than anything in the catalog right now. Where that happens I'll propose a new child requirement with the NEW|<name> convention rather than stretch an existing CRE to cover it.

I won't build any of it from CWE or another standard already in OpenCRE. CONTRIBUTING.md warns that detail gets lost that way and I agree, particularly for the entries about agent behavior rather than a code defect.

Pick a route

Route A is the spreadsheet. I fill in CREmappingtemplate.xls, attach it here, and you review it before anything imports. That's the path CONTRIBUTING.md lays out for content.

Route B is code. I add the 2026 fixture under application/tests/fixtures/owasp_mappings/, the parser, a test next to owasp_llm_top10_2025_parser_test.py, and the CLI and scripts/import-all.sh wiring. Route B rides on the importer pattern in #960, so it waits for #960 to land.

Say A or B and I'll start.

Duplicate check

I read through the open and closed issues and the open PRs before filing. #960 is the closest thing, and it covers the 2025 edition and the importer plumbing rather than 2026 content.

主要言語
Python
スター
210
フォーク
167
平均マージ
4日 12時間
マージ済み PR(30日)
28

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

OWASP/OpenCRE のほかの issue

OWASP/OpenCRE の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。