Context
When the AI proposes an attack plan with hallucinated functions (e.g., functions that don't exist in the contract), Raze rejects the plan at validateAttackPlan(). But today those rejected plans disappear silently — they're not logged anywhere.
Community request: https://www.reddit.com/r/... — a dev asked whether Raze reports on hallucinated and impossible attack vectors.
What to do
- Capture rejected plans in
validateAttackPlan() (reason + original plan)
- Add a
rejectedPlans field to AttackPipelineResult and AttackSuiteResult
- Add a Rejected Plans section to the fuzz report:
## Rejected Plans
| # | Contract | Functions | Reason |
|---|---|---|---|
| 1 | Counter | transferAll | Function not found in contract |
- Surface
rejectedPlans in MCP tool responses so the AI can self-correct
Why it matters
- Transparency — users see that Raze is actively filtering AI hallucinations
- Data — helps the community understand what kinds of hallucinations AIs generate
- Self-correction — the AI can retry with corrected function names
Files likely affected
src/core/orchestrator.ts — capture rejection reason
src/core/types.ts — add RejectedPlan type
src/core/reporter.ts — add rejected plans section
src/core/pipeline.ts / attackSuite.ts — propagate rejected plans
Context
When the AI proposes an attack plan with hallucinated functions (e.g., functions that don't exist in the contract), Raze rejects the plan at
validateAttackPlan(). But today those rejected plans disappear silently — they're not logged anywhere.Community request: https://www.reddit.com/r/... — a dev asked whether Raze reports on hallucinated and impossible attack vectors.
What to do
validateAttackPlan()(reason + original plan)rejectedPlansfield toAttackPipelineResultandAttackSuiteResultrejectedPlansin MCP tool responses so the AI can self-correctWhy it matters
Files likely affected
src/core/orchestrator.ts— capture rejection reasonsrc/core/types.ts— addRejectedPlantypesrc/core/reporter.ts— add rejected plans sectionsrc/core/pipeline.ts/attackSuite.ts— propagate rejected plans