Cyber Evidence
Priority: P0 (CRITICAL)
Record what was observed, how it was sourced, and what remains unknown; never turn absence of proof into proof.
Structure
textcyber-evidence/ ├── SKILL.md ├── references/evidence-record.md └── evals/evals.json
Workflow
- Bind record to
engagement_scope_ref,skill_version, andsource. - Capture
observed_at, observer, method, and evidence references; redact secrets and sensitive payloads. - Set exactly one
finding_status:confirmed,suspected,blocked,not-tested, orfalse-positive. - State limitations, missing runtime controls, synthetic-data boundaries, and accountable owner.
- Preserve independently held ground truth; compare it only through an independent adjudicator.
- Update the canonical
artifacts/security-review.mdwhen a workflow chain already owns that artifact. Shared record fields:engagement_scope_ref,skill_version,source,observed_at,finding_status,evidence_refs,limitations,accountable_owner.
Rules
- Hashes and timestamps support provenance; they do not prove trusted origin or efficacy.
- Keep raw evidence separate from sanitized reports; never persist credentials, real secrets, or unnecessary personal data.
- Preserve blocked and not-tested outcomes; do not downgrade them into clean results.
- Promotion requires independent review; an operator cannot approve their own result.
- Link authorization and mapping only when evidenced.
Anti-Patterns
- No scanner-only finding: Corroborate tool output or mark suspected.
- No invented certainty: Use limitations and status fields.
- No unredacted persistence: Minimize and sanitize before storage.
- No rewritten history: Append corrections with provenance.


