Add OWASP Top 10 for LLM Applications 2026 as a mapped resource
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
Hướng nghiên cứu
Bắt đầu với CONTRIBUTING.md và quy trình hiện có về resource và mapping của năm 2025. Sau khi một maintainer chọn Route A hoặc B, hãy sử dụng CREmappingtemplate.xls cho hướng bảng tính, hoặc kiểm tra application/tests/fixtures/owasp_mappings/, owasp_llm_top10_2025_parser_test.py, pattern importer trong #960 và scripts/import-all.sh cho hướng mã. Được xem là hoàn tất khi resource năm 2026 khác với năm 2025 và các mapping của nó đã được review hoặc được các bài kiểm thử importer và wiring bao phủ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Python
- Star
- 210
- Fork
- 167
- Merge trung bình
- 4 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 28
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của OWASP/OpenCRE
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
OWASP/OpenCRE#1215 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Map Analysis continues polling after a background job failsCó thể đã có người làm @amantebriwal4321 đã nhận 4 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
OWASP/OpenCRE#1211 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
OSCAL Compass adopterĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 66/100
Maintainer thường phản hồi trong vòng 1 ngày
-
MCP tools return "Internal MCP tool error." when OpenCRE is unreachable or times outCó thể đã có người làm @ShaanGS đã nhận 23 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
OWASP/OpenCRE#1163 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
find_node_by_name endpoint does not enforce MAX_ITEMS_PER_PAGE, allowing unbounded pagination queries`Có thể đã có người làm @Jeffy123-zhu đã nhận 26 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
OWASP/OpenCRE#1149 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của OWASP/OpenCRE
Issue tương tự
-
Unknown stop ID in slow zone data crashes post formatting and skips the rest of that day's postsĐang mởbackend bug tm-new-volunteer
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
transitmatters/mbta-slow-zone-bot#81 · 1 bình luận ·
-
area:schema documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
risk:high type:ci
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
spacetelescope/rdmt-spire#49 ·
Maintainer thường phản hồi trong vòng 1 ngày