agentleFS
RinisnotarobotRinisnotarobot/rinco-pi-skills-commands/skills/patterns/security-review/SKILL.md

security-review

Skill2 starsChanged 2 months agoMITView on GitHub

Deep review of changed trust boundaries that reports only evidence-backed exploit paths - attacker-controlled source, reachable sink, and the path between them. Use when a change crosses a trust boundary (new endpoint, auth flow, input surface, secret handling, dependency) and needs security analysis beyond general code review.

192 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use linkerd-patterns, dependency-cve-sweep and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • xfstudioSkill

    linkerd-patterns

    Implement Linkerd service mesh patterns for lightweight, security-focused service mesh deployments. Use when setting up Linkerd, configuring traffic policies, or implementing zero-trust networking with minimal overhead.

    Also in 5 projects that use this

  • berntpoppSkill

    dependency-cve-sweep

    Use when handling Dependabot PRs, CodeQL/Trivy alerts, or doing a routine dependency/CVE sweep for this repo.

    Also in 12 projects that use this

  • berntpoppSkill

    fleet-standard-adoption

    Use when bringing this repo into compliance with a GeneFoundry fleet standard (tool-naming, response-envelope, container-hardening, versioning, MCP transport, or logging) or closing its tracking issue.

    Also in 12 projects that use this

  • HABUBUSSSkill

    project-guidelines-example

    Also in 16 projects that use this

  • niloykumarbarmanSkill

    agent-sort

    Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

    Also in 13 projects that use this

  • royaluniondesign-sysSkill

    configure-ecc

    Interactive installer for Everything Claude Code — guides users through selecting and installing skills and rules to user-level or project-level directories, verifies paths, and optionally optimizes installed files.

    Also in 11 projects that use this

  • +2 more from berntpopp

The file

We split this skill into the rules it gives an agent

7 rules. 0 are common, 7 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 167 edited versions we read keep these.

  • 7

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read Supply Chain and Build Surfaces when the diff changes dependencies, install-time execution, CI workflows, or artifact delivery — those …

    line 18
  2. Distinctive:

    Do not flag from pattern matching.

    line 28
  3. Distinctive:

    Never report a finding without a traced attacker path.

    line 85
  4. Distinctive:

    Never flag server-controlled values, framework-protected input, or authenticated paths as vulnerabilities.

    line 86
  5. Distinctive:

    Never audit the whole codebase — only the changed boundaries.

    line 87
  6. Distinctive:

    Never overwrite or duplicate the verification verdict.

    line 88
  7. Distinctive:

    Never include secrets, tokens, or sensitive payloads in the report — describe, redact, and reference.

    line 89

“Common” is measured: kept by at least 6 in 10 of the 167 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Security Review

Review the trust boundaries a change crosses, and report only exploitable paths you can trace: attacker-controlled source, reachable sink, and the route between. This is the deep lens for trust-boundary changes; a broad structural and correctness review without that focus is the code-review stage's work (the code-review skill when loaded).

A security-review verdict is its own report. It consumes verification state as evidence and never re-derives it.

Workflow

1. Pin the changed trust boundaries

From the diff, identify where trust levels change: new endpoints or routes, authentication or authorization flows, input parsing, file uploads, secret or credential handling, inter-service calls, dependency or build changes, configuration exposure.

Read Supply Chain and Build Surfaces when the diff changes dependencies, install-time execution, CI workflows, or artifact delivery — those boundaries change what runs, not just how, and carry their own evidence rules.

A change that touches no trust boundary is out of scope: say so and stop — do not pad the report with checklist findings.

Completion criterion: every trust boundary the diff crosses is named, or the review is explicitly out of scope.

2. Trace attacker control before flagging

For each boundary, trace the data flow: where does input originate, what validation or sanitization stands in the way, what framework protections apply, what configuration governs it. Read Trust Boundary Analysis for the source-to-sink method.

Do not flag from pattern matching. A finding requires all three, evidenced in the code:

  1. Attacker-controlled source — input a user or external system can influence; server-controlled configuration, constants, and authenticated-trusted paths do not qualify. One explicit exception: direct disclosure — a secret written into source, logs, or a client-visible response is a finding without a further attacker path, because the source and the sink are the same act;
  2. Reachable sink — the dangerous operation the input actually reaches, not one it might reach if other code were different;
  3. The path — the concrete route from source to sink, with the guards that fail to stop it.

Completion criterion: every candidate finding has a traced source, sink, and path, or is dropped.

3. Apply the confidence gate

LevelCriteriaAction
HIGHVulnerable pattern + traced attacker control + reachable sinkReport with severity
MEDIUMVulnerable pattern, input source or reachability unverifiedNote as "needs verification" with the exact question to answer
LOWTheoretical, hardening, defense-in-depthDo not report

Reject without reporting (check Web and Data guides and Data and Storage for framework-protection specifics):

  • framework-protected input (auto-escaped templates, ORM-parameterized queries);
  • prevalidated internal input (already checked at a boundary this diff does not remove);
  • server-controlled values (settings, environment, config files, constants);
  • code paths where authentication is a working guard among others — note the auth requirement instead of a finding; but when the changed boundary is itself the authentication or authorization guard, a broken guard is the finding (an authorization bypass is a path through a failed guard, not an authenticated path to clear);
  • missing-control claims with no attacker path ("no rate limiting", "no MFA", "weak crypto policy") — these are hardening, not exploit paths.

Completion criterion: every reported finding is HIGH with an attacker path; every MEDIUM note names its unverified question; nothing LOW appears.

4. Report with evidence

For each HIGH finding:

Boundary: <the trust boundary crossed>
Source: <attacker-controlled input, file and line>
Sink: <dangerous operation, file and line>
Path: <guard-by-guard trace from source to sink>
Exploit: <the concrete action an attacker takes and the impact>
Severity: <critical | high | medium, from impact and reachability>
Fix direction: <the minimal boundary change, without redesigning the system>

End the report with the review verdict, kept separate from any verification state:

Security review verdict: PASS | FINDINGS | UNRESOLVED | OUT OF SCOPE
Findings: <count by severity — HIGH-confidence findings only carry a severity>
Verification state consumed: <report path and freshness, or none>
Unverified questions: <MEDIUM notes, each with its exact question>

UNRESOLVED is the verdict whenever MEDIUM notes remain open — a report with open verification questions is not a PASS, and notes never escalate to findings without the missing evidence.

Return the report and stop. Fixing the findings is downstream work (plan, tdd); re-verifying is verification's. Report to docs/reviews/ alongside other review artifacts when the repository convention supports it.

Completion criterion: every finding is evidence-complete, and no fix has been started here.

Guardrails

  • Never report a finding without a traced attacker path.
  • Never flag server-controlled values, framework-protected input, or authenticated paths as vulnerabilities.
  • Never audit the whole codebase — only the changed boundaries.
  • Never overwrite or duplicate the verification verdict; this review produces its own verdict only.
  • Never include secrets, tokens, or sensitive payloads in the report — describe, redact, and reference.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.