Caveat verdict

tavily-search

tavily-search-optimized-v1

88
🟢 Trusted
No high-risk patterns surfaced by the deep scan — automated capability review, not behavioral proof.

Accesses credentials AND makes external network calls

Tavily search wrapper with local caching (writes to ~/.openclaw/cache/tavily) and reads TAVILY_API_KEY from environment; file_write and credential_access capabilities are both legitimate for a cached API client, and no exfiltration or suspicious destinations are present.

Automated static analysis — not a human review. Caveat flags capabilities, not confirmed intent, and can produce false positives. Disagree with this verdict? Use Dispute below.

0
security
70
transparency
90
maintenance

What it does

These are capability combinations: each listed behavior occurs in the skill, but Caveat detects co-occurrence — it does not verify that one flows into another. Read the code to confirm a live chain.

Capability combination high

Accesses credentials AND makes external network calls — potential credential theft

LLM02 · ASI03

Capability combination high

Accesses credentials AND writes files — may persist stolen credentials locally

LLM02 · LLM06 · ASI03

Permission integrity

Makes network requests but does not declare curl/wget in required binaries

network_out

Performs file operations but does not declare file-accessing binaries

file_read+write

Code accesses API keys/tokens but declares no environment variables

credential_access

Findings (6)

Pattern match critical

Possible hardcoded credential

SKILL.md · code · API_KEY="your_api_key_here

Pattern match high

Accesses OpenClaw config/secrets directly

SKILL.md · code · ~/.openclaw/.env

Pattern match high

subprocess execution — runs system commands from Python

examples/README.md · code · subprocess.run(

Pattern match medium

Python os.environ.get — reads environment variable

SKILL.md · code · os.environ.get(

Pattern match low

Python urllib.request — network access

scripts/tavily_search_legacy.py · prose · downgraded · urllib.request

Pattern match low

Python shutil file operation — copies/moves/deletes files

scripts/tavily_search.py · prose · downgraded · shutil.rmtree(

Why the tier is capped

Execution sink present in raw bytes (Hard Floor: class D). Final tier capped at Caution — cannot be lifted by any downgrade, example-payload opt-in, or allowlist.

Permissions & capabilities

No declared permissions — minimal attack surface.

file_writenetwork_outcredential_access
Check another skill Browse the registry Auditing your own skills or configs? Use the API