exa-search
Pass
Audited by Gen Agent Trust Hub on Sep 25, 2026
Risk Level: SAFEINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTIONMETADATA_POISONINGEXTERNAL_DOWNLOADS
Full Analysis
- [INDIRECT_PROMPT_INJECTION]: The skill is designed to ingest and process untrusted content from the web via the Exa search engine, creating an attack surface for indirect prompt injection.
- Ingestion points: The
scripts/exa_search.pyandscripts/exa_extract.pyscripts fetch full-text content and highlights from arbitrary external URLs. - Boundary markers: While the reference files provide structured response formats (e.g., in
references/web-search.md), there are no explicit delimiters or "ignore embedded instructions" warnings surrounding the external data being processed. - Capability inventory: The skill environment allows shell command execution (
uv run) and file system writes (-o output.json). - Sanitization: There is no evidence of sanitization or filtering of the extracted web content before it is returned to the agent context.
- [COMMAND_EXECUTION]: The instruction templates in
references/web-search.mdandreferences/web-extract.mddirect the agent to interpolate user-provided input ($ARGUMENTS) and generated filenames ($FILENAME) directly into shell commands. This pattern poses a risk of command injection if the agent does not properly escape these variables before execution (e.g., if a query contains shell metacharacters like backticks or subshells). - [METADATA_POISONING]: There is a discrepancy in author identification; the
SKILL.mdmetadata lists the author as "Exa", whereas external context identifies the author as "eturkes". This could potentially mislead users regarding the official status or support of the skill. - [EXTERNAL_DOWNLOADS]: The skill documentation suggests the installation of the
python-dotenv[cli]package viapiporuv. While this is a common utility for environment variable management, it represents an external dependency outside of the coreexa-pySDK.
Audit Metadata