feat: add exhaustive-path-tracing to security audit template#244
Conversation
Add the exhaustive-path-tracing protocol to the investigate-security template for systematic deep analysis of parser and decoder functions that process untrusted structured input. Changes: - Add exhaustive-path-tracing to template protocol list (optional, applied selectively to parser/decoder functions) - Add instruction 7 with criteria for identifying functions that warrant deep path tracing (multi-field decode, inter-value arithmetic, iteration over decoded elements) - Add specific attention items: inter-value arithmetic validation, loop-carried invariant gaps, truncation after bounds check - Expand investigation plan from 5 to 7 steps, adding parser identification (step 3) and deep-dive (step 5) - Add coverage ledger requirement to quality checklist - Update manifest.yaml protocol list and description - Add investigate-security to exhaustive-path-tracing applicable_to Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
b2c3b1a to
dbc3cac
Compare
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds the exhaustive-path-tracing protocol to the security audit template configuration so audits consistently apply deeper parser/decoder path analysis for untrusted structured input.
Changes:
- Expand
investigate-securitytemplate manifest description to mention selective exhaustive path tracing for parsers/decoders. - Add
exhaustive-path-tracingto theinvestigate-securitytemplate’s protocol list inmanifest.yaml.
Reviewed changes
Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| manifest.yaml | Updates the investigate-security template metadata to include exhaustive-path-tracing and describe its selective use |
| templates/investigate-security.md | Not included in provided diff; PR metadata indicates protocol list + investigation steps expanded |
| protocols/reasoning/exhaustive-path-tracing.md | Not included in provided diff; PR metadata indicates applicability updated |
| that handle untrusted structured input. | ||
| persona: security-auditor | ||
| protocols: [anti-hallucination, self-verification, operational-constraints, adversarial-falsification, security-vulnerability] | ||
| protocols: [anti-hallucination, self-verification, operational-constraints, adversarial-falsification, security-vulnerability, exhaustive-path-tracing] |
There was a problem hiding this comment.
The PR description indicates the protocol identifier being added to templates is reasoning/exhaustive-path-tracing, but this manifest entry adds exhaustive-path-tracing without the reasoning/ prefix. If protocol IDs are expected to match exactly across the manifest and template/protocol definitions, this mismatch can cause the protocol to not resolve (or be duplicated under two IDs). Align the manifest entry with the canonical protocol identifier used elsewhere (either add the reasoning/ prefix here, or standardize on the unprefixed name across all references).
| protocols: [anti-hallucination, self-verification, operational-constraints, adversarial-falsification, security-vulnerability, exhaustive-path-tracing] | |
| protocols: [anti-hallucination, self-verification, operational-constraints, adversarial-falsification, security-vulnerability, reasoning/exhaustive-path-tracing] |
Summary
Add the
exhaustive-path-tracingprotocol to theinvestigate-securitytemplate so that security audits systematically deep-analyze parser and decoder functions that process untrusted structured input.Changes
templates/investigate-security.mdreasoning/exhaustive-path-tracingto protocol list; add instruction 7 (parser/decoder deep analysis criteria and attention items); expand investigation plan from 5 to 7 steps; add coverage ledger to quality checklistprotocols/reasoning/exhaustive-path-tracing.mdinvestigate-securitytoapplicable_tolistmanifest.yamlexhaustive-path-tracingto protocol list; update descriptionMotivation
The
investigate-securitytemplate previously includedexhaustive-path-tracingonly as a comment in the template body instructions but did not declare it in the protocol list or provide criteria for when to apply it. This meant the protocol's full methodology (structural mapping, per-function path tracing, coverage ledgers) was not consistently invoked during security audits.During a real security audit of a QUIC protocol implementation, the most impactful confirmed finding (ACK frame last-iteration integer underflow) was in exactly the class of function this protocol targets: a loop decoding multiple fields from a wire format with inter-value arithmetic on a running accumulator.
Design Decisions
Checklist