Is emilankerwiik/openkrill safe?

https://github.com/openclaw/skills/tree/main/skills/emilankerwiik/openkrill

70
CAUTION

OpenKrill is a legitimate x402 micropayment integration skill that transparently grants AI agents autonomous authority to spend user cryptocurrency funds across a catalog of 12,000+ services, navigate browsers to payment pages, and create disposable email accounts — all without per-action user confirmation. No malicious code was found in the scripts, no data exfiltration was confirmed (canary files intact, no unexpected outbound connections), and clone behavior was clean. The primary risks are architectural: the skill's autonomous financial capabilities, combined with extremely broad activation triggers and a general-purpose fund-spending primitive (fetch-with-payment.ts), make it a high-value target for prompt injection attacks from external content. A secondary concern is an undocumented thirdweb MCP endpoint in list-services.ts that receives the project secret key.

Category Scores

Prompt Injection 65/100 · 30%
Data Exfiltration 70/100 · 25%
Code Execution 70/100 · 20%
Clone Behavior 85/100 · 10%
Canary Integrity 90/100 · 10%
Behavioral Reasoning 40/100 · 5%

Findings (10)

HIGH Autonomous Financial Capability Without Per-Transaction User Consent -35

The skill's stated purpose is enabling agents to make micropayments autonomously without requiring user approval per transaction. If an attacker can inject instructions into the agent's context — via a scraped webpage, document, or email — they can direct fetch-with-payment.ts to send funds to an attacker-controlled x402 endpoint. The 12,000+ service catalog available via Bazaar dramatically expands the payment target surface.

HIGH Autonomous Browser Navigation to External Payment URLs -20

SKILL.md explicitly instructs the agent to navigate the user's browser to payment URLs using browser automation tools (MCP, browser tool, etc.) without explicit per-navigation user confirmation. This could be weaponized to direct users to phishing pages styled as thirdweb payment flows, or to navigate the browser to pages that trigger further injections.

HIGH THIRDWEB_SECRET_KEY Sent to Undocumented MCP Endpoint -20

list-services.ts sends the THIRDWEB_SECRET_KEY to api.thirdweb.com/mcp?tools=listPayableServices — an endpoint not present in thirdweb's public API documentation. This pattern is consistent with a key-collection mechanism. The endpoint is only called when the --fetch flag is passed, but agents following SKILL.md's guidance to 'fetch live services' may invoke it.

HIGH Extremely Broad Activation Triggers Expand Prompt-Injection Attack Surface -15

The skill activates on vague, common phrases like 'micropayments', 'crypto payments', or 'paying for API access'. These phrases can appear naturally in scraped web content, documents, or emails, meaning prompt-injected payloads in external content can reliably activate the skill and its financial capabilities without any user intent.

MEDIUM Credential File Access Sweep During Monitoring Window -20

Six credential files (.env, .ssh/id_rsa, .aws/credentials, .npmrc, .docker/config.json, .gcloud application_default_credentials.json) were opened and accessed in sequential sweeps at audit timestamps 1771927163.886 and 1771927187.165. The second sweep occurs after skill installation. While the most probable explanation is the oathe framework's own canary setup and integrity verification, the pattern is structurally identical to automated credential harvesting. Canary integrity confirmed intact.

MEDIUM fetch-with-payment.ts Is a General-Purpose Fund-Spending Primitive -20

The fetch-with-payment.ts script accepts any caller-supplied URL and routes an x402 payment through it. There are no URL allowlists or domain restrictions. Any code path that can pass an arbitrary string as --url can direct user funds to an arbitrary recipient. This is a high-value target for prompt injection attacks operating within an agent context.

MEDIUM Autonomous Disposable Email Account Creation for Third-Party Signups -25

The skill enables agents to create throwaway email accounts via mail.tm and autonomously use them to register for third-party services. This could be used to create accounts at services the user did not authorize, accept terms of service on the user's behalf, or receive verification codes to complete unauthorized registrations.

MEDIUM Email Credentials Written to Persistent Disk Storage -10

SKILL.md and SERVICES.md instruct agents to save generated email account credentials (address, password, auth token, account ID) to a local .agent-emails.json file. These credentials persist beyond the session and could be accessed by other processes or exposed if the working directory is committed or shared.

LOW Aggressive Bazaar Discovery Conditioning -5

SKILL.md conditions agents to 'always start by querying the Bazaar discovery endpoint' when any service-purchasing question is asked. This creates a habitual external network call pattern that could be exploited, and gives the agent awareness of 12,000+ paid services it can access.

INFO Clone and Install Behavior Clean 0

Installation only produced expected GitHub traffic. Pre-existing Ubuntu update server connections were not skill-initiated. No unexpected processes spawned, no filesystem changes outside the skill directory, and no new persistent connections appeared in the post-install connection diff.