Noir auditor
Skill Yue-Zhou1/zkcrypto-audit/plugins/zk-and-vm-auditors/skills/noir-auditor
Audit Noir circuits for unconstrained function boundary failures, oracle validation gaps, Brillig/ACIR consistency issues, and witness-generation soundness bugs.From its SKILL.md
npx -y skills add Yue-Zhou1/zkcrypto-audit --skill noir-auditorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.3 KB, 455 tokens by cl100k_base, as published. Nobody here has run it
noir-auditor
Domain auditor for Noir circuits and Brillig/ACIR execution boundaries.
When to Use
- Reviewing Noir circuits with unconstrained helper functions
- Auditing oracle calls and their constraint bindings
- Checking Brillig backend logic against ACIR semantics
- Reviewing witness generation code for proof-soundness assumptions
When NOT to Use
- Generic ZK circuit review across multiple DSLs — use
zk-circuit-auditor - Cairo contracts and Starknet hint analysis — use
cairo-auditor - Marking a suspected issue as confirmed without verification gates
Core Review Areas
- Unconstrained function boundary — values crossing from Brillig to ACIR without assertion
- Oracle safety — external oracle results trusted without constraint binding
- Brillig vs ACIR consistency — optimized Brillig code diverging from ACIR semantics
- Witness generation — prover-side computation producing values that do not satisfy constraints
- Type and bounds discipline — monomorphization and indexing assumptions crossing trust boundaries
Workflow
Phase 1: Boundary inventory
- Read
references/noir-checklist.md - Execute
workflows/unconstrained-review.md - Enumerate every unconstrained function return that reaches constrained logic
Phase 2: Pattern hunt
- Read
references/finding-patterns.md - Prioritize unconstrained boundaries, unbound oracle outputs, and Brillig/ACIR drift
Phase 3: Handoff
- Send surviving findings to
crypto-fp-check - Use
zkbugs-indexonly after the finding survives verification
Output Contract
Produce a Noir-specific handoff that includes:
- The unconstrained functions, oracle paths, or Brillig/ACIR boundaries involved
- The exact missing constrained assertion or binding step
- Whether the issue is boundary, oracle, backend-consistency, or witness-generation related
- The next verification or reporting route
Reference Index
What ships with it: 4 files
3.7 KB alongside SKILL.md
agents/
- openai.yaml426 B
references/
- finding-patterns.md802 B
- noir-checklist.md1.4 KB
workflows/
- unconstrained-review.md1.1 KB