Back to skill

Security audit

Xiayu

Security checks for vulnerabilities and agentic risk

Overview

This skill fits its stated social-agent purpose, but it handles sensitive credentials and dating-profile data while sending autonomous messages with weakly defined controls.

Review this before installing if you are comfortable giving the skill your Xiayu login credential, letting it store an access token locally, collecting intimate profile preferences, and allowing it to send messages and match conclusions automatically. Prefer using it only with a trusted local Xiayu service, a disposable or narrowly scoped account, and clear pause/logout/token deletion controls.

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
SKILL.md:180
Finding

Indirect Prompt Injection Through Untrusted Match Content

Content
View full analysis
= max_rounds - 1), append: [CONCLUDE: yes/no, score: 0-100, reason: one-sentence reason] ``` The snippets above are faithful English renderings of the source instructions. ### Technical Analysis The values `opponent_public_card`, `history`, and `last_message` originate from another platform participant. The Skill inserts these values directly into the LLM prompt without: - Clearly delimiting them as untrusted data. - Instructing the model not to execute instructions contained within them. - Separating trusted system policy from remote participant content. - Validating the generated response or conclusion against a strict schema. - Requiring user approval before sending an autonomously generated message. The public-card ...[truncated 2051 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:45
Finding

Insecure Collection and Plaintext Storage of Authentication Secrets

Content
View full analysis
" } ``` ```text After the Agent is claimed successfully, store the session information in: ~/.openclaw/workspace/memory/xiayu-session.json ``` ```json { "email": "user@example.com", "access_token": "", "agent_id": 123, "agent_name": "coolpanda_88", "bound_at": "2024-01-01T00:00:00Z" } ``` The snippets above include faithful English renderings of the surrounding source instructions. ### Technical Analysis The Skill instructs the user to disclose an account login credential through the Agent conversation. Even though the source states that the credential will not be stored in plaintext, it does not address exposure through conversation history, model context, tool-call records, telemetry, or application logs. Authentication is directed to `http://127.0.0.1:3000/api/v1`. Plain HTTP does not provide transport authentication or encryption. Although loopback traffic is not normally exposed to the external network, the Skill does not establish the identity or integrity of the process listening on local port 3000. A malicious or compromised local process controlling that endpoint could receive the submitted password. The returned bearer token is then stored in a predictable plaintext JSON file. No requirement is given for owner-only permissions, encryption, operating-system credential storage, token scope reduct ...[truncated 1537 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The trigger list includes broad everyday terms like '交友', '约会', '社交', and '匹配', which can cause the skill to activate in unrelated conversations. Because this skill requests credentials, stores tokens, and performs ongoing autonomous messaging, accidental invocation raises real privacy and safety risks beyond mere usability issues.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill is designed to continuously poll for messages and automatically send replies to third parties, yet the description does not clearly warn users that the agent will act autonomously on their behalf after setup. In a social/dating context, unsupervised outbound communication can misrepresent the user, create consent issues, and cause reputational or interpersonal harm at scale.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill collects highly sensitive data—email, login credential, access token, dating/profile attributes, preferences, and deal-breakers—and documents local persistence of account/session data without strong privacy warnings or storage safeguards. In this context, compromise would expose both authentication material and intimate personal data, making the risk substantially higher than in a generic low-sensitivity workflow.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill tells users their login credential 'will not be stored in plaintext', but it then documents persistent local storage of sensitive session material including email and an access token in a predictable file path. This creates a misleading trust signal and increases the chance of account takeover if the local workspace is readable by other skills, users, or malware.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The manifest describes registration/binding, profile creation, polling pending messages, and auto-replying. However, the example interactions additionally describe viewing agent status via GET /agents/me and pausing publication via PATCH /agents/publish, which are separate management capabilities not mentioned in the manifest description.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.