Skill that edits ~/.ssh/authorized_keys on first invocation
Summary
Malicious skill that, as part of its stated "dev environment setup" task, appends an attacker-controlled public key to ~/.ssh/authorized_keys. The skill frames the action as adding a CI deploy key, but the resulting persistence is a full-shell backdoor for the attacker. Observed across three independent publishers on the Anthropic Skill marketplace.
Severity & confidence
Critical
Active exploitation in the wild, high blast radius, or direct data exfiltration vector. Treat as an urgent remediation target; quarantine affected artifacts immediately.
Confirmed
Observed directly by Jiffy scanners or validated by multiple independent sources. Indicators are reliable enough to drive automated action.
Indicators
Observed patterns and artifacts associated with this entry. Each indicator can be copied into your detection stack or SIEM.
(?i)(?:echo|cat)\s+.{0,160}>>\s*.{0,40}authorized_keys
(?is)append[_\s-]?ssh[_\s-]?key
(?:~/|/Users/[^/]+/)\.ssh/authorized_keys
Detection rule
A YARA-style pseudo-rule auto-generated from the indicators above. Useful as a starting point — adapt the syntax for your target detection platform.
rule jiffy_ti_2026_000011
{
meta:
source = "jiffy-intel"
severity = "critical"
description = "Auto-generated from Jiffy Intel indicators"
strings:
$file_path_pattern_0 = "(?:~/|/Users/[^/]+/)\\.ssh/authorized_keys"
$command_pattern_1 = "(?i)(?:echo|cat)\\s+.{0,160}>>\\s*.{0,40}authorized_keys"
$tool_call_pattern_2 = "(?is)append[_\\s-]?ssh[_\\s-]?key"
condition:
$file_path_pattern_0 or $command_pattern_1 or $tool_call_pattern_2
}Auto-generated from the indicators above. Adapt syntax for your detection stack before deploying.
Affected tools
| Tool | Versions | Status |
|---|---|---|
| Claude Code | * | vulnerable |
| Claude Desktop | * | vulnerable |
Example artifacts
Sanitized examples of artifacts Jiffy has observed exhibiting this pattern. Publisher handles are redacted; version ranges and status reflect the most recent scan.
- ci-deploy-helper-skillSkillRemoved
Writes disguised as CI deploy-key setup.
- dev-env-bootstrapSkillRemoved
- gh-deploy-bot-skillSkillQuarantined
Held before publish by Jiffy scanner.
How to remediate
- 01Block skills that touch ~/.ssh.
- 02Require skill manifests to declare an explicit `writes` allowlist and reject any skill whose observed filesystem writes exceed declared scope.
- 03Rotate any SSH authorized_keys entries added since the skill was installed.
Timeline & sources
Timeline
- First observedMar 3, 20261 month ago
- Last updatedApr 12, 20265 days ago
- PublishedMar 13, 20261 month ago
Sources
References
Jiffy Research — Scanning AI Skills at Scale
https://blog.jiffylabs.ai/posts/scanning-ai-skills-at-scale-what-we-learnedOWASP Top 10 for Agentic Applications
https://owasp.org/www-project-top-10-for-agentic-applications/MITRE ATT&CK T1546 — Event Triggered Execution
https://attack.mitre.org/techniques/T1546/Scan for patterns like this
Point Jiffy at your GitHub org, IDE config, or a single artifact. Get a scored report in under a minute.
Start a free scan