Skip to content

docs(permalinks): publish canonical 2026 /llmrisk/ slugs and validate them - #157

Open
drk-ram wants to merge 1 commit into
GenAI-Security-Project:mainfrom
drk-ram:docs/llmrisk-2026-canonical-permalinks
Open

drk-ram wants to merge 1 commit into
GenAI-Security-Project:mainfrom
drk-ram:docs/llmrisk-2026-canonical-permalinks

Conversation

@drk-ram

@drk-ram drk-ram commented Nov 1, 2026

Copy link
Copy Markdown

Summary

Closes #134.

The 2026 /llmrisk/ pages 404 because the site has not published them, not because the slugs were guessed wrong. The llmrisk post type currently lists ten pages, all 2025. This change publishes the canonical 2026 slug contract in the source the site and integrators should follow, and locks it with an offline check.

The 2025 LLM01 page is /llmrisk/llm01-prompt-injection/, with no year infix. Copying that exception forward would make LLM01 the one 2026 entry that does not match the other nine. The 2026 set normalizes LLM01 to llm012026-prompt-injection. Every other 2026 slug is the H1 title, lowercased and hyphenated, under the 2026 entry number (not the 2025 number).

Canonical URLs

Entry URL
LLM01:2026 Prompt Injection https://genai.owasp.org/llmrisk/llm012026-prompt-injection/
LLM02:2026 Sensitive Information Disclosure https://genai.owasp.org/llmrisk/llm022026-sensitive-information-disclosure/
LLM03:2026 Excessive Agency https://genai.owasp.org/llmrisk/llm032026-excessive-agency/
LLM04:2026 Supply Chain https://genai.owasp.org/llmrisk/llm042026-supply-chain/
LLM05:2026 Data and Model Poisoning https://genai.owasp.org/llmrisk/llm052026-data-and-model-poisoning/
LLM06:2026 Unbounded Consumption https://genai.owasp.org/llmrisk/llm062026-unbounded-consumption/
LLM07:2026 Misinformation https://genai.owasp.org/llmrisk/llm072026-misinformation/
LLM08:2026 Hidden Context Exposure https://genai.owasp.org/llmrisk/llm082026-hidden-context-exposure/
LLM09:2026 Vector and Embedding Weaknesses https://genai.owasp.org/llmrisk/llm092026-vector-and-embedding-weaknesses/
LLM10:2026 Improper Output Handling https://genai.owasp.org/llmrisk/llm102026-improper-output-handling/

Publishing the ten WordPress posts is the remaining site step. This registry is the list those posts should use. It does not claim the posts are already live.

Validation

python .github/scripts/test_validate_llmrisk_permalinks.py

Result: 7 tests, OK.

python .github/scripts/validate_llmrisk_permalinks.py --check-live

Result: the post type still lists 10 slugs, none of them 2026. Direct GET of llm012026-prompt-injection/ and llm062026-unbounded-consumption/ returned HTTP 404. GET of the 2025 exception llm01-prompt-injection/ returned HTTP 200.

Historical 2025 citations already in 2026/final/references.md stay allowed. A /llmrisk/ link that is neither canonical 2026 nor in the recorded 2025 set fails the check.

Record the ten 2026 per-entry URLs, including the decision not to carry the 2025 LLM01 yearless exception forward, and reject any /llmrisk/ link under 2026/final that is outside that contract.

Signed-off-by: Raghuvar Karthik Durga <177662415+drk-ram@users.noreply.github.com>
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.

[2026 errata] Per-entry /llmrisk/ deeplinks for 2026 return 404

1 participant