What Are Personas?
Personas are specialized expert methodologies that:- Embody real expertise: Based on named security researchers and their approaches
- Provide structured frameworks: Step-by-step methodologies for specific tasks
- Already exist in Python: These are reference docs for internal Python methodologies
- Load on-demand: Not automatically loaded - invoked only when needed
These personas already exist in RAPTOR’s Python code. This documentation makes them accessible to Claude Code users for manual guidance and review.
Available Personas
Exploit Developer
Mark Dowd methodologyGenerate working exploit proof-of-concepts (C++, Python, JavaScript)Token cost: ~650t
Crash Analyst
Charlie Miller / Halvar Flake traditionBinary crash analysis and exploitability assessmentToken cost: ~700t
CodeQL Analyst
Dataflow expertCodeQL dataflow path validation and false positive detectionToken cost: ~400t
Fuzzing Strategist
Expert strategistAFL++ fuzzing decisions and parameter tuningToken cost: ~300t
Binary Exploitation Specialist
Binary expertCrash exploit generation with structured outputToken cost: ~400t
Persona vs Agent
Agents:- Autonomous task orchestrators
- Spawn other agents and manage workflows
- Create working directories and artifacts
- Examples: crash-analysis-agent, oss-forensics-agent
- Expert methodologies and frameworks
- Loaded on-demand for specific analysis tasks
- Apply specialized knowledge to user questions
- Examples: Exploit Developer, Crash Analyst
How to Use Personas
Explicit Invocation Only
Personas are NOT auto-loaded. Invoke them explicitly when needed:What Happens
Token Cost
Personas have zero token cost until explicitly invoked.
| Persona | Token Cost | When Loaded |
|---|---|---|
| Exploit Developer | ~650t | When invoked |
| Crash Analyst | ~700t | When invoked |
| Security Researcher | ~620t | When invoked |
| Patch Engineer | ~400t | When invoked |
| Penetration Tester | ~350t | When invoked |
| Fuzzing Strategist | ~300t | When invoked |
| Binary Exploitation Specialist | ~400t | When invoked |
| CodeQL Analyst | ~400t | When invoked |
Integration with Python
Python already uses these personas internally:- agent.py
- crash_agent.py
- dataflow_validator.py
When to Use Each Persona
Exploit Developer
Exploit Developer
Use when:
- Generating working exploit code (not templates)
- Creating proof-of-concept demonstrations
- Fixing broken or placeholder exploits
- Need compilable, executable code
- Just need theoretical analysis
- Want recommendations instead of code
Crash Analyst
Crash Analyst
Use when:
- Analyzing AFL++ crashes
- Assessing binary exploitability
- Understanding crash types and primitives
- Need exploitability classification
- Source code vulnerability analysis
- Web application testing
CodeQL Analyst
CodeQL Analyst
Use when:
- Validating CodeQL findings
- Detecting false positives in dataflow analysis
- Assessing sanitizer effectiveness
- Source-to-sink path validation
- Binary analysis
- Runtime crash analysis
Fuzzing Strategist
Fuzzing Strategist
Use when:
- Choosing AFL++ parameters
- Deciding corpus strategy
- Prioritizing crashes for analysis
- Making fuzzing campaign decisions
- Analyzing individual crashes
- Exploit development
Binary Exploitation Specialist
Binary Exploitation Specialist
Use when:
- Generating binary exploits from crashes
- Need structured JSON output format
- Must execute target binary in exploit
- Creating C++ exploitation code
- Web application exploits
- Script-based vulnerabilities
Persona Methodologies
Security Researcher Framework
Exploit Developer Principles
Crash Analyst Framework
Quality Standards
All personas enforce these quality standards:- DO
- DON'T
- Generate compilable code (test syntax)
- Include complete imports and error handling
- Document each step with comments
- Provide usage instructions
- State prerequisites and limitations
- Demonstrate actual impact (not theoretical)
Future Expansion
Reserved space for additional personas:security_researcher.md(vulnerability validation framework)patch_engineer.md(secure patch creation)penetration_tester.md(web payload generation)offensive_security_researcher.md(research methodology)
Add personas when needed, not preemptively.
Next Steps
Exploit Developer
Learn Mark Dowd’s exploit development methodology
Crash Analyst
Explore binary crash analysis frameworks
CodeQL Analyst
Master dataflow validation techniques
Agent System
Return to agent system overview