DuckDuckGo Web Search

AdvisoryAudited by Static analysis on Apr 30, 2026.

Overview

No suspicious patterns detected.

Findings (0)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Installing the dependency directly into the system Python environment could affect other Python tools or pick up future package changes.

Why it was flagged

The skill depends on an external, unpinned Python package and suggests a pip option that can modify a system-managed Python environment. This is disclosed setup for the stated purpose, so it is a note rather than a concern.

Skill content
- `ddgs` Python package (install: `pip install --break-system-packages ddgs`)
Recommendation

Install the dependency in a virtual environment or other isolated Python environment, and consider pinning a known-good ddgs version.

What this means

Search terms may be visible to the external search service or network path, so private information in queries may leave the local environment.

Why it was flagged

The provided query is sent through the DDGS search provider. That external data flow is expected for web search and no credential handling or unrelated transmission is shown.

Skill content
results = list(DDGS().text(query, max_results=count))
Recommendation

Avoid searching for secrets, credentials, or highly sensitive personal data, and treat returned snippets and fetched pages as untrusted web content.

What this means

A very large requested count could cause more search activity than expected or hit provider rate limits.

Why it was flagged

The result count is passed directly to the search library. SKILL.md documents a max of 20, but the code does not enforce that bound.

Skill content
count = int(sys.argv[2]) if len(sys.argv) > 2 else 5
...
results = list(DDGS().text(query, max_results=count))
Recommendation

Keep result counts modest, and update the script to clamp count to the documented maximum.