Security Setup
One document you paste into Claude Code on each machine. The agent scans your setup, asks three questions, then builds you a tailored /security-audit skill you can run weekly. Assume-breach philosophy — survive a compromise, don't pretend to prevent one.
Four cumulative levels
You pick how much time you have today. The skill remembers where you got to, so you can level up later.
- 5 min Level 1 - Quick scan. NPM minimum package age, CISA KEV diff against installed software, force-push status on owned repos. This is the weekly-runnable level.
-
15 min
Level 2 - Deep hardening. Disable force-push, audit SSH config, find loose
.envfiles, dependency scan with OSV.dev + GitHub Advisory. - 1 hour Level 3 - Blast radius. Two halves you can pick from. 3A: encrypted secrets with varlock. 3B: Docker sandbox so Claude runs containerised.
- Half day+ Level 4 - Off-machine dev. Spin up a VPS, harden it, replicate Levels 1-3 there. Get development off your personal machine entirely.
How to use
Open Claude Code on every machine you develop on (laptop, dev server, all of them). Pick one of the options below.
Option 1 · Tell Claude to fetch the brief
Fetch https://guide.zenaitutoring.com/security-setup/instructions.md and follow the instructions exactly.
Option 2 · Copy the full brief and paste it
After pasting: Claude will recon your machine, ask three short questions, then install ~/.claude/skills/security-audit/SKILL.md. From then on, run /security-audit weekly (Sundays are a good default).
What gets installed
The skill the agent builds for you (tailored to your OS, package managers, and how you work).
The skill itself. Invoked with /security-audit. Knows what level you're at and what to scan.
Per-machine memory: level completion, machine role, tracked projects, settled findings, last scan timestamp.
One dated note per scan. Findings, fixes, anything deferred. Same pattern as the doc-system worklog.
Vulnerability feeds the skill queries: OSV.dev, GitHub Advisory, CISA KEV, NVD. Extensible without editing the skill.
Why this exists
Supply-chain attacks against NPM maintainers are an active wave - poisoned packages, credential-exfil scripts triggered by pre-commit hooks, force-pushed commits that overwrite history. The 5-minute fix (NPM minimum package age) protects against most of it. The remaining levels stack on top.
The frame is assume-breach: encrypted secrets so nothing useful is stolen, read-only skill mounts so the agent can't rewrite its own rules, backups so deletion isn't catastrophic, sandboxes so the blast radius stays contained.