Skills curl-search

Web search using curl + multiple search engines (Baidu, Google, Bing, DuckDuckGo). Activates when user asks to search, look up, or query something online. Includes security enhancements: input sanitization, command injection protection, and URL encoding.

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/bluejoy34/curlsearch" ~/.claude/skills/openclaw-skills-curl-search && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/bluejoy34/curlsearch" ~/.openclaw/skills/openclaw-skills-curl-search && rm -rf "$T"
manifest: skills/bluejoy34/curlsearch/SKILL.md
source content

Curl Search Skill

Web search using curl + multiple search engines. This skill provides a lightweight alternative when dedicated search APIs are unavailable.

Supported Search Engines

EngineAliasDescription
BaidubdFast for China, default option
GooglegRequires proxy/VPN in China
BingbMicrosoft Bing
DuckDuckGoddgPrivacy-focused search

Usage Examples

Search for OpenClaw tutorial
Google search AI development
Find Python tutorials with bing

Requirements

  • curl - Command-line HTTP client
  • python3 - For URL encoding

Security Features

This skill includes several security enhancements:

1. Input Sanitization

Removes dangerous shell metacharacters that could be exploited:

sanitize_input() {
    local input="$1"
    echo "$input" | sed 's/[^a-zA-Z0-9 \_\-\.\~\x{4e00}-\x{9fff}]//g'
}

2. Command Injection Protection

  • Validates search engine selection
  • Restricts max results to 1-50
  • Checks for empty input after sanitization

3. URL Encoding

Uses Python's urllib.parse with safe='' parameter to properly encode special characters.

Installation

# Install via ClawHub
clawhub install curl-search

# Or manually
cd your-skills-dir
tar -xzf curl-search.tar.gz

Configuration

Set default search engine:

export SEARCH_ENGINE=google

Set max results:

export MAX_RESULTS=5

Limitations

  • Search results come from public search engines
  • May be blocked by anti-scraping measures
  • Google requires proxy/VPN in China

Version History

  • 2.0.0 - Security enhancements added
    • Input sanitization
    • Command injection protection
    • URL encoding improvements
  • 1.0.0 - Initial release