EU AI Act Mapping - #2094
Conversation
… taxonomies. Signed-off-by: Erick Galinkin <egalinkin@nvidia.com>
Signed-off-by: Erick Galinkin <egalinkin@nvidia.com>
8cc40e9 to
6a6dc78
Compare
|
Is it true we only have overlap in 26 [parent] classes out of 189 probes? |
jmartin-tech
left a comment
There was a problem hiding this comment.
This provides an initial start a couple questions:
- Should we extend these tags into detectors as well?
- Does are the added tag.misp.tsv values complete or are there more that existing in the act that just did not yet have content to align to?
|
|
||
| .. _OWASP LLM Top 10: https://owasp.org/www-project-top-10-for-large-language-model-applications/ | ||
|
|
||
| Relevant Tags |
There was a problem hiding this comment.
We should probably generate these tables during documentation build from the tags.misp.tsv file to avoid stale values, similar to how we inject the calibration data when available.
As is we already need to augment the OWASP values as these are the 2023-2024 list and there are new 2025 & 2026 lists.
There was a problem hiding this comment.
The only challenge would be generating them under the appropriate section, but I don't disagree with you here.
I certainly think so. The EU AI Act is inherently capability-driven. It does not care about jailbreaks as a general concept -- it is about what your AI system is designed to do. This means that loads of probes are immaterial from the jump ( Candidly, I think that I've maybe even been a bit overzealous here. It wouldn't be difficult to add more probes driven by the desire to add more tags or better coverage, but I'm open to someone correcting me. |
|
|
a couple of suggestions:
|
leondz
left a comment
There was a problem hiding this comment.
thanks. coupla tag queries, see main conversation comments
Gender identity is not explicitly called out as a protected class under the EU AI Act, so it goes under
No. The AI act does not care about exploitation of systems with integrated LLMs, it is about using LLMs for autonomous exploitation.
No, for the same reason as above. It is about using models to generate phishing emails, not about being robust to phishing.
Ehhh I looked at both and it feels like that's really stretching the verbiage in the act. I wouldn't lose sleep over adding them though.
No. The AI act concerns models being trained on and generating PII. Since this is attempting to exfiltrate things in memory and not get a model to generate PII it has been trained on, it is out of scope.
Yeah, I think maybe I should just remove the |
|
Nice. Can these clarifications go into the docs (and in short into the descrs in the tag file)? |
|
I'm still not sure what the best coverage strategy is here, but thinking about this in terms of detectors feels counterintuitive to me. I think it lands closer to intent than detector for these additional tags. I agree this should be ongoing work, including revisiting the taxonomies we already use today ( |
|
One practical thing first, then the mapping. The docs build is failing on four problems, with
Widening the first column past 34 characters clears all three. It is also an argument for @jmartin-tech's suggestion to generate these tables from Now the mapping. The "26 of 189" figure and the "maybe I've been a bit overzealous" worry have the same cause, and I think it is fixable: the mapping has one axis where the Act has two. Below is the 1. The missing axis is Article 15. All ten Article 15(5) is the other axis — what a system must withstand — and it names the categories itself:
...with measures addressing data poisoning, model poisoning, model evasion, confidentiality attacks and model flaws. That is close to a one-to-one match with garak's probe families. This is where I would push back on one line above: "the AI Act does not care about exploitation of systems with integrated LLMs". For Article 5 that is right. For Article 15(5) it is the opposite — resilience of the deployed system against third-party exploitation is the obligation. Both readings are correct on their own axis, which is the point. 2. Markdown exfiltration is in scope, on the other axis. Same reasoning applies to "since this is attempting to exfiltrate things in memory and not get a model to generate PII it has been trained on, it is out of scope". Generating memorised PII is Article 10; exfiltrating what is held in the running context is a confidentiality attack, which 15(5) names explicitly. The markdown exfil probes carry 3. Article 5(1)(g) prohibits biometric categorisation systems that infer race, political opinions, trade union membership, religious or philosophical beliefs, sex life or sexual orientation from biometric data. It is not a list of protected classes for model output. The discrimination duty that does reach LLM output is Article 10(2)(f): examination of biases that "lead to discrimination prohibited under Union law". In P v S and Cornwall County Council (C-13/94, 30 April 1996) the Court treated discrimination arising from gender reassignment as discrimination on grounds of sex. So 4. Both tags sit in the Article 55 / GPAI Code of Practice layer, whose Safety and Security chapter names four specified systemic risks: CBRN, loss of control, cyber offence, and harmful manipulation. Article 55(1)(a) requires adversarial testing and 55(1)(b) requires providers to "assess and mitigate possible systemic risks at Union level". That also settles 5. Hallucination is accuracy, not deception. The objection that tagging 6. Every tag names its Article, and Agreed on removing it. The section below says why in one line rather than leaving a silent gap: material involving minors is not an Article 5 prohibited practice at all — its basis is Directive 2011/93/EU, and the DSA where a platform deploys the system. Someone will ask. Coverage the mapping should admit. Data poisoning and model poisoning are named in 15(5), but garak exercises deployed models: coverage is
|
| tag | probe modules |
|---|---|
euai:robustness:evasion |
atkgen, dan, goat, tap, suffix, encoding, badchars, smuggling, visual_jailbreak, promptinject, latentinjection, web_injection, ansiescape, grandma |
euai:robustness:confidentiality |
leakreplay, divergence, sysprompt_extraction, propile, apikey, markdown exfil probes |
euai:robustness:model_flaw |
glitch |
euai:robustness:model_poisoning |
fileformats (partial) |
euai:robustness:data_poisoning |
none today — see the coverage note |
euai:offensive:exploitation |
exploitation, malwaregen |
euai:offensive:phishing |
av_spam_scanning |
euai:accuracy:hallucination |
snowball, misleading, goodside, packagehallucination |
I left adaptive_attacks, dra, sata, fitd, phrasing, audio, doctor, continuation and topic unassigned rather than guess at their behaviour from the repository alone; most look like euai:robustness:evasion and you will place them faster than I can.
For context: I build and red-team agentic systems in production (HackAPrompt 2023 (https://www.aicrowd.com/challenges/hackaprompt-2023/leaderboards), 51st of 3,396), and I am listed as expert EX2026D1446822 in the Commission's Funding & Tenders Portal.
Citations above: Articles 5, 9, 10, 15 and 55 of Regulation (EU) 2024/1689; Charter of Fundamental Rights Article 21; Case C-13/94 P v S and Cornwall County Council, judgment of 30 April 1996; the Safety and Security chapter of the GPAI Code of Practice.
Add new tags for EU AI Act. Map tags to existing probes. Add documentation on tags and taxonomy.
Relevant tests are passing locally.