Announcing Beacon: Self-improving memory for coding agents
← All skills
Skill

retire-add-library

skill:retirejs/retire.js#retire-add-library

Add a new JavaScript library to the retire.js vulnerability database. Given a library name, looks it up on CDNs, downloads multiple versions, finds version strings, generates detection regexes with (§§version§§) placeholder, adds entries to jsrepository-master.json and testcases.json, and runs validate/test-detection. Use this skill whenever adding a new library to retire.js, generating filecontent/filename/uri extractors, or finding version detection patterns for a JS library.

Verdict
Suspicious

Risky behavior the analysis could not rule out.

Analyzed Oct 27, 2026, 22:33 UTC at e5e2286

Dispute security verdict

If you believe this verdict is incorrect, submit a dispute and we'll review it.

1
findings
high
highest severity
1
threat classes
171
files scanned
43/43
checks satisfied
0
package advisories

Why this verdict

  • suspicious: finding skill:.claude/skills/retire-add-library:.claude/skills/retire-add-library/SKILL.md:183:EXEC

Security findings 1

Code execution

highContextual risklow confidence

The skill instructs the agent to execute repository-local executables (./convertToVersioned, ./validate, node test-detection.js) at a hardcoded author path that the artifact does not ship, so the agent runs unknowable code from whatever resides at those paths at runtime, and ./convertToVersioned is not part of the declared capability (which only declares 'runs validate/test-detection').

./convertToVersioned && ./validate
vector:instruction
Counter-argument considered

Strongest counter: Step 11 is the declared validate/test-detection workflow and the hardcoded author path usually will not exist, lowering reach. But the skill concretely instructs executing ./convertToVersioned from a path the artifact does not ship, the description's run scope names only validate/test-detection (not convertToVersioned), and per the un-shipped-run rule the missing file never makes the instruction harmless, so no carve-out or declaration neutralizes it; reachability alone never refutes.

Open questions 1

What the analysis could not settle from the code alone.

What do the unshipped repository-local executables ./convertToVersioned, ./validate, and test-detection.js (referenced at a hardcoded /Users/erlend/... path, not part of this artifact) do when the skill instructs the agent to run them?
Code execution