ai-agent-guardrails — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited ai-agent-guardrails (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
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.
LLMs make confident wrong decisions at scale. The cost of one wrong decision used to be one wrong commit; the cost of one wrong decision by an agent loop can be 30 wrong commits, 100 deleted DB rows, or a whole production site refactored into nonsense in 90 seconds.
This skill is a design checklist — not a runtime tool. It tells you what to put in place before giving an agent write access to anything that matters.
Classify every action an agent can take by what happens if it fires when it should not have.
| Tier | Example | Reversible? | Required guard |
|---|---|---|---|
| 1 | Read a local file, run a query | Trivially | None |
| 2 | Modify a single local file, write to a sandbox | Yes, with backup | Backup before action |
| 3 | Mutate a staging service or shared dev resource | Recoverable in minutes | Dry-run mode + explicit confirm |
| 4 | Production-data write, customer-visible change | Recoverable in hours, with effort | Approval gate + audit log + rollback plan |
| 5 | Send mail, spend money, modify DNS, deploy, push to main | Sometimes irreversible, externally visible | Out-of-band approval + rate limit + kill switch |
Every tool an agent can call belongs to exactly one tier. If you cannot say which, classify up.
For tier ≥ 3, every write tool should support an explicit dry-run that produces the exact diff/plan that would be applied. The agent runs dry-run first by default; only after the operator approves the plan does it run the real action.
Implementation sketch:
type WriteToolResult =
| { mode: "dryrun"; plan: ChangeSet; estimate: ImpactEstimate }
| { mode: "apply"; applied: ChangeSet; receipt: string };
async function update_widget(args: Args, opts: { dryrun: boolean }) {
const plan = computePlan(args);
if (opts.dryrun) return { mode: "dryrun", plan, estimate: estimateImpact(plan) };
const receipt = await applyPlan(plan);
return { mode: "apply", applied: plan, receipt };
}The orchestration prompt makes dry-run the default; switching to apply requires a literal token (e.g. user clicks "Approve plan #abc123" out-of-band).
For tier ≥ 4, approval must happen on a channel the agent does not control. The most common right-sized patterns:
Anti-pattern: asking the LLM "are you sure?" in the same conversation. The LLM will say yes.
Forbid wildcards and cross-resource actions at the tool layer, not the prompt layer.
delete_posts(filter) → agent might pass filter={}delete_post(id) — one id per call, plus a per-conversation cap (e.g. ≤ 5 deletions before forcing a checkpoint)Other variants:
Every state-changing tool should accept (or compute) an idempotency key, and the backend should de-duplicate on it. This survives:
Without idempotency, a retry storm can multiply the blast radius without any of the guards firing.
Run analysis in a read-only agent with read-only credentials. When an action is decided, hand off to a second, narrowly-scoped write agent with a fresh credential and a single, well-defined task. This:
Every agent must have:
For every write tool, before adding it to an agent's toolset, write down: "to undo this, do X". If you cannot, the tool is not safe to expose. Examples:
audit_undo tableThese are common failure modes — recognize them before they bite you.
Sometimes a tool genuinely cannot be made safe (irreversible external API, no dry-run, no idempotency). In that case:
Before shipping an agent that can write anywhere, you should be able to answer yes to all of these:
If any answer is "no", document it and the compensating control. Do not skip the question.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.