---
name: memtensor-curl-search
description: "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."
license: "MIT"
metadata:
  decimalai-skill-id: "e6ff3b1e-812b-4af0-8475-6d5cf0da739c"
  decimalai-version-id: "7ff095b9-2bf7-4755-a674-f3120389f069"
  decimalai-version: "1"
  decimalai-body-sha256: "08adc343dd15de2e9a8df8da4e56cf7d89b04c21422768de06513eae8c552a74"
  decimalai-name: "memtensor/curl-search"
  decimalai-format: "1"
  decimalai-invocation: "model"
  decimalai-category: "research"
  decimalai-source: "https://app.decimal.ai/s/memtensor-curl-search@1/SKILL.md"
---
# 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

| Engine | Alias | Description |
|--------|-------|-------------|
| Baidu | bd | Fast for China, default option |
| Google | g | Requires proxy/VPN in China |
| Bing | b | Microsoft Bing |
| DuckDuckGo | ddg | Privacy-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:
```bash
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

```bash
# Install via ClawHub
clawhub install curl-search

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

## Configuration

Set default search engine:
```bash
export SEARCH_ENGINE=google
```

Set max results:
```bash
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
