Back to skill

Security audit

销售冷启动消息生成器

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent sales-message generator, but it persists potentially sensitive prospect and outreach data without clear consent, retention, or deletion controls.

Review the memory behavior before installing. Use this skill only if you are comfortable with sales preferences and generated outreach records being saved in local memory, and avoid entering sensitive personal, financial, health, or confidential customer details unless the platform gives you a way to inspect and delete those files.

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:71
Finding

Unprotected Persistent Storage of Potentially Sensitive Sales and Prospect Data

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 71-72
Vulnerability Type: Plaintext sensitive-data retention in persistent agent memory
Risk Level: Medium

Relevant instructions translated into English:

markdown
- Read `memory/sales-preferences.md` to obtain the user's industry and product information.
- Save generated records to `memory/sales-outreach-history.md`.

Technical Analysis

The skill directs the agent to read user sales preferences from persistent memory and save generated outreach records to another Markdown file. Personalized outreach records may contain names, occupations, contact channels, financial profiles, health-related interests, customer segmentation, and other personal or commercially sensitive information.

The specification does not define user consent, data minimization, field-level redaction, file permissions, tenant isolation, retention periods, deletion procedures, or restrictions on subsequent access. Storing such information in a plaintext Markdown file can expose it to other agents, skills, processes, or workspace users that can read the same memory directory.

This is an insecure storage practice rather than memory poisoning: the documented write operation stores outreach history, but there is no evidence that it writes attacker-controlled rules intended to alter future agent behavior.

Attack Path

  1. A user provides sensitive customer or prospect attributes for personalized outreach.
  2. The skill incorporates those attributes into generated sales messages.
  3. Following the documented behavior, the generated records are saved to memory/sales-outreach-history.md.
  4. The records remain available across sessions without a documented expiration or deletion policy.
  5. Another skill, agent process, or workspace user with access to the shared memory directory reads the plaintext history.
  6. The exposed information can be used for unauthorized profiling, un ...[truncated 608 chars]
Remediation
View remediation

Remediation Suggestions

  1. Require explicit user consent before reading preferences or saving outreach history.
  2. Disable persistent history by default and provide an opt-in configuration setting.
  3. Store only the minimum information necessary; exclude or redact names, contact details, financial attributes, health information, and other sensitive fields.
  4. Prefer short-lived session storage when persistence is not essential.
  5. If persistence is required, use access-controlled storage rather than unrestricted plaintext Markdown files.
  6. Enforce restrictive file permissions and isolate memory by user, tenant, and skill.
  7. Encrypt sensitive records at rest and securely manage encryption keys outside the stored data.
  8. Define an automatic retention period and securely delete expired records.
  9. Provide users with controls to inspect, export, and delete saved preferences and outreach history.
  10. Prevent unrelated skills and processes from reading these files unless access is explicitly authorized.
  11. Document the exact data fields collected, their purpose, retention duration, and authorized consumers.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly states it reads from and writes to memory files containing user industry/product information and generated outreach history, but it does not present a clear user-facing warning about this data access and retention behavior. This creates a privacy and consent risk because users may provide sensitive prospecting, customer, or business information without understanding it will be persisted for future use.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.