Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

cpbox-images-search

v1.0.0

USE FOR image search. Returns images with title, source URL, thumbnail. Supports SafeSearch filter. Up to 200 results.

2· 113·0 current·0 all-time
byspringmint@sprintmint
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The name and description (image search, thumbnails, safesearch, up to 200 results) match the SKILL.md, which documents a dedicated images-search API on https://www.cpbox.io and output schema appropriate for image search.
!
Instruction Scope
The instructions direct the agent to call an external API (cpbox.io) that uses a payment protocol (x402) and refer to installing/using payment tooling (npx @springmint/x402-payment or x402-sdk-go). The SKILL.md also references prerequisite setup steps in a README at a relative path (../../README.md) that isn't included in the package. While calling an external paid API is consistent with the purpose, the payment flow and SDK usage broaden the runtime behavior beyond simple read-only image search and require trusting third-party tooling and networks.
Install Mechanism
This is instruction-only (no install spec, no code files). However, SKILL.md recommends invoking an npm package via npx or a Go SDK; that will pull and execute third-party code at runtime if used. The manifest does not ship or pin those packages.
!
Credentials
The manifest lists no required environment variables or credentials, but the SKILL.md explicitly requires completing x402-payment setup and signing requests (PAYMENT-SIGNATURE). That implies secret keys or payment credentials will be provided somewhere — the skill manifest does not declare or justify those secrets, creating a transparency gap about what credentials an agent or user must supply.
Persistence & Privilege
The skill does not request always: true, does not declare installs that write system-wide config, and is user-invocable only. It does allow normal autonomous invocation (platform default).
What to consider before installing
This skill appears to be a straightforward image-search proxy that charges per request. Before installing: (1) confirm how you will provide payment credentials and where they are stored — the manifest does not declare them, so check the README/setup referenced in SKILL.md; (2) review the reputations and privacy policies of https://www.cpbox.io and https://www.cppay.finance and the payment SDK (e.g., @springmint/x402-payment) since running npx will fetch third-party code at runtime; (3) avoid entering high-privilege keys until you verify the exact secrets required and how they are used; (4) test with minimal queries and monitor network/billing activity; and (5) if you need stronger assurances, request the README and any setup scripts from the skill author or prefer a skill that declares its required credentials explicitly in the manifest.

Like a lobster shell, security has layers — review code before you run it.

latestvk979631wngts2zwx4qxntgj5jh838v9x
113downloads
2stars
1versions
Updated 3h ago
v1.0.0
MIT-0

Images Search

Paid Images Search proxy via x402 pay-per-use (HTTP 402).

Prerequisites: This skill requires x402-payment. Complete the setup steps before first use.

Service URLs

RoleDomain
API Providerhttps://www.cpbox.io
Facilitatorhttps://www.cppay.finance

Endpoint (Agent Interface)

GET /api/x402/images-search

Payment Flow (x402 Protocol)

  1. First request -> 402 Payment Required with requirements JSON
  2. Sign & retry with PAYMENT-SIGNATURE -> result JSON

With @springmint/x402-payment or x402-sdk-go, payment is automatic.

Quick Start (cURL)

Basic Search

curl -s "https://www.cpbox.io/api/x402/images-search?q=mountain+landscape" \
  -H "Accept: application/json"

With Parameters

curl -s "https://www.cpbox.io/api/x402/images-search" \
  -H "Accept: application/json" \
  -G \
  --data-urlencode "q=northern lights photography" \
  --data-urlencode "country=US" \
  --data-urlencode "search_lang=en" \
  --data-urlencode "count=20" \
  --data-urlencode "safesearch=strict"

Using with x402-payment

npx @springmint/x402-payment \
  --url "https://www.cpbox.io/api/x402/images-search?q=mountain+landscape&count=20" \
  --method GET

Parameters

ParameterTypeRequiredDefaultDescription
qstringYes-Search query (1-400 chars, max 50 words)
countrystringNoUSSearch country (2-letter country code or ALL)
search_langstringNoen2+ char language code
countintNo50Results to return (1-200)
safesearchstringNostrictoff or strict (no moderate for images)
spellcheckboolNotrueAuto-correct query; corrected query in query.altered

Response Format

{
  "type": "images",
  "query": {
    "original": "mountain landscape",
    "altered": null,
    "spellcheck_off": false,
    "show_strict_warning": false
  },
  "results": [
    {
      "type": "image_result",
      "title": "Beautiful Mountain Landscape",
      "url": "https://example.com/mountain-photo",
      "source": "example.com",
      "page_fetched": "2025-09-15T10:30:00Z",
      "thumbnail": {
        "src": "https://imgs.search.provider/...",
        "width": 200,
        "height": 150
      },
      "properties": {
        "url": "https://example.com/images/mountain.jpg",
        "placeholder": "https://imgs.search.provider/placeholder/...",
        "width": 1920,
        "height": 1080
      },
      "meta_url": {
        "scheme": "https",
        "netloc": "example.com",
        "hostname": "example.com",
        "favicon": "https://imgs.search.provider/favicon/...",
        "path": "/mountain-photo"
      },
      "confidence": "high"
    }
  ],
  "extra": {
    "might_be_offensive": false
  }
}

Response Fields

FieldTypeDescription
typestringAlways "images"
query.originalstringOriginal query
query.alteredstring?Spellchecked query (null if no correction)
query.spellcheck_offbool?Whether spellcheck was disabled
query.show_strict_warningbool?True if strict safesearch hid relevant results
results[]arrayList of image results
results[].typestringAlways "image_result"
results[].titlestring?Image title
results[].urlstring?Page URL where image was found
results[].sourcestring?Source domain
results[].page_fetchedstring?ISO datetime of last page crawl
results[].thumbnail.srcstring?Proxy-served thumbnail URL (~500px width)
results[].thumbnail.widthint?Thumbnail width
results[].thumbnail.heightint?Thumbnail height
results[].properties.urlstring?Original full-size image URL
results[].properties.placeholderstring?Low-res placeholder URL (proxy-served)
results[].properties.widthint?Original image width (may be null)
results[].properties.heightint?Original image height (may be null)
results[].meta_url.schemestring?URL protocol scheme
results[].meta_url.netlocstring?Network location
results[].meta_url.hostnamestring?Lowercased domain
results[].meta_url.faviconstring?Favicon URL
results[].meta_url.pathstring?URL path
results[].confidencestring?Relevance: low, medium, or high
extra.might_be_offensiveboolWhether results may contain offensive content

Use Cases

  • Visual content discovery: Build image galleries, mood boards, or visual research tools. Use count=200 for comprehensive coverage. Prefer over web-search when you need image-specific metadata (dimensions, thumbnails).
  • Content enrichment: Add relevant images to articles or generated content. Use country and search_lang to target your audience's locale.
  • Safe image retrieval: Default safesearch=strict ensures family-friendly results out of the box. Only two modes (off/strict) — no moderate option, unlike web/video/news search.
  • High-volume batch retrieval: Up to 200 images per request (vs 20 for web, 50 for videos/news). Ideal for bulk image sourcing or visual analysis pipelines.

Notes

  • SafeSearch: Defaults to strict for images (stricter than web search)
  • High volume: Can return up to 200 results per request
  • Thumbnails: Proxy-served for user privacy (500px width). Use properties.url for original full-resolution image.
  • Dimensions: properties.width/height may be missing for some images
  • Placeholder: properties.placeholder is a low-res URL (not inline base64) useful for progressive loading UX

Comments

Loading comments...