Skip to content
Back to skills

Cyber Audit

ASecurity

Check whether this machine is affected by a named CVE, malicious package, or supply-chain advisory; read-only, writes a report.

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 29, 2026
ai-agentsgosecurity

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 6, 2026

npx -y skills add hcaiano/skills --skill cyber-audit --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cyber Audit?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cyber Audit
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/hcaiano-cyber-audit/badge)](https://www.skillsdirectory.com/skills/hcaiano-cyber-audit)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: cyber-audit
description: "Check whether this machine is affected by a named CVE, malicious package, or supply-chain advisory; read-only, writes a report."
argument-hint: "<CVE / advisory / package>"
---

# cyber-audit

Determine whether this machine is exposed to one named advisory, and leave a
written audit trail.

## Hard rules

- **Read-only on the machine.** You diagnose; the user remediates. No installs,
  removes, upgrades, restarts, config changes, or file writes outside
  `~/security-audits/`. Reading the advisory is expected: fetch it from
  authoritative sources, or use the full text the user provided.
- **No `sudo`.**
- Record a check that needs a state-changing command as "not checked (would
  require state change)" instead of running it.
- **One report per invocation**, even for "Not affected": it is the audit
  trail.

## Workflow

1. **Scope from the advisory.** Establish the affected package or binary,
   affected versions, platform, and attack vector (supply chain / RCE / local /
   network) from the advisory itself. Given only a CVE ID or package name, look
   the advisory up or ask for its full text before auditing; an ungrounded
   verdict is worse than none. Done when the affected versions cite the
   advisory.
2. **Check.** Read `uname -s`, then read
   [references/checks.md](references/checks.md) and pick the checks for this
   advisory's ecosystem and this OS. Run independent checks in parallel.
3. **Build the table** as you go: one row per check with its concrete result
   (version, path, "None", "N/A", or "not checked" with the reason). Done when
   every picked check has a row and every gap needed for the verdict is named.
4. **Write the report.** Run `mkdir -p ~/security-audits`, then write
   `~/security-audits/YYYY-MM-DD-<short-kebab-slug>.md` from the template
   below, with today's date from the environment. When the verdict is
   Affected, put the remediation command under **Follow-ups** for the user to
   run.
5. **Report the verdict** to the user in one line plus the report path.

## Report template

```markdown
# <Subject> — Audit

**Date:** YYYY-MM-DD
**Host:** <this machine>

## <CVEs | Advisory> in scope

- **<ID or source> "<Name>"** — <one-line description>. <Affected versions or scope>.

## Audit results

| Check | Result |
|---|---|
| <Check 1> | <Result> |
| <Check 2> | <Result> |

## Verdict

**<Not affected. | Affected. | Partially affected. | Inconclusive.>**

- <Rationale bullet 1>
- <Rationale bullet 2>

## Action taken

None — diagnostic only, no files modified outside the report directory.

## Follow-ups

- <Actionable item, or "None">
```

## Verdict

The attack vector decides which check proves exposure:

- **Supply-chain / malicious package**: a present vulnerable version is
  exposure, because its install-time and import-time payloads may already have
  run. Presence is **Affected** whether or not anything is running; the report
  states the observed package state, not that a payload ran.
- **Network / service (RCE)**: exposure needs the vulnerable code running and
  reachable, so the process and listener checks decide.

Verdicts:

- **Not affected.** Absent, or installed but patched; for network/service
  advisories, also installed but not running and not exposed.
- **Affected.** A vulnerable version present and reachable by the attack
  vector.
- **Partially affected.** Network/service advisories only: installed and
  running but only partly reachable, e.g. bound to loopback or exposed only
  behind auth or a firewall. Spell out the mitigation. A fully stopped service
  is **Not affected**.
- **Inconclusive.** A check needed to prove absence, version, or reachability
  could not run. Name that check and the missing evidence in the report.

Files in this skill

  • SKILL.md7.6 KB
  • agents/openai.yaml151 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.