FEAT: Threat Model Integration for Agentic Red Teaming
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
Research direction
The issue does not identify repository files, tests, or entry points. First resolve whether PyRIT should consume structured JSON/YAML threat models, invoke external tools, or generate models natively; done would require an agreed architecture and implementation scope.
Written by the indexing model from the issue text.
Description
Is your feature request related to a problem? Please describe.
When red teaming agentic systems with multiple tools, APIs, and permission boundaries, PyRIT lacks visibility into the system architecture. Understanding how agents interact with tools, what permissions they have, and how data flows through the system would enable more effective security testing.
Describe the solution you'd like
Enable PyRIT to leverage threat model information about agentic system architecture.
Threat model should capture:
- Agent-to-tool relationships
- Tool permissions and capabilities
- Data flow paths
- Component boundaries
Implementation could be:
- Consume threat model files (JSON/YAML) from external tools
- Run external threat modeling tools via subprocess
- Native generation (if deemed valuable)
Additional context
Existing threat modeling tools for agentic systems:
Question:
- Could target architecture simply be described in the adversarial agent's system prompt instead of structured files?
- If structured threat models are preferred, what implementation approach fits best: consuming external files, subprocess integration, or native generation?
- What tangible benefits would structured threat models provide over natural language architecture descriptions?
- Dominant language
- Python
- Stars
- 4.5k
- Forks
- 896
- Avg merge
- 3d 7h
- Merged PRs (30d)
- 155
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/PyRIT
-
Bug: triage help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Bug: triage
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
BUG: ScorerMetrics.to_json() raises TypeError on the trial_scores array ScorerEvaluator attaches Open
Difficulty 3/5 1-2 days Newbie friendliness 78/100
-
Bug: triage help wanted
Difficulty 3/5 1-2 days Newbie friendliness 75/100
-
Difficulty 4/5 3-5 days Newbie friendliness 68/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100