Caveat verdict

chinese-ebook-downloader

88
🟢 Trusted
No high-risk patterns surfaced by the deep scan — automated capability review, not behavioral proof.

Reads local files AND makes external network calls

Downloads ebooks from documented sources (Source A/B/C including Anna's Archive/libgen mirrors) with a clear multi-source fallback strategy; behavior matches stated purpose and no credentials or secrets are involved.

Automated static analysis — not a human review. Caveat flags capabilities, not confirmed intent, and can produce false positives. Disagree with this verdict? Use Dispute below.

0
security
50
transparency
70
maintenance

What it does

These are capability combinations: each listed behavior occurs in the skill, but Caveat detects co-occurrence — it does not verify that one flows into another. Read the code to confirm a live chain.

Capability combination critical

Reads local files AND makes external network calls — the capabilities for data exfiltration co-occur (data-flow not verified)

LLM02 · LLM06 · ASI03

Capability combination critical

Reads files, encodes data, AND makes external network calls — the obfuscated-exfiltration pattern (data-flow not verified)

LLM02 · ASI03

Permission integrity

Makes network requests but does not declare curl/wget in required binaries

network_out

Performs file operations but does not declare file-accessing binaries

file_read

Findings (5)

Pattern match medium

subprocess execution — runs system commands from Python

scripts/anna_batch_download.py · prose · downgraded · subprocess.run(

Confirmed in code low

fetch() — outbound network request

SKILL.md · code

Pattern match low

Popular HTTP library — network access

scripts/anna_async_download.py · prose · downgraded · Got

Pattern match low

Python shutil file operation — copies/moves/deletes files

scripts/anna_batch_download.py · prose · downgraded · shutil.move(

Pattern match low

Python os.environ.get — reads environment variable

scripts/download_book.py · prose · downgraded · os.environ.get(

Why the tier is capped

Execution sink present in raw bytes (Hard Floor: class D). Final tier capped at Caution — cannot be lifted by any downgrade, example-payload opt-in, or allowlist.

Permissions & capabilities

No declared permissions — minimal attack surface.

network_outnetwork_infile_readdata_encoding
Check another skill Browse the registry Auditing your own skills or configs? Use the API