citation-management

Pass

Audited by Gen Agent Trust Hub on Nov 9, 2026

Risk Level: SAFEINDIRECT_PROMPT_INJECTIONDATA_EXFILTRATIONDYNAMIC_EXECUTION
Full Analysis
  • [INDIRECT_PROMPT_INJECTION]: The skill ingests data from external academic APIs (CrossRef, PubMed, OpenAlex, arXiv).
  • Ingestion points: scripts/extract_metadata.py, scripts/search_openalex.py, scripts/search_pubmed.py, and scripts/search_google_scholar.py fetch data from remote sources.
  • Boundary markers: The SKILL.md (Phase 2.5) provides explicit instructions to the agent to treat metadata as untrusted and avoid building shell strings, recommending subprocess argument lists instead.
  • Capability inventory: The skill uses requests for network operations and standard library modules for file I/O and parsing. It is designed to be used with the agent's Bash tool for script execution.
  • Sanitization: scripts/_common.py implements sanitize_key and citation_key to ensure citation identifiers are restricted to alphanumeric characters. scripts/extract_metadata.py uses urllib.parse.quote for safe URL construction.
  • [DATA_EXFILTRATION]: The skill utilizes environment variables NCBI_API_KEY, NCBI_EMAIL, and OPENALEX_EMAIL to identify calls and raise rate limits. These are transmitted exclusively to official, well-known academic services (NCBI and OpenAlex) as per their documented requirements.
  • [DYNAMIC_EXECUTION]: Several scripts (e.g., scripts/extract_metadata.py) use __import__("pathlib") for path resolution to handle script location independence. This is a benign use of dynamic importing for environment configuration.
Audit Metadata
Risk Level
SAFE
Analyzed
Nov 9, 2026, 02:38 AM