fetch-library-docs
Warn
Audited by Gen Agent Trust Hub on Feb 22, 2026
Risk Level: MEDIUMREMOTE_CODE_EXECUTIONCREDENTIALS_UNSAFEEXTERNAL_DOWNLOADSCOMMAND_EXECUTION
Full Analysis
- [REMOTE_CODE_EXECUTION] (HIGH): The scripts
load-api-key.sh,fetch-raw.sh, andstart-server.shall executenpx -y @upstash/context7-mcp. This command automatically downloads and runs code from a public registry at runtime, which is a major remote code execution vector if the package is compromised or typosquatted.\n- [CREDENTIALS_UNSAFE] (HIGH): Inload-api-key.shandfetch-raw.sh, the skill passes the Context7 API key via the--api-keycommand-line flag. This exposes the secret key to all users and monitoring tools on the system through the process list (e.g.,pscommand).\n- [REMOTE_CODE_EXECUTION] (HIGH): The skill references and executesscripts/mcp-client.pyinfetch-raw.sh, but this file is not included in the provided skill files, making it an unverifiable executable dependency.\n- [EXTERNAL_DOWNLOADS] (MEDIUM): The skill frequently connects to external services (npm and context7.com) to download tools and documentation data, increasing the attack surface.\n- [COMMAND_EXECUTION] (LOW): The skill uses a complex chain of local bash scripts (extract-*.sh) utilizingawkandgrepfor string parsing. While focused on data extraction, this provides a large surface area for command execution.\n- [PROMPT_INJECTION] (LOW): The skill is susceptible to indirect prompt injection because it ingests documentation from a third-party source without sanitization or explicit boundary markers to isolate instructions embedded in the external content.\n - Ingestion points: External documentation is fetched via
fetch-raw.shand thequery-docstool.\n - Boundary markers: None; the extraction scripts wrap output in Markdown headers but do not provide instructions to the agent to ignore embedded commands.\n
- Capability inventory: The skill has broad capabilities to execute shell commands and read/write local files (e.g.,
~/.context7.env).\n - Sanitization: Content is filtered for structural blocks but not sanitized for malicious natural language instructions.
Audit Metadata