grok-search — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited grok-search (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Enhanced web search via Grok API. Standalone CLI only (no MCP dependency).
scripts/groksearch_cli.py - CLI entrypoint and compatibility facadescripts/groksearch/ - internal modules for config, HTTP retry, Grok provider, Tavily calls, formatting, and commandsRun scripts/groksearch_cli.py via Bash:
# Prerequisites: pip install httpx tenacity
# Environment: GROK_API_URL, GROK_API_KEY (required); TAVILY_API_KEY (optional)
# Web search (Grok only)
python scripts/groksearch_cli.py web_search --query "search terms" [--platform "GitHub"] [--min-results 3] [--max-results 10]
# Web search with Tavily extra sources (parallel + URL-deduplicated merge)
python scripts/groksearch_cli.py web_search --query "..." --extra-sources 5
# Fetch webpage (default: Grok)
python scripts/groksearch_cli.py web_fetch --url "https://..." [--out file.md]
# Fetch via Tavily extract endpoint
python scripts/groksearch_cli.py web_fetch --url "https://..." --via tavily
# Map a website's structure (Tavily)
python scripts/groksearch_cli.py web_map --url "https://docs.example.com" [--instructions "API only"] [--max-depth 2] [--max-breadth 20] [--limit 50] [--timeout 150]
# Check config
python scripts/groksearch_cli.py get_config_info [--no-test]
# Switch model
python scripts/groksearch_cli.py switch_model --model "grok-2-latest"
# Toggle built-in tools
python scripts/groksearch_cli.py toggle_builtin_tools --action on|off|status [--root /path/to/project]| Scenario | Disabled | Force Use |
|---|---|---|
| Web Search | WebSearch | CLI web_search |
| Web Fetch | WebFetch | CLI web_fetch |
| Tool | Parameters | Output | |
|---|---|---|---|
web_search | query(required), platform/min_results/max_results(optional), extra_sources(int, 0=disabled) | [{title,url,description,provider?}] | |
web_fetch | url(required), out(optional), via(grok\ | tavily, default grok) | Structured Markdown |
web_map | url(required), instructions/max_depth/max_breadth/limit/timeout(optional) | {base_url,results,response_time} JSON | |
get_config_info | no_test(optional) | {api_url,status,connection_test,tavily_*} | |
switch_model | model(required) | {previous_model,current_model} | |
toggle_builtin_tools | action(on/off/status), root(optional) | {blocked,deny_list} |
web_search | Deep retrieval → web_fetchplatform for specific sources, adjust result countsweb_search for structured summariesweb_fetch on key URLs if summaries insufficientTitle [<sup>1</sup>](URL)| Error | Recovery |
|---|---|
| Connection Failure | Run get_config_info, verify API URL/Key |
| No Results | Broaden search terms |
| Fetch Timeout | Try alternative sources |
| Prohibited | Correct |
|---|---|
| No source citation | Include Source [<sup>1</sup>](URL) |
| Give up after one failure | Retry at least once |
| Use built-in WebSearch/WebFetch | Use GrokSearch tools/CLI |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.