CAUTION version 1.0.0 · audited 2026-09-17
This package is a client and guide for the Tavily web search API. The included Python script reads a Tavily API key from a command-line argument or the TAVILY_API_KEY environment variable, calls the Tavily API with a query and search options, and prints JSON or human-readable results. Documentation explains how to install the tavily-python package and set up the API key. No hidden network destinations, persistence, obfuscated code, or file-writing behavior by the script were found. The main review points are that queries and the API key are sent to Tavily, searches may consume Tavily credits, and the documentation shows the key being echoed and curl being used on returned URLs.
| Declared purpose | AI-optimized web search using the Tavily Search API for research, current events, domain-specific search, image search, and AI-generated answer summaries. |
| Observed behavior | The Python script imports the official Tavily SDK, obtains an API key from --api-key or TAVILY_API_KEY, builds search parameters, and sends the query to Tavily. It then prints the answer, results, images, response time, and usage to stdout or as JSON. The package documentation contains shell examples for installing dependencies, making the script executable, setting the API key, and optionally curling result URLs. |
| Verdict, rules only | CAUTION · reads credential-like environment variables: TAVILY_API_KEY |
| Verdict, AI | SAFE |
| Final verdict | CAUTION (never better than either pass) |
| capability | vs purpose | detail |
|---|---|---|
| network | needed | The script sends search queries and options to the Tavily API through the official SDK at scripts/tavily_search.py line 77. SKILL.md also shows curl fetching URLs from search results at line 337. |
| shell | needed | Documentation uses shell examples for running the script, chmod +x, pip install, and curl. The Python script itself does not invoke a shell. |
| credentials | needed | The script reads TAVILY_API_KEY from the environment or accepts --api-key, then passes that key to TavilyClient at scripts/tavily_search.py line 59. |
| install_packages | needed | SKILL.md instructs pip install tavily-python at line 375, and the script returns this install command if the import fails. |
| severity | finding |
|---|---|
| info | Imports official Tavily SDK The script depends on the official tavily-python package and imports its client class. scripts/tavily_search.py:45 from tavily import TavilyClient |
| info | API key passed to Tavily client The provided Tavily API key is handed to the SDK so the declared search API can be called. scripts/tavily_search.py:59 client = TavilyClient(api_key=api_key) |
| info | Calls Tavily search API The script sends the query and chosen search parameters to Tavily over the network. scripts/tavily_search.py:77 response = client.search(**search_params) |
| info | Reads API key from argument or environment The script reads the sensitive TAVILY_API_KEY if no --api-key argument is supplied. scripts/tavily_search.py:192 api_key = args.api_key or os.getenv("TAVILY_API_KEY") |
| info | Environment variable setup documented Users are told to export the Tavily API key as TAVILY_API_KEY. SKILL.md:157 export TAVILY_API_KEY="tvly-YOUR_API_KEY_HERE" |
| info | Dependency installation documented The skill requires installing the tavily-python package, which is a declared dependency. SKILL.md:375 pip install tavily-python |
| info | Script made executable Documentation shows making the search script executable before running it. SKILL.md:369 chmod +x scripts/tavily_search.py |
| low | Documentation fetches returned URLs with curl An integration example pipes search result URLs into curl. This can fetch web pages returned by Tavily and should be reviewed if the agent automatically follows that pattern. SKILL.md:337 xargs -I {} curl -s {} |
| low | API key echoed to terminal Troubleshooting documentation tells the user to print TAVILY_API_KEY. If terminal or agent output is logged, this could expose the key. SKILL.md:382 echo $TAVILY_API_KEY |
| info | Declared external disclosure The skill card discloses that search queries and options are transmitted to Tavily. skill-card.md:24 Risk: Search queries and selected search options are sent to Tavily. |
| info | Declared credential exposure risk The skill card warns that passing the key on the command line or storing it insecurely can expose it. skill-card.md:28 Risk: A Tavily API key can be exposed if passed directly on the command line or stored insecurely. |
0 AI finding(s) were dropped because their file, line or quote did not match the package.
| domain | service rating | where |
|---|---|---|
| clawhub.ai | not in the service index | skill-card.md:9 |
| docs.tavily.com | not in the service index | SKILL.md:414 |
| example.com | not in the service index | references/api-reference.md:51 |
| github.com | not in the service index | SKILL.md:413 |
| tavily.com | not in the service index | SKILL.md:164 |
| Binaries invoked | bash, chmod, curl, pip, python, python3 |
| Environment variables read | TAVILY_API_KEY |
| Hard-coded wallets | none |
| Pipes a download to a shell | 0 |
| eval / exec / subprocess | 0 |
| base64 blobs | 0 |
| File writes | 0 |
| Persistence | 0 |
| file | lines | sha256 |
|---|---|---|
SKILL.md | 414 | b9497a534e66f1b4… |
_meta.json | 6 | 0399d132849cd7b7… |
references/api-reference.md | 187 | df5ff0f3f2031be1… |
scripts/tavily_search.py | 247 | 5b19bba778485b72… |
skill-card.md | 61 | 6aaeef76c83c26d4… |
For agents
JSON: https://agenteconomy.report/k/tavily.audit.json · badge: https://agenteconomy.report/k/tavily.audited.svg ·
skill rating: /k/tavily · commission an audit of any skill: US$ 29 per version.
The complete published package of this exact version was downloaded from the registry and read statically; nothing was executed. A deterministic pass extracts network destinations, binaries, environment variables, writes, install commands, obfuscation markers, subprocesses and wallets, each with file and line. An AI then reads the whole package with those facts and writes the summary, the capabilities and the findings under a strict schema; every finding it produces must cite a file, a line and the exact text, or it is dropped. The final verdict is the worst of the two passes. The audit does not change the skill's trust tier (policy); the author may respond through the dispute channel and the response is published here. Commissioned by: the Agent Economy Report (free program: the 150 most downloaded skills, September 2026).