Skip to content

feat(redteam)!: align OWASP LLM Top 10 with the 2026 edition - #10335

Open
stefanoamorelli wants to merge 2 commits into
promptfoo:mainfrom
stefanoamorelli:feat/owasp-llm-top-10-2026
Open

feat(redteam)!: align OWASP LLM Top 10 with the 2026 edition#10335
stefanoamorelli wants to merge 2 commits into
promptfoo:mainfrom
stefanoamorelli:feat/owasp-llm-top-10-2026

Conversation

@stefanoamorelli

@stefanoamorelli stefanoamorelli commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

We just published the 2026 edition of the Top 10 for LLM Applications on August 4, 2026 (canonical source). It reorders most of the list and replaces System Prompt Leakage with the broader Hidden Context Exposure. This PR re-keys OWASP_LLM_TOP_10_MAPPING and OWASP_LLM_TOP_10_NAMES so each risk keeps its existing plugin and strategy sets under its 2026 number, and updates site/docs/red-team/owasp-llm-top-10.md plus the cross-references in the supply chain, GDPR, agentic, and API Top 10 pages.

Configs that pin individual owasp:llm:NN aliases will now select the plugins of the 2026 risk with that number, which is why the title carries the breaking marker. The plain owasp:llm preset gains only tool-discovery, added to LLM08 during review so hidden-context scans exercise tool schema disclosure; the union is otherwise unchanged.

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

@promptfoo-scanner promptfoo-scanner Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 All Clear

I reviewed the PR’s documentation updates and the red-team framework constants remapping to align with OWASP LLM Top 10 (2026). The changes are limited to labels, mappings of OWASP aliases to red-team plugins/strategies, tests, and an SVG. No new LLM calls, prompt handling, or executable agent/tool capabilities were introduced.

Minimum severity threshold: 🟡 Medium | To re-scan after changes, comment @promptfoo-scanner
Learn more


Was this helpful?  👍 Yes  |  👎 No 

@codecov

codecov Bot commented Aug 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.33%. Comparing base (a1f22f5) to head (94e0f0f).

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #10335      +/-   ##
==========================================
+ Coverage   81.32%   81.33%   +0.01%     
==========================================
  Files         932      932              
  Lines       76789    76789              
  Branches    25196    25196              
==========================================
+ Hits        62447    62460      +13     
+ Misses      14342    14329      -13     
Flag Coverage Δ
backend 82.78% <ø> (+0.01%) ⬆️
site 23.31% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ce02209dc6

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread src/redteam/constants/frameworks.ts Outdated
Comment thread src/redteam/constants/frameworks.ts
Comment thread site/docs/red-team/owasp-llm-top-10.md
@stefanoamorelli

Copy link
Copy Markdown
Contributor Author

All checks are green except Redteam (Production API), which fails on the remote generation API returning HTTP 500 ("Error generating AI response") for every call. The same job is currently failing with the identical error across recent unrelated branches (codex, renovate, dependabot, tracing PRs), so it looks like an upstream service issue rather than something in this diff. The review comments are addressed in 50f8515: tool-discovery added to owasp:llm:08, legacy 2025 anchors preserved on the renumbered doc sections, and the two blog examples updated to owasp:llm:03.

Re-key OWASP_LLM_TOP_10_MAPPING and OWASP_LLM_TOP_10_NAMES to the 2026
numbering, rename System Prompt Leakage to the broader Hidden Context
Exposure, and renumber the docs. Each risk keeps its existing plugin and
strategy sets under its 2026 number, so the owasp:llm preset union is
unchanged.

BREAKING CHANGE: owasp:llm:03 through owasp:llm:10 aliases now resolve
per the 2026 numbering.
Add tool-discovery to the owasp:llm:08 mapping so hidden-context scans
cover tool schema disclosure, preserve the 2025 anchors on renumbered
doc sections for existing external links, and update blog examples that
labeled owasp:llm:06 as Excessive Agency.
@stefanoamorelli
stefanoamorelli force-pushed the feat/owasp-llm-top-10-2026 branch from 50f8515 to 94e0f0f Compare August 11, 2026 10:49

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 94e0f0fdf4

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

it('should not duplicate plugins when using multiple aliased names', () => {
const input = {
plugins: ['owasp:llm:01', 'owasp:llm:02', 'owasp:llm:04'],
plugins: ['owasp:llm:01', 'owasp:llm:02', 'owasp:llm:05'],

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Add coverage for the re-keyed OWASP aliases

This PR reassigns most owasp:llm:NN aliases and adds tool-discovery to the full owasp:llm preset, but the only test change just swaps this dedupe fixture to owasp:llm:05; nothing asserts the new per-risk expansions (for example owasp:llm:03 agency or owasp:llm:06 DoS) or that Hidden Context scans include tool-discovery. A future regression in these public, security-sensitive compliance aliases would still pass this suite, so add explicit parsed-output assertions for the re-keyed aliases and the new full-preset plugin.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant