security-review
Skill2 starsChanged 22 days agoMITView on GitHub
Security-review a designated code change for identity, permissions, external input, command or file operations, sensitive outputs and dependencies, and report evidence-backed risks and verification gaps. Does not probe production and does not auto-fix or upgrade dependencies.
We split this skill into the rules it gives an agent
11 rules. 0 are common, 11 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 167 edited versions we read keep these.
11
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
- Distinctive: line 25
No exact change scope -> locate the candidate first.
- Distinctive: line 26
No deployment, identity or external protocol facts -> still review the source chain.
- Distinctive: line 35
Read the applicable parts of the threat checks.
- Distinctive: line 38
Verify the causal chain with synthetic values or controlled source analysis.
- Distinctive: line 40
Verify the real boundary, not the UI appearance: logged in does not mean object-level permission, hidden in the frontend does not mean …
- Distinctive: line 44
Verify whether existing tests can refute the risk.
- Distinctive: line 46
Keep dynamic items not run, isolated simulation and real-environment evidence separate.
- Distinctive: line 47
Use the report template to output confirmed risks, preconditions, impact, minimal suggestions and residual unknowns.
- Distinctive: line 52
After finding a problem, first save the secret-free reproduction input, code location, candidate identity and observations.
- Distinctive: line 54
If the candidate changes during review, limit the old conclusions, verify the impact and re-verify the related paths.
- Distinctive: line 56
If the environment is unavailable, complete the static scope and state which kind of evidence is missing and how to supply it in a …
“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.
Files
Security boundary review
Judge risk along the actual path from input to side effects and output. Scope comes from the current request and project authorisation; a security review grants no permission to read real credentials, scan over the network, modify access control or reach real services.
Pin the inputs
- Candidate files and content identity: prefer reusing the candidate list from
change-reviewor the project. - Intent of the change.
- Project architecture and security constraints.
- Trusted principals.
- Data classification.
- Synthetic environments permitted for use.
- Secrets configuration: only structure/placeholders or approved synthetic stubs are needed; do not ask the user for real values.
Missing-input handling:
- No exact change scope -> locate the candidate first; do not default to reviewing the whole disk.
- No deployment, identity or external protocol facts -> still review the source chain; mark dynamic or policy-related conclusions unverified.
A package name, a directory name or green tests never prove that a permission chain is secure.
Review route
- Draw this change's path: untrusted input -> authentication -> authorisation -> domain operation -> data/external dependencies -> response, logs, audit, cache and export. Record the identity source at every boundary crossing; look for ways to forge an internal identity, skip the authoritative layer or escalate the original caller's privileges through a service account.
- Read the applicable parts of the threat checks. Cover the entry and exit points the change actually touches first, then gather evidence along related call edges; expanding into unrelated modules just to fill a checklist has no value.
- For each suspicion, construct concrete preconditions and a failing input: who controls which field, what validation it passes through, what impact it finally triggers. Verify the causal chain with synthetic values or controlled source analysis; when only a dangerous API call name is found, record a candidate, and call it a vulnerability only after checking upstream constraints.
- Verify the real boundary, not the UI appearance: logged in does not mean object-level permission, hidden in the frontend does not mean rejected by the backend, a machine-use exception does not mean a role that can log in. Sensitive outputs must be decided by the authoritative layer the project designates. Take separate cases for normal, administrator and approved machine use; other sensitive outputs listed in the project contract (such as history records) also get their own cases.
- Verify whether existing tests can refute the risk. Negative assertions include the rejection result, absence of side effects that must not happen and absence of sensitive output, not just the status code. Keep dynamic items not run, isolated simulation and real-environment evidence separate.
- Use the report template to output confirmed risks, preconditions, impact, minimal suggestions and residual unknowns. Risk level is based on reachability and impact; confidence is described by evidence. Do not hide a clear defect behind "possibly", and do not claim a leak has occurred on a guess.
Results and recovery
After finding a problem, first save the secret-free reproduction input, code location, candidate identity and observations. Fixes go to the implementer who holds write permission; the reviewer does not directly change the reviewed source, dependencies or production policy to test a hypothesis. If the candidate changes during review, limit the old conclusions, verify the impact and re-verify the related paths.
If the environment is unavailable, complete the static scope and state which kind of evidence is missing and how to supply it in a permitted environment; do not fill the gap by obtaining real accounts. On accidentally finding a suspected secret, do not spread its value; record only the file location/risk category and hand over per the project's existing handling. The report is separate from approval; a review with no findings does not confer release permission.
Resources and counter-examples
Routine security changes use normal/high; complex trust boundaries may use normal/xhigh when host limits given by project configuration, such as executors and concurrency quota, allow. low/low suits bounded candidate screening and cannot alone turn a keyword into a vulnerability conclusion. Grade words map to actual execution configuration through the project resource mapping. Test depth follows actual risk and project gates, not a mechanical full scan.
Normal: when an ordinary identity requests another object, the authoritative layer rejects it and no read/write occurs; save the synthetic negative case and the corresponding call chain. Defect: only login is checked and a sensitive record is fetched by the supplied object ID; point out precisely the missing permission check. False positive: the project approved an externally mounted configuration carrier with no hard-coding/echo; it cannot be judged insecure merely because it is not an environment variable. Boundary: without network or real credentials the source review can still be completed; external service behaviour stays unverified.
Sources
- Pinned source: EC01 security-review.
- Adapted the input, authentication/authorisation, data output and negative-test checklists; authoritative outputs, machine-use restrictions, the identity source chain and review evidence boundaries are own-authored for this package. Dropped mandatory env/Supabase, uniform Strict cookies, automatic audit fix/upgrade/Git writes and unrelated on-chain examples.
- License: shipped with the package as LICENSE-EC.txt (EC, MIT); library-wide third-party summary in the root THIRD_PARTY_NOTICES.md. Copy the license file along when copying this package alone.
Other versions192 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 192
- affaan-m/ECC★ 246ksame name
- github/awesome-copilot★ 41ksame name
- langfuse/langfuse★ 37ksame name
- nearai/ironclaw★ 13ksame name
- joe-bell/cva★ 6.9ksame name
- doorkeeper-gem/doorkeeper★ 5.5ksame name
- compozy/compozy★ 2.8ksame name
- getsentry/sentry-python★ 2.2ksame name
- trycompai/comp★ 2.1ksame name
- xu-xiang/everything-claude-code-zh★ 1.9ksame name
182 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use dependency-cve-sweep, fleet-standard-adoption 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.
berntpoppSkilldependency-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
berntpoppSkillfleet-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
niloykumarbarmanSkillagent-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 12 projects that use this
ysyecustSkillbrand-discovery
Use when a brand needs to discover or articulate its identity through structured multi-session interviews. Covers purpose, positioning, audience, personality, voice, narrative, and founder-brand tension across 8 modules using laddering, 5 Whys, and projective techniques. Produces a resumable session with disk-persisted state and a master brandbook (90_SYNTHESIS.md).
Also in 5 projects that use this
InfopibeSkilleverything-claude-code
Also in 11 projects that use this
royaluniondesign-sysSkillconfigure-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 10 projects that use this
- +2 more from berntpopp
In this repository39 other files it gives its agents.
- ai-trace-auditSkill
- ai-workspace-governanceSkill
- archive-maintenanceSkill
- change-reviewSkill
- cloud-api-integrationSkill
- coding-conventionsSkill
- container-image-managementSkill
- context-handoffSkill
- deployment-patternsSkill
- docker-local-environmentSkill
- documentation-authoringSkill
- estimationSkill
- external-dependency-simulationSkill
- gitlab-webhook-local-gitSkill
- go-patternsSkill
- go-testingSkill
- grpc-proto-contractSkill
- guided-evidence-collectionSkill
- http-api-designSkill
- jenkins-pipeline-jjbSkill
- ldap-rbacSkill
- mysql-migration-safetySkill
- plan-designSkill
- plan-reviewSkill
- playwright-e2eSkill
- project-contextSkill
- pytest-patternsSkill
- readonly-ops-diagnosticsSkill
- redis-patternsSkill
- release-readinessSkill
- role-bootstrapSkill
- skill-maintenanceSkill
- subtask-dispatchSkill
- systematic-diagnosisSkill
- task-implementationSkill
- test-strategySkill
- verification-gateSkill
- vue3-developmentSkill
- vue-testingSkill
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
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.

