Caveat verdict
zotero-cli
A CLI wrapper for the Zotero reference manager that searches and manages a local/user-owned Zotero library; all operations are on the user's own bibliographic data with no exfiltration.
⚠ 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.
Permission integrity
file_read
package_install
Findings (11)
Pipe-to-shell pattern (curl | sh) — supply chain attack vector
INSTALL.md · code · curl https://pyenv.run | bash
Pipe to bash — executes piped content as shell commands
INSTALL.md · code · | bash
Recursive delete from root or home — destructive command
INSTALL.md · code · rm -rf ~
References sudo — requests elevated privileges
SKILL.md · code · sudo
Accesses shell history/config
INSTALL.md · code · ~/.zshrc
yum install — installs system packages
INSTALL.md · code · yum install
apk add — installs Alpine packages
INSTALL.md · code · apk add
Downloads executables from external URLs
INSTALL.md · prose · downgraded · Download from https://
subprocess execution — runs system commands from Python
scripts/export_citations.py · prose · downgraded · subprocess.run(
Sets world-executable permissions
scripts/README.md · code · chmod 755
pip3 install — installs Python packages at runtime
scripts/setup_and_check.sh · prose · downgraded · pip3 install
Why the tier is capped
Execution sink present in raw bytes (Hard Floor: class A/B/D/F). 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.
package_installfile_read Is this flag fair?
Thanks — recorded.