rabbit-reads@0.5.0
VERIFIED· install onlyPublisher claims: "Distill a book, paper, or thesis into a folder of terse per-concept cheatsheets with a README index. Use whenever the user asks to "read this PDF and turn it into a doc set", "extract the practices from this book", wants "chapter summaries", "cheatsheets" or "best-practice cards", asks for "craft notes from a novel" or "the claims and methods out of an arxiv paper", or says "make study notes from this thesis". Covers normalizing any source format to text (txt, md, docx, pdf, doc, rtf, html, odt, epub), mapping the source's structure to section line ranges, planning the doc set, fanning the writing out to subagents, and verifying the result, cut by concept and never one file per chapter." Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Nothing executable in the bundle ran; the trace covers the install step only.- Tested
- every file read, file written and host contacted by what ran
- Not tested
- use of the skill by an agent
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (1 scenario; nothing executable in the bundle ran; the trace covers the install step only) on 2026-11-08 and scored it 86/100 (Verified). In what ran, nothing we could detect went wrong: no undeclared network egress, no credential reads, no persistent instruction writes. What it does with a real credential was not observed; the static findings and the publisher carry the rest of the score. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 1 scenarios · 0 deviationsStatic findings
result = subprocess.run(cmd, capture_output=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.refuses chmod still gets the write, which is the point. Two callers doingFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.proc = subprocess.run(argv, stdout=subprocess.PIPE,Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.proc = subprocess.run(argv, input=text.encode("utf-8"),Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out."partial": "the vocabulary tiers drop the words carrying real technical meaning, from lexicon.json's technical_exempt. Not an allowance, which would let a second `delve` through; a named exemption lisFix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.result = subprocess.run(argv, capture_output=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.# non-ASCII anchor, `(#%E5%AD%97%E5%B9%95)`, is not a URL by URL_RX and survivesFix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own."kill numbered lists in body prose that keep "Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell."rx": "(?i)\\b(battle ?rhythm|kill chain|in the trenches|war ?room|weaponi[sz]e[ds]?|force multiplier|troops on the ground|boots on the ground)",Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.Cost to the agent
Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.
Known vulnerabilities
Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.