Back to skill

Security audit

私信通AB留资分析

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent analytics playbook, but it handles and transmits sensitive private-message data without enough privacy, retention, or scoping controls.

Review before installing or using on production data. Require dataset-owner approval, redact phone numbers, WeChat IDs, stable session/account identifiers, and other PII before any LLM call, use approved secret management for the MaaS key, restrict outputs to a controlled directory, and define retention/deletion rules for jsonl artifacts and dashboard updates.

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

Error
Location
references/or-pipeline.md:36
Finding

Potential Disclosure of Customer Data to an External LLM Endpoint

Content
View full analysis

Vulnerability Details

File Location: references/or-pipeline.md, lines 36-38, 45, and 81-93
Vulnerability Type: External transmission of potentially unredacted personal and business data
Risk Level: High

Vulnerable Documentation Snippets

markdown
- Endpoint: `https://maas.devops.xiaohongshu.com/customerserviceinference-glm-5/v1/chat/completions`
- Model: `GLM-5.2-FP8`, header `api-key: <your MaaS api-key>`
markdown
The sample carries: session key, group, industry, broad-definition lead label,
and compressed conversation text.
markdown
Determine whether the AI customer service behavior in the following merchant
private-message conversation matches each rubric.

[Rubrics]
{all entries: id + rubric + criteria}

[Conversation]
{compressed conversation text}

Supporting evidence in references/data-schema.md, lines 22 and 35-41, establishes that source records and conversations can contain stable visitor identifiers, full message histories, telephone numbers, WeChat identifiers, lead-component events, and system-side lead-generation flags.

Technical Analysis

The documented pipeline directs operators to send sampled customer conversations to a configured HTTPS LLM endpoint. Each sample includes a session key, experiment group, industry, lead outcome, and compressed conversation text.

The described compression procedure truncates messages and conversations, but truncation is not anonymization. No mandatory processing stage removes telephone numbers, WeChat IDs, names, addresses, stable session identifiers, account identifiers, URLs, secrets, or other sensitive free-form content before transmission. The pipeline also does not require an approved data-processing agreement, retention controls, endpoint logging controls, or explicit authorization for transferring production conversations.

Because the analysis specifically identifies telephone and WeChat details as lead signals, such identifiers are reasonably likely to ...[truncated 2137 chars]

Remediation
View remediation

Remediation Suggestions

  1. Add mandatory redaction before sampling or transmission

    • Remove telephone numbers, WeChat IDs, email addresses, names, physical addresses, account IDs, URLs containing identifiers, and credentials.
    • Apply redaction to every role and structured event field, not only visitor messages.
    • Replace sensitive values with typed placeholders such as [PHONE] and [WECHAT_ID].
  2. Eliminate linkable identifiers

    • Do not include production session keys in prompts.
    • Generate random, per-run identifiers that cannot be mapped back without a separately protected lookup table.
    • Exclude experiment metadata and industry information unless each field is necessary for the classification task.
  3. Implement an enforceable preflight privacy gate

    • Scan every outbound prompt for phone-number patterns, WeChat identifiers, secrets, and internal IDs.
    • Block submission when residual sensitive values are detected.
    • Record only redaction counts and non-sensitive operational metadata in audit logs.
  4. Minimize submitted content

    • Send only the turns required to assess each rubric.
    • Remove lead-event text and post-outcome messages when they are unnecessary.
    • Prefer classification on conversations truncated before the first lead event, which also reduces outcome leakage.
  5. Constrain the receiving service

    • Use only an organization-approved inference environment with documented access controls.
    • Disable request and response retention where supported.
    • Define retention, deletion, geographic-processing, and subprocessor requirements contractually.
    • Restrict the API credential to the required endpoint and operation, store it in an approved secret manager, and rotate it regularly.
  6. Prefer local processing for sensitive data

    • Run the classifier in an approved local or isolated environment when production conversations cannot be reliably anonymized.
    • Use synthetic or explicitl ...[truncated 422 chars]
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding

The skill references write-capable behavior and operational outputs such as intermediate artifacts, scripts, and report updates, but it does not declare any explicit tool scope or allowed-tools boundary. In an agent environment, missing permission scoping can let the runtime infer or grant broader file-write access than intended, increasing the risk of unauthorized file modification, report overwrites, or writes outside the expected workspace.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill’s natural-language description and instructions are entirely in Chinese, and there is no indication that users may choose another language or that the locale restriction is an intentional, documented requirement. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The entire document is written in Chinese and provides no indication that language selection is optional or constrained by a documented region-specific requirement. Under the policy rules, forcing a specific language without user opt-in is a natural-language locale violation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The file includes a live inference endpoint and directs operators to send conversation data using an API key, but does not warn that merchant private-message transcripts and lead-related content will be transmitted to an external network service. In this skill, the prompts include full session text and industry labels, so undisclosed network transfer can violate data-handling expectations, expand the trust boundary, and risk unauthorized disclosure if the endpoint, credentials, or routing are misused.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The document instructs storing per-session conversation data and judgment outputs keyed by session identifiers, but provides no minimization, redaction, retention, or access-control guidance. In this skill’s context, the source data explicitly contains merchant private-message conversations and lead signals, so persisting raw or linkable records can expose sensitive personal or business information and create a secondary data-leak surface.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

This JSON file contains natural-language rubric names and criteria exclusively in Chinese across the skill content. Under the policy, forcing a specific language without user opt-in is a natural-language policy concern unless the locale constraint is explicitly documented and justified, which is not present here.

Content

No source excerpt is available for this finding.