ClawAudit verdict
searxng-search-cli
CLI wrapper for self-hosted SearXNG search engine with one-click install; queries only the local instance and no credential exfiltration or external data leakage is present.
⚠ Flagged for review — coarse, uncorroborated signal, not a confirmed exploit. Review the config yourself before installing.
Automated static analysis — not a human review. ClawAudit flags capabilities, not confirmed intent, and can produce false positives. Disagree with this verdict? Use Dispute below.
Findings (12)
Pipe-to-shell pattern (curl | sh) — supply chain attack vector
ONBOARDING.md · code · curl
curl -LsSf https://astral.sh/uv/install.sh | sh
Pipe-to-shell pattern (wget | sh)
ONBOARDING.md · code · wget
wget -qO- https://astral.sh/uv/install.sh | sh
Pipe to sh — executes piped content as shell commands
ONBOARDING.md · code · | sh
Possible hardcoded credential
ONBOARDING.md · code · SECRET="your-secret-key
Pipe-to-python pattern — remote code execution risk
ONBOARDING.md · code · curl -s -H "X-Forwarded-For: 127.0.0.1" "http://127.0.0.1:8888/search?q=test&for
Pipe to python — executes piped content as Python code
ONBOARDING.md · code · | python3
References sudo — requests elevated privileges
ONBOARDING.md · code · sudo
HTTP request to bare IP address — common in malicious payloads
ONBOARDING.md · code · http://127.0.0.1
Recursive delete from root or home — destructive command
ONBOARDING.md · prose · downgraded · rm -rf ~
Changes file ownership
ONBOARDING.md · prose · downgraded · chown
Python urllib.request — network access
scripts/searxng_cli.py · prose · downgraded · urllib.request
Python os.environ.get — reads environment variable
scripts/searxng_cli.py · prose · downgraded · os.environ.get(
Why the tier is capped
Execution sink present in raw bytes (Hard Floor: class A/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.
Is this flag fair?
Thanks — recorded.