flow-adversarial-review
Skill1 starsChanged 49 days agoMITView on GitHub
Security and abuse review that traces attacker input to reachable impact. Use when a change touches auth, untrusted input, secrets, permissions or isolation, or a security review is requested. Hands off to `flow-work` or `flow-review`.
In this repository38 other files it gives its agents.
- AGENTS.mdAGENTS.md
- llms.txtllms.txt
- flow-a11ySkill
- flow-animateSkill
- flow-apiSkill
- flow-benchmarkSkill
- flow-brainstormSkill
- flow-commitSkill
- flow-data-migrateSkill
- flow-depsSkill
- flow-designSkill
- flow-diagnoseSkill
- flow-docsSkill
- flow-git-fixSkill
- flow-handoffSkill
- flow-migrateSkill
- flow-observeSkill
- flow-onboardSkill
- flow-orchestrateSkill
- flow-planSkill
- flow-pr-fixSkill
- flow-prototypeSkill
- flow-prune-agent-setupSkill
- flow-redesignSkill
- flow-refactorSkill
- flow-releaseSkill
- flow-repo-briefSkill
- flow-reviewSkill
- flow-shipSkill
- flow-simplifySkill
- flow-specializeSkill
- flow-stylesSkill
- flow-testSkill
- flow-triageSkill
- flow-uiSkill
- flow-verifySkill
- flow-workSkill
- flow-write-skillSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
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 19
Read scope, repository instructions, architecture and diff.
- Distinctive: line 50
Keep severity separate from confidence.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Adversarial review
Try to disprove the system's important invariants with concrete inputs and state. Findings need a reachable path or an explicit evidence gap; a clean report is allowed.
Phase 1: Bound the target
Review the named target (diff, change request, branch or paths); a fresh reviewer context may lack the conversation. If none is given, state the target inferred from the working tree, or ask when inference is unsafe.
- Read scope, repository instructions, architecture and diff; inspect committed, staged, unstaged and relevant untracked changes separately. Record revision, test environment and intended invariants.
- Map the attack surface: entry points, untrusted data, transformations, authorization decisions, sinks, persistence, and who controls each input.
- Reproduce only in local fixtures or an authorized environment, never with destructive traffic against a live system.
Phase 2: Pick lenses for actual risks
- Exploit developer: input reaches an unsafe interpreter, file path, renderer or command.
- Boundary breaker: one actor reaches another actor's resource or crosses an isolation rule.
- Data-integrity auditor: concurrent writes, retries or partial failure violate invariants.
- Chaos engineer: lost connections, unavailable dependencies or interruption break recovery.
- Malicious user: legal UI/API operations combine into an unauthorized result.
- Time bomb: expiry, growth, resource limits or stale state change behavior over time.
Split surfaces across independent read-only agents only when available, authorized and useful, with a shared findings schema. A persona label grants neither independence nor permissions.
Phase 3: Trace and challenge
For each candidate record location/revision, preconditions, attacker-controlled input, exact sequence, affected invariant, impact and smallest correction. Follow the path through guards and caller contracts; a suspicious function name is not a finding. Reproduce safely when possible. Have an independent verifier challenge consequential or disputed claims:
- CONFIRMED: impact reproduced or the reachable path demonstrated.
- PLAUSIBLE: a specific path argued, required evidence missing; name the gap.
- REFUTED: a concrete control or reproduction makes the scenario impossible.
Keep severity separate from confidence. Keep useful plausible risks, drop refuted ones. Type assertions, comments or worker reports do not establish runtime trust for network, storage, DOM or external input.
Phase 4: Report
Deduplicate by failure path. Lead with confirmed findings, then material unresolved risks and unchecked scope, each with evidence and remediation direction. State residual risk from actual coverage limits. Review-only work stops at findings; never quietly repair an artifact you are verifying. Requested fixes stay in scope and are rechecked on the new revision.
Anti-patterns
- Generic vulnerability lists without an input-to-impact trace.
- Calling a missing reproduction REFUTED, or a suspicion CONFIRMED.
- A full red-team panel for every filesystem or input-handling edit.
- Inventing a vulnerability to fill a section, or calling a system secure because a scoped review found nothing.
Done when
- Relevant invariants and boundaries are assessed at the recorded revision.
- Findings separate reproduced impact, unresolved evidence and disproven paths.
- Residual risk and coverage limits are stated without padding or implied certification.
Return the findings; use flow-work for fixes only when authorized, or flow-review for wider
code-quality review.
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.

