Caveat verdict
calibre-converter
A skill that delegates e-book conversion to a local calibre-openclaw-server via a POST request; all operations are local server calls with no external data exfiltration, and executionSinkDetected is a weak hint with no concrete malicious evidence.
⚠ Flagged for review — coarse, uncorroborated signal, not a confirmed exploit. Review the config yourself before installing.
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.
Findings (11)
HTTP request to bare IP address — common in malicious payloads
calibre-openclaw-gateway/README.md · code · http://127.0.0.1
References sudo — requests elevated privileges
calibre-openclaw-gateway/README.md · code · sudo
Possible hardcoded credential
calibre-openclaw-gateway/install_service.sh · prose · downgraded · PASSWORD="$(env_value POSTGRESQL_DB_PASSWD)
subprocess execution — runs system commands from Python
calibre-openclaw-gateway/app/services/format_conversion_service.py · prose · downgraded · subprocess.run(
Downloads executables from external URLs
calibre-openclaw-gateway/scripts/document_semantic_rag.py · prose · downgraded · download from https://
apt-get install — installs system packages
calibre-openclaw-gateway/scripts/document_semantic_rag.py · prose · downgraded · apt-get install
Opens WebSocket connection
calibre-openclaw-gateway/app/api/routes/websocket.py · prose · downgraded · WebSocket
Python os.environ.get — reads environment variable
calibre-openclaw-gateway/app/config.py · prose · downgraded · os.environ.get(
Popular HTTP library — network access
calibre-openclaw-gateway/app/services/embedding_service.py · prose · downgraded · got
Python os.getenv — reads environment variable
calibre-openclaw-gateway/scripts/document_semantic_rag.py · prose · downgraded · os.getenv(
Python urllib.request — network access
scripts/calibre_converter_client.py · prose · downgraded · urllib.request
Why the tier is capped
Execution sink present in raw bytes (Hard Floor: class B/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.
Is this flag fair?
Thanks — recorded.