From mac-security-suite
Enumerates everything that persists on macOS (launchd, login items, cron, dylib hijacks, browser extensions, etc.) using KnockKnock's JSON CLI with built-in VirusTotal reputation, then diffs against a known-good baseline so recurring runs surface only NEW persistence. Read-only. Invoke with /mac-security:persistence-watch. Trigger phrases: "what persists on my mac", "knockknock", "new launch items", "persistence check", "autoruns for mac", "did something install itself".
How this skill is triggered — by the user, by Claude, or both
Slash command
/mac-security-suite:persistence-watchThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
KnockKnock is "AutoRuns for macOS" — it snapshots all persistence locations and (with a
KnockKnock is "AutoRuns for macOS" — it snapshots all persistence locations and (with a VirusTotal key) attaches detection ratios per binary hash. This skill runs it headless, diffs the JSON against a baseline, and surfaces only what changed — the same baseline-and-diff pattern as [[security-scan]], scoped to persistence with VT reputation.
bash ${CLAUDE_PLUGIN_ROOT}/bin/install-tools.sh # confirms knockknock
Full Disk Access must be granted to your terminal (System Settings > Privacy &
Security > Full Disk Access) or KnockKnock can't read several persistence locations.
A VirusTotal key (vt init, free) enables the reputation column.
VT_KEY=$(awk -F'"' '/^apikey/{print $2}' ~/.vt.toml 2>/dev/null) bash ${CLAUDE_PLUGIN_ROOT}/skills/persistence-watch/scripts/persistence.sh
Runs KnockKnock (with VirusTotal if VT_KEY is set) plus a native launchd/login-item/kext
cross-check, all read-only. Then diff against the baseline per the procedure below.
KnockKnock -whosthere -pretty -skipApple # without VT
KnockKnock -whosthere -pretty -skipApple -key "$VT_KEY" # with VirusTotal ratios
references/persistence_baseline.md. NEW items are findings; removed items
are usually benign uninstalls (note them, don't alarm).malware-triage.references/persistence_baseline.md.KnockKnock's launchd view overlaps the security-scan launchd enumeration and an ad-hoc
osqueryi --json "SELECT * FROM launchd;". When something looks off, cross-check across
all three — agreement raises confidence, disagreement is itself a signal.
launchctl bootout / file removal as a command for the user to run.references/persistence_baseline.md — known-good persistence inventory (diff target).Provides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.
npx claudepluginhub ejkaz/claude-mac-security --plugin mac-security-suite