claude-praetorian — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited claude-praetorian (Agent Skill) and scored it 45/100 (orange). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 1 high-severity and 3 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 4 flagged
A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.
*.sig, SIGNATURES) outside the documentation.The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
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.
Context guard. Saves and restores valuable context at the right moments — before planning, after research, when subagents complete.
| Hook | When | Action |
|---|---|---|
| PreToolUse(EnterPlanMode) | Before planning | Lists prior compactions, suggests restoring |
| PreCompact | Before context resets | Prompts to save decisions/insights/findings |
| PostToolUse(WebFetch/WebSearch) | After web research | Prompts to compact as web_research |
| SubagentStop | After subagent completes | Prompts to compact as task_result |
| Command | Description |
|---|---|
/compact-praetorian [type] [title] | Save current context |
/restore-praetorian [query] | Load previous context |
praetorian_compact(type, title, key_insights, refs)praetorian_restore(title) to confirm it savedsearch_plans() to check if past context already covers thiskey_insightspraetorian_compact(type, title, key_insights, refs)praetorian_restore() — list recent compactionspraetorian_restore("query") — search for specific topicpraetorian_restore("query") — load praetorian contextsearch_conversations("query") for broader session historysearch("query") for tools relevant to the restored context| Sibling | Value | How |
|---|---|---|
| Historian | Past plans surface during planning compactions | search_plans() enriches pre-plan hook |
| Oracle | Tool discoveries included in compactions | Oracle results added to key_insights |
| Gladiator | Observations inform what to compact | Failure patterns highlight important context |
| Vigil | Files checkpointed alongside context | Quicksave protects files during compaction |
claude mcp add praetorian -- npx claude-praetorian-mcp~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.