Han— plugin

Han — independently scanned and version-tracked by SaferSkills.

by testdouble·Plugin·github.com/testdouble/han

Is Han safe to install?

SaferSkills independently audited Han (Plugin) and scored it 79/100 (yellow). 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.

Score
79/100
●●●●●●●●○○
↑ +0 since first scan (79 → 79)Re-scan~30s
Latest scan
ScannedJun 23, 2026 · 29d ago
Scans run2 over 90 days
Detectors55 checks · 5 categories
Findings3 warnings · 1 high
EngineSaferSkills 2b638c6
View methodology →
SaferSkills installs
This week0
This month0
All time0
CategoryWeightCategory scoreContribution
Securityprompt, exec, net, exfil, eval
35%
39
13.7 pts
Supply chainhash, typosquat, maintainer, lockfile
20%
100
20.0 pts
Maintenancestaleness, pinning, CI
15%
100
15.0 pts
TransparencySKILL.md, perms, README
15%
100
15.0 pts
Communityinstalls, verify, response
15%
100
15.0 pts

Findings & checks · 4 flagged

Securityscore 39 · 4 findings
HIGH"Ignore previous instructions" command embedded in the skillSS-SKILL-INJECT-IGNORE-01 · Prompt injection · han-core/agents/research-analyst.md
HIGHwhen it fires on hostile content the impact is full system-prompt override.
Why it matters

The text {match} is the classic direct prompt-injection phrasing. Placed in a skill body that the agent reads as trusted instructions, it tries to make the agent abandon its prior rules and follow whatever comes next — a full system-prompt override.

The exact value spotted
excerpthan-core/agents/research-analyst.md· markdown
17 
18- **Single-Source Recommendation**: The recommendation rests on one web source. Detection: t
… (97 chars elided on L18)
19- **Instruction-Following**: The analyst treats directive language inside a fetched page ("i
… (108 chars elided on L19)
20- **Stale-Source Blindness**: The analyst cites a page without recording when it was retriev
… (82 chars elided on L20)
21- **Option Strawman**: An alternative is described only well enough to lose. Detection: ever
… (77 chars elided on L21)
Occurrences
1 occurrence · at L19
How to fix
Remove the override phrase, or rephrase the passage so it does not instruct the agent to discard its rules.
  1. Delete the ignore/disregard/forget … previous instructions sentence.
  2. If this is jailbreak-research or tutorial content, move the example into a clearly fenced, non-instruction block and label it as a quoted sample.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-IGNORE-01sha2562e4221a7f996a729rubric 365aacaView on GitHub
MEDIUMInstruction telling the agent not to ask for approvalSS-SKILL-INJECT-DONT-ASK-01 · Prompt injection · docs/agents/han-core/junior-developer.md
MEDIUMit fires on intent; the real damage depends on the host agent's own approval-gating.
Why it matters

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.

The exact value spotted
excerptdocs/agents/han-core/junior-developer.md· markdown
113- **Point it at the standards library.** If your repo has a `CLAUDE.md`, `project-discovery.
… (108 chars elided on L113)
114- **Treat Open Questions as work.** They are not rhetorical. Each one is something the team
… (108 chars elided on L114)
115- **Use it before specialists, not instead of them.** The agent is a pre-specialist filter.
… (108 chars elided on L115)
116- **Re-run after changes.** The agent is cheap to re-dispatch once the brief has been filled
… (103 chars elided on L116)
117- **Pair with a reviewer agent.** The agent generates findings. It does not evaluate its own
… (107 chars elided on L117)
Occurrences
1 occurrence · at L115
How to fix
Remove the approval-skipping instruction, or scope it narrowly to a specific safe, reversible action.
  1. Delete blanket "don't ask / no need to confirm" directives from the skill.
  2. If the skill is a genuine autonomous job, restrict the opt-out to a named non-destructive action rather than all actions.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-DONT-ASK-01sha25668b030f55bcd484arubric 365aacaView on GitHub
MEDIUMInstruction telling the agent not to ask for approvalSS-SKILL-INJECT-DONT-ASK-01 · Prompt injection · docs/plans/skills-feedback-issue-36/feedback-investigation.md
MEDIUMit fires on intent; the real damage depends on the host agent's own approval-gating.
Why it matters

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.

The exact value spotted
excerptdocs/plans/skills-feedback-issue-36/feedback-investigation.md· markdown
236 
237- **Files:** `han-core/skills/plan-a-feature/SKILL.md` (Operating Principle 32, Step 2 64-73
… (75 chars elided on L237)
238- **Change:** Extend the enumerated resolution-source list (currently codebase, project docs
… (108 chars elided on L238)
239- **Evidence:** (E12); refuted-and-rescoped per (V4), (V11).
240- **Standards:** Deterministic gate (tool *availability* is a concrete check; the answerable
… (108 chars elided on L240)
Occurrences
1 occurrence · at L238
How to fix
Remove the approval-skipping instruction, or scope it narrowly to a specific safe, reversible action.
  1. Delete blanket "don't ask / no need to confirm" directives from the skill.
  2. If the skill is a genuine autonomous job, restrict the opt-out to a named non-destructive action rather than all actions.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-DONT-ASK-01sha25612211d7a427c799arubric 365aacaView on GitHub
MEDIUMInstruction telling the agent not to ask for approvalSS-SKILL-INJECT-DONT-ASK-01 · Prompt injection · docs/skills/han-atlassian/plan-a-feature-to-confluence.md
MEDIUMit fires on intent; the real damage depends on the host agent's own approval-gating.
Why it matters

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.

The exact value spotted
excerptdocs/skills/han-atlassian/plan-a-feature-to-confluence.md· markdown
93 
941. **Validate inputs.** Confirm the Atlassian MCP server is reachable (calling `getAccessibl
… (108 chars elided on L94)
952. **Produce the plan to a temporary folder.** Invoke `/plan-a-feature` with all your contex
… (108 chars elided on L95)
963. **Show the files for review.** Tell you the exact `/tmp/` paths so you can open and read
… (52 chars elided on L96)
974. **Confirm the publish choice.** Ask how to publish the page tree: save as drafts (the rec
… (108 chars elided on L97)
Occurrences
1 occurrence · at L95
How to fix
Remove the approval-skipping instruction, or scope it narrowly to a specific safe, reversible action.
  1. Delete blanket "don't ask / no need to confirm" directives from the skill.
  2. If the skill is a genuine autonomous job, restrict the opt-out to a named non-destructive action rather than all actions.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-DONT-ASK-01sha256ddf2d66b96053d4arubric 365aacaView on GitHub
Supply chainscore 100 · 0 findings
All supply chain checks passedNo findings in this category for the latest scan.pass
Maintenancescore 100 · 0 findings
All maintenance checks passedNo findings in this category for the latest scan.pass
Transparencyscore 100 · 0 findings
All transparency checks passedNo findings in this category for the latest scan.pass
Communityscore 100 · 0 findings
All community checks passedNo findings in this category for the latest scan.pass
Vendor response · right of reply
Are you the maintainer? Submit a response →

Audit the pieces. Scan the whole. Decide.

~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.