Back to skill

Security audit

主动式代理(免费版)

Security checks for vulnerabilities and agentic risk

Overview

The skill is purpose-aligned but needs review because it tells an agent to automatically store user context across sessions without clear consent, limits, or deletion controls.

Install only if you want an agent to keep project context over time. Before using it, require explicit approval for long-term memory writes, avoid storing secrets or regulated personal data, and periodically inspect or delete saved memories.

Vulnerability Patterns
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T02 · Agent Memory Poisoning

Error
Location
SKILL.md:52
Finding

Unrestricted Persistence of Attacker-Controlled Instructions

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 52-64
Vulnerability Type: Persistent agent memory poisoning
Risk Level: High

Vulnerable Code Snippet

markdown
### 2. WAL协议(写前日志)
扫描每条消息,在响应前写入状态:
- 用户陈述偏好 → 写入记忆 → 再响应
- 用户做决策 → 写入记忆 → 再响应
- 用户给截止日期 → 写入记忆 → 再响应
- 用户纠正你 → 写入记忆 → 再响应
- 原因:若先响应再崩溃/压缩,上下文丢失;WAL保证持久性

### 3. 工作缓冲区协议
维护工作缓冲区暂存中间状态:
- 格式:当前任务、关键上下文、待办动作、近期决策
- 在响应前更新缓冲区,确保中断可恢复
- 缓冲区作为代理的"短期记忆",区别于长期记忆

Technical Analysis

The Skill directs the agent to scan every message and automatically write user-provided preferences, decisions, deadlines, and corrections into memory before responding. It does not require explicit user consent, validate whether the content is safe to retain, distinguish data from executable behavioral instructions, or define trust boundaries for persistent entries.

An attacker can therefore present a malicious behavioral rule as a preference, decision, or correction. The WAL protocol causes that attacker-controlled rule to enter the working buffer or long-term memory. The Skill's documented compression-recovery behavior can later reload the poisoned content and treat it as authoritative context.

No executable implementation of the memory system is included in the project, so exploitation depends on the host agent implementing these instructions and providing persistent storage. The issue is nevertheless present in the Skill's prescribed behavior.

Attack Path

  1. An attacker submits a statement framed as a preference, decision, or correction, such as a rule instructing the agent to ignore future validation requirements.
  2. The WAL protocol classifies the statement as information that must be stored before the agent responds.
  3. The attacker-controlled rule is written to the working buffer or long-term memory without approval, sanitization, provenance-based trust evaluation, or expiration.
  4. In a later interaction or after context compr ...[truncated 873 chars]
Remediation
View remediation

Remediation Suggestions

  1. Require explicit user confirmation before creating or modifying cross-session memory.
  2. Persist only narrowly typed data, such as display preferences, approved project decisions, and verified deadlines.
  3. Never store executable instructions, security-policy changes, tool-use directives, authentication information, or commands as ordinary preferences.
  4. Separate untrusted conversation-derived memories from trusted system policy and ensure memory content cannot override higher-priority instructions.
  5. Record provenance, author identity, creation time, intended scope, confidence, and expiration for every memory entry.
  6. Isolate memory by user, tenant, workspace, and project to prevent cross-context contamination.
  7. Add validation that detects prompt-injection patterns and rejects entries attempting to change safety controls or future agent behavior.
  8. Present proposed memory writes to the user for approval and provide review, correction, export, and deletion controls.
  9. Treat restored memory as untrusted reference data rather than authoritative instructions.
  10. Apply retention limits and periodically remove stale or unverified entries.
  11. Log memory creation and restoration events so poisoned entries can be traced and revoked.
  12. Add tests proving that malicious statements disguised as preferences or corrections cannot become persistent behavioral rules.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The skill describes itself as broadly applicable to proactive agent development and productivity improvement without clearly constraining when it should or should not be invoked. In a skill that has read/exec/write capabilities and encourages autonomous behavior, vague activation boundaries increase the chance of inappropriate use in sensitive contexts or scope creep into actions the user did not explicitly authorize.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill advertises access to exec and write tools and repeatedly instructs persistence of user information, but it does not prominently warn at the beginning that using the skill may execute commands or write data to memory/storage. This creates a consent and safety gap: users may provide inputs assuming analysis-only behavior, while the agent may perform state-changing actions or retain sensitive information.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

These instructions tell the agent to scan every message and persist multiple classes of user-provided information before responding, creating blanket retention behavior. In practice this can capture sensitive preferences, deadlines, corrections, credentials accidentally pasted by users, or regulated data without minimization, consent, retention limits, or context-based filtering.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The example operationalizes the unsafe pattern by showing user statements being copied into both working memory and long-term memory as a default workflow. Because examples are often followed more literally than policy text, this reinforces indiscriminate persistence and increases the likelihood of storing sensitive or unnecessary information across sessions.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The FAQ normalizes persistent storage of broad categories of user-provided information before any response, which further cements unsafe default memory behavior. Repetition across normative, example, and FAQ sections makes the issue more dangerous because it signals a core design requirement rather than an optional feature, increasing the chance of widespread over-collection and retention.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

文件的展示名、摘要和主体说明均固定为中文,且未说明是否支持其他语言或允许用户选择输出语言。对于通用型技能,这构成了默认语言/locale 强制约束,缺少用户显式选择或 opt-in 机制。

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.