Skip to main content

cerebro-finding-rule

Design or change a Cerebro finding rule. Use for new durable rules, rule lifecycle fixes, fingerprint changes, or promoting source evidence into findings.

Jump to install

Source facts

Repository
writer/cerebro
Last source activity
August 27, 2026 at 21:30
Detected SKILL.md language
English
Stars
14
Forks
2

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
cerebro-finding-rule
description
Design or change a Cerebro finding rule. Use for new durable rules, rule lifecycle fixes, fingerprint changes, or promoting source evidence into findings.
# Cerebro Finding Rule The full design rationale lives in the "Finding Rule Design Notes" section of [AGENTS.md](../../../AGENTS.md). This skill is the working checklist. ## Decide before writing the matcher 1. Is this a durable, remediable risk state — not a raw temporal event? If the condition stops being independently actionable when the event ages out, model it as evidence or graph context instead of a finding. 2. Choose the anchor first. Source-state rules anchor on durable provider IDs turned into tenant-scoped URNs; graph-anchored rules anchor on graph entities or paths. Never fingerprint on event IDs, timestamps, run IDs, pagination IDs, or vendor alert IDs unless that vendor object is itself the durable remediable state. 3. Canonicalize provider-controlled identifiers before they enter URNs, event IDs, graph anchors, or fingerprints. Preserve raw provider IDs as attributes for investigation. ## Every durable rule needs - Explicit `Lifecycle` semantics and stable `FingerprintFields`. - `OpenAnchor` and `CloseOnEvent` that meet in the middle: the close event must produce the same anchor stored on the open finding, or the rule must not claim closeout support. - Required attributes, control refs, false-positive guidance, and a runbook. - Close paths for deprovisioned/offboarded/inactive resources unless the finding is explicitly about unsafe removal. - Positive-evidence semantics: missing or unknown upstream data is unknown, not a failing control. ## Test matrix (all of these) - Positive open; negative non-open; required attributes present. - Stable fingerprint and reopen behavior. - Remediation close; deprovision/offboard close where applicable. - A counterexample proving unrelated or contextless events do not close the finding. ## Validate - Focused package tests, then `make finding-dsl-check policy-rule-check policy-mapping-check detection-catalog-check`. - `make changed-check` for the diff-selected remainder; `make contracts-check` if contract-governed docs moved.
View on GitHub