Skip to main content

kms-caveman

Performs concise, read-only mechanical Rust triage for panic/exit patterns, new lint suppressions, and structural candidates. Use before deeper Rust audits or for a quick scoped scan; it does not replace semantic, security, crypto, or protocol review.

Quellinformationen

Repository
cosmian/kms
Letzte Quellaktivität
4. Oktober 2026 um 20:06
Erkannte Sprache von SKILL.md
Englisch
Sterne
362
Forks
41

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
kms-caveman
description
Performs concise, read-only mechanical Rust triage for panic/exit patterns, new lint suppressions, and structural candidates. Use before deeper Rust audits or for a quick scoped scan; it does not replace semantic, security, crypto, or protocol review.
# KMS Caveman One scoped, read-only scan. Keep output terse; preserve exact technical evidence. ## Scope - Supplied path: inspect Rust files under that path only. - No path: collect branch Rust changes, staged/unstaged files, and untracked Rust files. Use the available base; state any fallback. - Failed or empty diff is not proof of a clean scan. If scope cannot be established, report `INCOMPLETE`. - Exclude generated/vendor code only when identified; state exclusions. ## Rules 1. Scan for `panic!`, `todo!`, `unimplemented!`, `unreachable!`, `.unwrap()`, `.expect(`, `process::exit`, and `process::abort`. 2. Treat searches as candidates. Confirm executable code, source context, `#[cfg(test)]`, bounds checks, and documented exceptions. 3. Check changed Rust lines for new `#[allow(...)]` / `#[expect(...)]`; verify repository policy and justification. 4. Flag structural candidates: functions >60 lines, nesting ≥5, multiple bool parameters, or repeated blocks ≥5 lines. Verify boundaries; do not report style as correctness defects. 5. Report dead/unused code only with workspace-wide evidence accounting for callers, macros, and generated uses. Do not edit code, perform semantic refactors, or invoke sub-skills. Escalate reasoning-dependent findings to the applicable review skill. ## Report Pattern: `[SEVERITY] path:line — finding. Evidence: <code>. Risk: <impact>. Fix: <minimal change>.` - Rank verified findings; mark uncertain observations as candidates. - **BLOCK** on confirmed CRITICAL/HIGH findings. - **PASS** means no confirmed CRITICAL/HIGH finding in the verified scope; not a full quality or security verdict. - Use `NOT APPLICABLE` when no Rust files are in scope and `INCOMPLETE` when scope/context is missing. Neither means PASS. - Do not claim detection rates, model choice, latency, or token savings without measured evidence. - If an orchestrator writes reports, use `./review/kms-caveman.md`; otherwise return the concise ranked list. ## Credit-saving style - Drop articles, filler, pleasantries, and hedging. Fragments and arrows are fine; technical terms stay exact. - Keep code blocks and error text unchanged. Include enough evidence to preserve meaning; brevity never outranks correctness. ### Auto-clarity exception Expand security/protocol findings, ambiguous scope, or multi-step skip reasoning whenever compression could obscure risk. Resume terse output after clarity is restored. ## Examples Illustrative only; not findings from this repository. **Confirmed production panic:** ```rust let object = database.retrieve_object(uid).await.unwrap(); ``` ```text [HIGH] crate/example/src/handler.rs:42 — `.unwrap()` in production Evidence: `database.retrieve_object(uid).await.unwrap()` Risk: error becomes panic. Fix: propagate/map with the enclosing error type. Verdict: BLOCK ``` Do not flag the line if source context places it inside `#[cfg(test)]`. **Structural candidate, no blocker:** ```text [MEDIUM] crate/example/src/worker.rs:81-151 — function exceeds 60 lines; review candidate only. Verdict: PASS — no confirmed CRITICAL/HIGH finding in inspected scope. ``` **Non-Rust scope:** ```text Scope: ui/src/theme.css Rust: NOT APPLICABLE ``` For an explicitly incremental CSS-only review, skip `/cryptography-review` only after confirming no crypto, algorithm, key-lifecycle, provider, or FIPS-gate change. Never infer a security-review skip from the path alone; verify no dynamic data, auth/session, API, or sensitive-data behavior. Full `/meta-security` and `/pre-release` gates still run required reviews.
Auf GitHub ansehen