Back to skill
Skillv1.0.2
ClawScan security
arXiv to Zotero · ClawHub's context-aware review of the artifact, metadata, and declared behavior.
Scanner verdict
BenignApr 17, 2026, 7:30 AM
- Verdict
- benign
- Confidence
- high
- Model
- gpt-5-mini
- Summary
- The skill's declared purpose (finding arXiv papers and importing new ones to Zotero) matches the files, runtime instructions, and required credentials; requested access is proportional and there is no installation or network behavior that contradicts the description.
- Guidance
- This skill appears coherent: it will ask for a Zotero API key and then run the bundled Python script once to search arXiv and create new Zotero items (including attempts to attach PDFs using curl). Before installing: 1) confirm you are comfortable granting the Zotero API key (create a key with the minimal necessary permissions and revoke it later if needed); 2) review the bundled scripts (scripts/main.py) if you want to audit exact network calls and file writes; 3) be aware the skill will create a setup-state at ~/.openclaw/config/skills/arxiv-to-zotero.setup.json and may write non-secret defaults into the skill's config.json; 4) consider running with a small import cap (config.import_policy.max_new_items) or dry-run to verify behavior; and 5) if you do not want the agent to invoke the skill autonomously, disable autonomous invocation in your agent settings.
Review Dimensions
- Purpose & Capability
- okName/description (arXiv → Zotero) align with required binaries (python3, curl), the single required environment variable (ZOTERO_API_KEY), the included script (scripts/main.py), and the documented behavior (search arXiv, dedupe against Zotero, create collection, upload PDFs). The Zotero API key is the expected credential for this function.
- Instruction Scope
- okSKILL.md instructs the agent to collect keywords/time range, build a single arXiv query, and invoke the bundled script once. It restricts external network targets (arXiv, arXiv PDF URLs, Zotero API) and documents read/write paths (config.json, ~/.openclaw/.env, setup-state). The instructions do not ask the agent to read unrelated local files or exfiltrate secrets to third-party endpoints.
- Install Mechanism
- okNo install spec is provided (instruction-only with bundled script), so nothing arbitrary is downloaded or executed beyond the included Python script and a curl subprocess for PDF downloads. This is a low-risk approach given the script is bundled in the package.
- Credentials
- okOnly ZOTERO_API_KEY is required and declared as the primary credential; that is a proportionate requirement for writing to a Zotero account. The SKILL.md/setup.md describe where to put the key (~/.openclaw/.env) and the other Zotero config values are non-secret and stored in config.json. No unrelated credentials are requested.
- Persistence & Privilege
- okalways:false (not force-included). The skill writes a per-skill setup-state file and may update its own config.json; it does not request system-wide privileges or modify other skills. Autonomous invocation (disable-model-invocation:false) is the platform default and not by itself a problem.
