Back to skill

Security audit

CAN内容寻址

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a CAN hashing and audit-log workflow, but it under-discloses third-party metadata sharing and asks for broad read/write/exec capability for a loosely scoped purpose.

Install only if you are comfortable with a skill that may hash local content, write audit-style logs, and send timestamps, hashes, and labels to xc.cx or a callback URL. Avoid putting secrets, customer names, filenames, project names, or sensitive operational labels in the what field, and prefer local-only CAN validation unless the endpoint operator and retention policy are acceptable to you.

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 (1)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:123
Finding

External Metadata Disclosure Through Third-Party CAN Endpoints

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 123-146
Vulnerability Type: External disclosure of content-derived metadata
Risk Level: Medium

Vulnerable Code

markdown
POST to `https://xc.cx/can/evaluate`:

```json
{"when": 1742428800000, "where": "a7f3b2c1d4e5", "what": "test-entry"}

Access https://xc.cx/can/log to view all records.

...

bash
curl -s -X POST https://xc.cx/can/evaluate \
  -H "Content-Type: application/json" \
  -d '{"when": 1742428800000, "where": "a7f3b2c1d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1", "what": "agent-output-2026-01-15"}'
text

### Technical Analysis

The Skill instructs users or agents to transmit a timestamp, a content hash, and a human-readable label to the third-party domain `xc.cx`. It also documents a log endpoint as allowing users to view all records. No authentication, authorization, endpoint ownership, retention policy, confidentiality guarantee, or explicit consent mechanism is described.

Although the underlying content is not submitted directly, the metadata can still be sensitive:

- The `what` field may disclose task names, filenames, project identifiers, or operational context.
- The `when` field exposes activity timing and can support behavioral correlation.
- The `where` field is a deterministic hash. An observer with predictable candidate content can hash those candidates and compare the results, confirming whether particular content was processed.
- Combining these fields may permit correlation of agent activity across submissions.

The issue is categorized as an insecure Skill practice because the documented workflow encourages disclosure to an external service without adequate access-control or privacy safeguards.

### Attack Path

1. A user or agent follows the documented CAN evaluation workflow.
2. The agent hashes potentially sensitive or predictable content and assigns it a descriptive label.

...[truncated 1353 chars]
Remediation
View remediation

Remediation Suggestions

  1. Make local-only evaluation and logging the default. The three-field validation does not require a remote endpoint.
  2. Require explicit, informed user consent before transmitting any record to xc.cx or another external service.
  3. Clearly identify the endpoint operator and document data retention, deletion, access, and privacy policies.
  4. Protect log access with authentication and record-level authorization; do not expose a global “all records” interface.
  5. Warn users not to place filenames, customer names, project identifiers, secrets, or other sensitive information in the what field.
  6. Apply data minimization by using generic or locally mapped labels.
  7. Where resistance to candidate-content confirmation is required, use a keyed construction such as HMAC-SHA-256 rather than an unkeyed deterministic hash. Keep the key local and out of logs.
  8. Add transport timeouts, certificate validation requirements, and explicit error handling to network examples.
  9. Document whether records are stored and provide a mechanism to delete submitted records.
  10. Reduce declared tool permissions where possible; offline evaluation does not inherently require broad command-execution capability.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (8)

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Content

Scanner excerpt · SKILL.md (reported line 144)May include surrounding context.

示例1:评估有效条目

bash
curl -s -X POST https://xc.cx/can/evaluate \
  -H "Content-Type: application/json" \
  -d '{"when": 1742428800000, "where": "a7f3b2c1d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1", "what": "agent-output-2026-01-15"}'

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill is described with very broad activation language for generic data-analysis and reporting tasks, which can cause over-invocation in contexts that do not actually need this skill. Over-broad triggering increases exposure to its network and execution features, creating unnecessary attack surface and chances of data being sent or commands being run inappropriately.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The description explicitly states '支持中文交互' as a behavioral characteristic, but does not indicate that language is selectable or optional. This can be interpreted as a locale/language constraint without user opt-in, which conflicts with the policy requirement to avoid forcing a specific language unless documented and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
81% confidence
Finding

The feature summary highlights '中文交互' as a core capability but does not mention that users may choose another language. Without an opt-in or choice mechanism, this natural-language instruction can be read as enforcing a specific language.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The documented callback_url parameter enables sending results to an external URL, but the skill does not present a clear, prominent warning that data may leave the local system. Users may unknowingly configure callbacks that exfiltrate sensitive outputs or enable SSRF-style requests to attacker-controlled or internal endpoints.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The examples instruct users to POST data to an external service at xc.cx without a clear warning that timestamps, hashes, and labels are transmitted to a third party. Even if the payload seems minimal, labels and hashes can reveal sensitive workflow details or enable correlation of internal activity.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
96% confidence
Finding

The skill includes an example that sends CAN records to an external domain via curl. This can disclose metadata about internal content and workflows, and because the service is external, users lose control over storage, retention, and downstream use of the submitted data.

Content

Scanner excerpt · SKILL.md (reported line 144)May include surrounding context.

示例1:评估有效条目

bash
curl -s -X POST https://xc.cx/can/evaluate \
  -H "Content-Type: application/json" \
  -d '{"when": 1742428800000, "where": "a7f3b2c1d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1", "what": "agent-output-2026-01-15"}'

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The document claims command execution is limited to a whitelist, but elsewhere the skill advertises broad exec capability and includes shell examples. This mismatch can mislead users or agent frameworks into trusting execution safety controls that are not actually specified or enforceable, increasing the chance of unsafe command use.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.