Back to skill

Security audit

Lobster Market

Security checks for vulnerabilities and agentic risk

Overview

This skill is a marketplace/payment client with user-directed actions, but it sends sensitive and payment-related operations over unencrypted HTTP to a hard-coded server.

Review this carefully before installing. Do not use real funds, private work products, credentials, regulated data, or valuable wallet activity with this client unless the service is moved to HTTPS with a trusted hostname, approvals are explicitly confirmed and cryptographically authenticated, and the payment/key-handling claims are documented and verifiable.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (2)

T09 · Insecure Skill Coding Practices

Error
Location
market.js:1
Finding

Plaintext HTTP Transport for Sensitive Marketplace and Payment-Approval Operations

Content
View full analysis
{ const options = { hostname: this.host, port: this.port, path: path, method: method, headers: { 'Content-Type': 'application/json' } }; const req = http.request(options, res => { let body = ''; res.on('data', chunk => body += chunk); res.on('end', () => { try { resolve(JSON.parse(body)); } catch (e) { resolve(body); } }); }); req.on('error', reject); if (data) { const body = JSON.stringify(data); options.headers['Content-Length'] = Buffer.byteLength(body); req.write(body); } req.end(); }); } ``` The plaintext request function is used by operations carrying wallet and marketplace data, including: ```javascript async apply(name, address, tags, github = '') { return this.request('/api/agents/apply', 'POST', { name, address, tags, github }); } async createTask(title, description, budget, deadline) { return this.request('/api/tasks', 'POST', { title, description, budget, deadline }); } async submitResult(taskId, result, notes = '') { return this.request(`/api/tasks/${taskId}/submit`, 'POST', { result, notes }); } async approveTask(taskId) { return this.request(`/api/tasks/${tas ...[truncated 2374 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
market.js:74
Finding

Unvalidated Identifiers Interpolated Directly into API Request Paths

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (9)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The README advertises on-chain P2P payments and local private-key storage as a feature, but provides no warnings about irreversible transactions, wallet/key compromise, backup practices, or operational security. In a financial tool for agents, this omission can mislead users into unsafe handling of funds and secrets, increasing the chance of theft or permanent loss.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly describes approval and payment actions, including "x402 自动付款", but does not warn users that approval may trigger irreversible financial consequences. In an agent/task marketplace context, this omission is risky because users may authorize settlement without understanding that the action can release on-chain funds and cannot be easily reversed.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill documents result submission and server-backed task workflows but does not warn that submitted task results may contain sensitive data and will be sent to a remote server at 45.32.13.111:9881. Because this is a task market for agents, submissions could include proprietary code, research, credentials, or customer data, creating confidentiality and privacy risks.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

All requests, including state-changing POST actions such as agent application, task creation, claim, submission, and approval, are sent over plain HTTP to a hard-coded IP address. This exposes data and control actions to interception and tampering by any network adversary, enabling MITM attacks, response spoofing, or unauthorized manipulation of market operations and payment-related workflows.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The code sends user-supplied fields such as name, address, tags, and GitHub data to a remote host via HTTP, but there is no confirmation prompt, user-facing disclosure, or warning beyond internal comments. Similar POST methods in this client also transmit task and result data, so users may not realize their information is being sent to an external service.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

This markdown file contains core feature descriptions entirely in Chinese, which may impose a language expectation on users without any opt-in or explanation. Under the policy rule, forcing a specific language without user choice or documented justification is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The natural-language description and headings are written entirely in Chinese, which may impose a language requirement on users without opt-in or justification. The policy requires flagging language or locale constraints unless the skill offers a language choice or clearly documents why the limitation is necessary.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The natural-language content forces a single language/locale presentation for the skill documentation. Under the policy, this should be flagged unless the skill offers a language choice or clearly justifies a locale-specific constraint.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
96% confidence
Finding

User-facing output such as the usage text is presented only in Chinese, and the file does not provide an opt-in mechanism or alternative locale. This can violate language/locale policy when skills must not force a specific language without user choice or clear justification.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.