Caveat verdict
zotero-ingest
Reads local files AND makes external network calls
Adds research papers to a user's Zotero library via the official REST API; the hardcoded user ID (10425097) is the skill author's own account ID used as a reference example, and the API key is retrieved from 1Password via 'op read' rather than hardcoded.
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.
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.
Reads local files AND makes external network calls โ the capabilities for data exfiltration co-occur (data-flow not verified)
LLM02 ยท LLM06 ยท ASI03
Reads files, encodes data, AND makes external network calls โ the obfuscated-exfiltration pattern (data-flow not verified)
LLM02 ยท ASI03
Executes processes AND makes external network calls โ may exfiltrate command output
LLM02 ยท LLM06 ยท ASI03
Accesses credentials AND makes external network calls โ potential credential theft
LLM02 ยท ASI03
Accesses credentials AND encodes data โ may obfuscate stolen credentials
LLM02 ยท ASI03 ยท ASI04
Permission integrity
network_out
credential_access
Findings (2)
subprocess execution โ runs system commands from Python
SKILL.md ยท code ยท subprocess.check_output(
Python urllib.request โ network access
SKILL.md ยท code ยท urllib.request
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_outfile_readprocess_execcredential_accessdata_encoding Thanks โ recorded.