Trusted — Risk Score 5/100
Last scan:1 day ago Rescan
5 /100
calibre-metadata-apply
Calibre metadata editor for title/authors/series/tags updates
Clean Calibre metadata management skill with proper credential handling and no malicious behavior detected.
Skill Namecalibre-metadata-apply
Duration31.6s
Enginepi
Safe to install
No action needed. The skill is safe for use.
ResourceDeclaredInferredStatusEvidence
Shell WRITE WRITE ✓ Aligned scripts/calibredb_apply.mjs:56 spawnSync(cmd[0], cmd.slice(1), {...})
Filesystem WRITE WRITE ✓ Aligned Local state writes to state/runs.json - declared in metadata
Environment READ READ ✓ Aligned Reads CALIBRE_PASSWORD, CALIBRE_USERNAME from env - necessary for auth
Network READ READ ✓ Aligned HTTP calls only to configured Calibre Content Server URL
Skill Invoke READ READ ✓ Aligned Uses subagent-spawn-command-builder for orchestration - declared
1 findings
🔗
Medium External URL 外部 URL
http://127.0.0.1:8080/#MyLibrary
README.md:132

File Tree

5 files · 39.2 KB · 1099 lines
JavaScript 3f · 689L Markdown 2f · 410L
├─ 📁 scripts
│ ├─ 📜 calibredb_apply.mjs JavaScript 524L · 17.7 KB
│ ├─ 📜 handle_completion.mjs JavaScript 61L · 1.9 KB
│ └─ 📜 run_state.mjs JavaScript 104L · 3.2 KB
├─ 📝 README.md Markdown 150L · 6.1 KB
└─ 📝 SKILL.md Markdown 260L · 10.3 KB

Security Positives

✓ No external dependencies (pure Node.js built-ins) - no supply chain risk
✓ Credential handling via --password-env avoids plaintext password exposure
✓ buildSafeEnv() properly isolates environment variables (only passes PATH, HOME, LANG, LC_ALL, LC_CTYPE, SYSTEMROOT, WINDIR)
✓ Command redaction in redactedCmd() masks passwords in logs
✓ Dry-run mode by default prevents accidental writes
✓ JSONL input validation with allowed field whitelist (ALLOWED set)
✓ No base64, no obfuscation, no suspicious patterns
✓ WSL/docker host discovery is standard network resilience pattern
✓ State file writes declared in SKILL.md metadata
✓ No access to sensitive paths (~/.ssh, ~/.aws, etc.)