ops-aws-audit — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited ops-aws-audit (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.
Runs scripts/ops-aws-audit.sh — a read-only sweep that never mutates AWS. It inventories and analyses, then writes a severity-ranked report.
Checks include (2026 baseline):
AUDIT_KEY_AGE_DAYS (default 90), console users without MFA, and whether an IAM Access Analyzer (UNUSED_ACCESS) is configured.
gp2→gp3 candidates, unencryptedvolumes, unassociated Elastic IPs, security groups open to 0.0.0.0/0 on SSH/RDP.
snapshots** whose source DB no longer exists.
lifecycle policies.
Detection monitors, Compute Optimizer enrollment.
AUDIT_COST_DAYS with the Δ vs theprior window (surfaces spend spikes, per ops cost-leak doctrine).
| Var | Default | Meaning |
|---|---|---|
AUDIT_PROFILE | _(unset)_ | Named AWS profile. Unset ⇒ standard chain (env keys / instance role / SSO). |
AUDIT_REGIONS | $AWS_REGION or us-east-1 | Comma-separated regions. |
AUDIT_OUTPUT_DIR | ~/.aws-audit-history/audit-<ts> | Where reports land. |
AUDIT_KEY_AGE_DAYS | 90 | Active access-key age threshold. |
AUDIT_COST_DAYS | 7 | Cost comparison window. |
# one region, current account
bash "${CLAUDE_PLUGIN_ROOT}/scripts/ops-aws-audit.sh"
# multi-region + named profile
AUDIT_PROFILE=prod AUDIT_REGIONS=us-east-1,eu-central-1 \
bash "${CLAUDE_PLUGIN_ROOT}/scripts/ops-aws-audit.sh"Outputs in AUDIT_OUTPUT_DIR: report.md (human), findings.json (machine), raw/ (per-service snapshots + cost-delta.tsv), audit.log.
After the run, read findings.json and summarise CRITICAL/HIGH first.
--schedule installs a daily systemd --user timer via scripts/install-aws-audit-cron.sh (Linux; this box uses systemd, not launchd):
bash "${CLAUDE_PLUGIN_ROOT}/scripts/install-aws-audit-cron.sh"
systemctl --user list-timers ops-aws-audit.timerDispatch to the background fleet instead:
claude --bg --name aws-audit -- bash "${CLAUDE_PLUGIN_ROOT}/scripts/ops-aws-audit.sh" --quietThis skill only audits. To act on a finding:
aws command(s).ok / yes / proceed).do not attempt to "rotate root" from an IAM-user CLI session (that only rotates the IAM user's own key, not the root key).
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.