audit — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited audit (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The audit target is whatever the user specified; if nothing was specified, default to the current diff (uncommitted changes, or the branch's changes against the default branch). If there is no diff either, ask what to audit rather than picking a scope yourself.
inputs arrive, what is looked up, what is written, what is rendered or returned, what runs async.
below.
references/methodology/verify.mdand run every candidate through it — name the attacker and the victim, hunt for existing mitigations in the surrounding code (middleware, base classes, decorators, callers), and when auditing a diff, anchor each finding to the lines that introduce or enable it. A candidate survives only if you cannot refute it with cited evidence.
file:line, the violatedinvariant, and a one-line fix direction. Say explicitly which checklists were applied and came back clean.
matching references/remediation/ file and apply its patterns.
Do not manufacture findings for topics that don't apply (e.g., CSRF on a token-authenticated API, tenant isolation in a single-tenant app).
Paths relative to this skill's directory. Load every row that matches; skip the rest.
| The code… | Read |
|---|---|
| Gates actions by role, permission, or ownership | references/access-data-security/authorization.md |
| Handles login, logout, reset, tokens, sessions | references/access-data-security/authn-session.md |
| Fetches/mutates a resource by an ID from the request | references/access-data-security/idor.md + references/access-data-security/authorization.md |
| Serializes models, formats errors, writes logs | references/access-data-security/data-exposure.md |
| Hashes, encrypts, generates or compares secrets | references/access-data-security/crypto-data-protection.md |
| Renders user data into HTML/JS/URLs/headers/emails | references/access-data-security/output-encoding.md |
| Touches data or caches in a multi-tenant app | references/access-data-security/tenant-isolation.md |
| Changes state with cookie/session-based auth | references/access-data-security/csrf.md |
| Binds request payloads onto models/entities | references/access-data-security/mass-assignment.md |
| Builds queries/commands/templates/paths from input | references/input-api-dependency/injection.md |
| Deserializes untrusted bytes (sessions, caches, queues, uploads) | references/input-api-dependency/deserialization.md |
| Configures CORS, headers, cookies, debug, env | references/input-api-dependency/config.md |
| Touches API keys, credentials, tokens | references/input-api-dependency/secrets.md |
| Validates (or should validate) request input | references/input-api-dependency/api-contract-validation.md |
| Accepts, stores, processes, or serves files | references/input-api-dependency/file-handling.md |
| Makes network requests to user-influenced URLs | references/input-api-dependency/ssrf.md |
| Adds validators, regexes, allowlists, or parsing | references/input-api-dependency/parser-differentials.md |
| Writes to multiple tables/stores/systems at once | references/correctness/atomicity.md |
| Handles payments, webhooks, retries, emails | references/correctness/idempotency.md |
| Runs jobs, scheduled tasks, or queue consumers | references/correctness/background-work.md |
| Shares mutable state, caches, counters | references/correctness/state-management.md |
| Reads or writes assuming a query matches exactly one row | references/correctness/cardinality.md |
| Computes money, totals, taxes, splits, or rounding | references/correctness/numeric-precision.md |
| Stores or computes timestamps, durations, timeouts, expiry | references/correctness/time-clock.md |
| Catches/throws errors, maps errors to HTTP statuses | references/correctness/exception-handling.md |
| Creates promises, futures, tasks, or publishers | references/correctness/discarded-async.md |
| Loads related data inside a loop over a collection | references/operability/nplus1.md |
| Adds endpoints/jobs, handles errors | references/operability/observability.md |
| Changes database schema | references/operability/migration-safety.md + references/operability/schema-design.md |
| Does work proportional to input size | references/operability/resource-limits.md |
| Runs async/await, event-loop, or coroutine code | references/operability/blocking-io-async.md |
| Is meant to scale out / run as multiple replicas | references/operability/statelessness.md |
| Caches values, responses, or computed results | references/operability/caching.md |
| — Verifying candidate findings (step 4, always) | references/methodology/verify.md |
| — Fixing confirmed findings | references/remediation/authz-patterns.md, references/remediation/async-patterns.md, references/remediation/observability-patterns.md |
Source: audit-skills v0.3.1 — compare with the repo's VERSION file to check for updates.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.