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, andscripts/search_google_scholar.pyfetch 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, recommendingsubprocessargument lists instead. - Capability inventory: The skill uses
requestsfor network operations and standard library modules for file I/O and parsing. It is designed to be used with the agent'sBashtool for script execution. - Sanitization:
scripts/_common.pyimplementssanitize_keyandcitation_keyto ensure citation identifiers are restricted to alphanumeric characters.scripts/extract_metadata.pyusesurllib.parse.quotefor safe URL construction. - [DATA_EXFILTRATION]: The skill utilizes environment variables
NCBI_API_KEY,NCBI_EMAIL, andOPENALEX_EMAILto 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