journal-meta
Pass
Audited by Gen Agent Trust Hub on Sep 14, 2026
Risk Level: SAFECOMMAND_EXECUTIONDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTIONEXTERNAL_DOWNLOADS
Full Analysis
- [DYNAMIC_EXECUTION]: The script
journal_meta.pydynamically searches for and executes sibling scripts (jabbrv.pyandjournal_if.py) within user-writable directories such as~/.claude/skillsand~/.openclaw/skills. This search-and-execute mechanism is used for journal data enrichment but could be exploited if a malicious actor can place files in these search paths. - [COMMAND_EXECUTION]: The tool invokes other Python scripts via
subprocess.run. It correctly avoidsshell=Trueand passes arguments as a list, which effectively mitigates common shell injection vulnerabilities when passing journal names or identifiers to external processes. - [EXTERNAL_DOWNLOADS]: The skill connects to well-known academic services (OpenAlex, Crossref, and AbbrevISO) to resolve metadata. These connections are made via standard HTTP requests and include a configured User-Agent. This is consistent with the skill's primary function of academic research.
- [INDIRECT_PROMPT_INJECTION]: The skill processes untrusted data from academic APIs that could potentially contain malicious instructions intended for the agent.
- Ingestion points:
openalex_fetchandcrossref_fetchfunctions injournal_meta.pyingest titles and journal names from external API responses. - Boundary markers: None present; the skill does not wrap API-provided text in delimiters or provide specific instructions to the agent to ignore embedded commands in the metadata.
- Capability inventory: The skill has the capability to write to stdout (read by the agent) and execute local sibling scripts via
subprocess.run. - Sanitization: The skill uses
urllib.parse.quotefor URL construction and list-based argument passing insubprocess.runto ensure data is handled safely by the operating system.
Audit Metadata