Skills/ClawHub/calibre-converter

calibre-converter@1.0.0

CAUTION· static only

Publisher claims: "Calibre Converter is an OpenClaw skill for requesting format conversion of books already registered in Calibre. It does not run ebook-convert or calibredb directly; instead, it identifies the book, confirms the target format, and calls calibre-openclaw-server to convert, register, and return the result. It supports EPUB, AZW3, MOBI, PDF, DOCX, and TXT, with safe agent rules for Kindle, Kobo, duplicate titles, and conversion quality review." Observed in sandbox: static analysis only — behavior not yet observed.

Registry ClawHubPublisher carlosdelfino · publishing for 169 daysInstalls 472Last detonated 36 h ago

Coverage

Static only; nothing was run yet.

The label rests on the code, the instruction files and the publisher. The honeypot run replaces this verdict when it completes.

Is [email protected] safe to install?

KillerSkills analysed it statically (a sandbox run is pending) on 2026-11-12 and scored it 49/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Access to sensitive file paths; Access to sensitive file paths; Access to sensitive file paths. Summary: static analysis only — behavior not yet observed.

Behavior trace

Queued for honeypot run · static analysis only
t+CategoryObserved action

This version has not been detonated yet. The score above counts behavior as unknown (50/100), so it cannot read Verified until the honeypot run completes and replaces this verdict.

Static findings

HIGH
Access to sensitive file pathscalibre-openclaw-gateway/app/api/routes/downloads.py:28 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesdetail="Download queue is not enabled. Set DOWNLOAD_QUEUE_ENABLED=true in .env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/app/api/routes/search.py:213 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesdetail="OpenLibrary service is not enabled. Set OPENLIBRARY_ENABLED=true in .env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsSKILL.md:98 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesO script carrega automaticamente o arquivo `.env` da raiz deste skill antes de ler essas variáveis. Variáveis já exportadas no ambiente têm prioridade sobre o `.env`.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/app/config.py:111 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesraise RuntimeError("CALIBRE_DB_PATH must be configured in .env")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/app/config.py:135 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"""Load settings from .env file in multiple locations."""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Privileged sudo commandcalibre-openclaw-gateway/install_service.sh:59 · Privileged sudo command — agent may execute with elevated privilegesprint_error "This script should not be run as root. It will use sudo when needed."Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/run.sh:72 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesecho -e "${GREEN}✓ .env file found at $ENV_FILE${NC}"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/run.sh:70 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesif [ -f "$dir/.env" ]; thenFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/scripts/document_semantic_rag.py:251 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filescwd_env = Path.cwd() / '.env'Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/run.sh:4 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# This script checks for .env file and installed dependencies before running the serverFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/run-rag.sh:40 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesENV_FILE="$dir/.env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Privileged sudo commandcalibre-openclaw-gateway/install_service.sh:315 · Privileged sudo command — agent may execute with elevated privilegessudo tee "$SERVICE_FILE" > /dev/null <<EOFFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/run-rag.sh:47 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesecho -e "${RED}ERROR: .env file not found!${NC}"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Privileged sudo commandcalibre-openclaw-gateway/scripts/document_semantic_rag.py:519 · Privileged sudo command — agent may execute with elevated privilegeslog_event('INFO', 'sudo apt-get install djvulibre-bin # Ubuntu/Debian')Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Access to sensitive file pathsscripts/calibre_converter_client.py:22 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesSKILL_ENV_FILE = SKILL_ROOT / ".env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/run.sh:62 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# Check if .env exists in multiple locationsFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/calibre_converter_client.py:26 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"""Load key/value pairs from the skill root .env without overriding env vars."""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/run-rag.sh:39 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesif [ -f "$dir/.env" ]; thenFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/scripts/document_semantic_rag.py:248 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# Load skill environment variables first. A .env from CWD can complementFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/app/config.py:113 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesraise RuntimeError("CALIBRE_LIBRARY_PATH must be configured in .env")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Privileged sudo commandcalibre-openclaw-gateway/install_service.sh:393 · Privileged sudo command — agent may execute with elevated privilegessudo tee "$NIGHTLY_SERVICE_FILE" > /dev/null <<EOFFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/run-rag.sh:49 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesecho " - $SCRIPT_DIR/.env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/app/config.py:115 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesraise RuntimeError("PostgreSQL user and database must be configured in .env")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/install_service.sh:73 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesENV_FILE="$dir/.env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/scripts/document_semantic_rag.py:250 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesskill_env = SKILL_DIR / '.env'Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/install_service.sh:81 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesprint_error ".env file not found!"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/run-rag.sh:41 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesecho -e "${GREEN}✓ .env file found at $ENV_FILE${NC}"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Privileged sudo commandcalibre-openclaw-gateway/install_service.sh:463 · Privileged sudo command — agent may execute with elevated privilegessudo systemctl daemon-reloadFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/install_service.sh:64 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# Check if .env file existsFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Privileged sudo commandcalibre-openclaw-gateway/install_service.sh:424 · Privileged sudo command — agent may execute with elevated privilegessudo tee "$NIGHTLY_TIMER_FILE" > /dev/null <<EOFFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/run.sh:71 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesENV_FILE="$dir/.env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/install_service.sh:72 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesif [[ -f "$dir/.env" ]]; thenFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
File type combined with upload actioncalibre-openclaw-gateway/app/database/postgres_db.py:348 · File type combined with upload action — agent may exfiltrate local data files"""Get the last modification time of Calibre metadata.db stored in PostgreSQL."""Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/install_service.sh:74 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesprint_success ".env file found at $ENV_FILE"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscalibre-openclaw-gateway/app/config.py:140 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesenv_file = Path(env_dir) / ".env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
File permission modification commandcalibre-openclaw-gateway/install_service.sh:75 · File permission modification command — agent changes file ownership/permissionschmod 600 "$ENV_FILE" 2>/dev/null || print_warning "Could not set $ENV_FILE permissions to 600"Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
Python subprocess execution detectedcalibre-openclaw-gateway/scripts/document_semantic_rag.py:375 · Python subprocess execution detectedinstall_result = subprocess.run(['ollama', 'pull', self.embedding_model],Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedcalibre-openclaw-gateway/app/services/network_service.py:95 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Access to sensitive file pathscalibre-openclaw-gateway/tests/test_openlibrary_integration.py:109 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesprint(" Set OPENLIBRARY_ENABLED=true in .env to enable")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Process kill commandcalibre-openclaw-gateway/install_service.sh:329 · Process kill command — agent can terminate processesExecStop=/bin/kill -SIGTERM \$MAINPIDFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
Python subprocess execution detectedcalibre-openclaw-gateway/app/services/format_conversion_service.py:241 · Python subprocess execution detectedcompleted = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedcalibre-openclaw-gateway/scripts/document_semantic_rag.py:368 · Python subprocess execution detectedresult = subprocess.run(['ollama', 'list'], capture_output=True, text=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05

Cost to the agent

Instructions loaded
≈1,174 tok
1 file · 46 in bundle

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.

What would make this Verified

31 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%
  1. Unclaimed publisher≈ +8 on the totalClaim carlosdelfino: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
  2. Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
  3. Privileged sudo command≈ +4 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
  4. File type combined with upload action≈ +2 on the totalRemove the call, or declare the host in frontmatter and explain in the README what is sent and why.
  5. File permission modification command≈ +2 on the totalRequest the narrowest permission that works; replace wildcards with the exact paths or hosts.
  6. Python subprocess execution detected≈ +2 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
Publish a new version to ClawHub, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim carlosdelfinoPropose a patch to the maintainer