Back to skill

Security audit

recursive-self-improve

Security checks for vulnerabilities and agentic risk

Overview

This skill openly aims to modify installed skills, but its write behavior is broader and less safely bounded than its own documentation claims.

Install only if you intentionally want a tool that can rewrite or augment other installed skills. Prefer using scan and propose first, run apply only on a small backed-up test skill directory, review diffs afterward, and avoid recording personal preferences unless you are comfortable keeping them in learned_patterns.json.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Rogue AgentSelf-Modification, Session Persistence
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (9)

Lp3

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding
The skill clearly instructs reading from and writing to the skills directory and JSON memory files, but it does not declare permissions or surface those capabilities in a structured way. That mismatch can cause the agent or user to underestimate file-system impact, especially because the skill performs persistent writes and modifies skill artifacts.

Description-Behavior Mismatch

High
Confidence
95% confidence
Finding
The file-level safety claims say it will never delete or overwrite source files, but the implementation does overwrite existing content in multiple places. In particular, invalid frontmatter remediation rewrites SKILL.md with mode 'w', and the sandbox commit path copies files back into the source tree with shutil.copyfile, replacing existing files. This mismatch is dangerous because operators may trust the stated safety guarantees and run a tool that performs broader mutations than advertised.

Intent-Code Divergence

High
Confidence
96% confidence
Finding
The _apply_one docstring claims patches are append/copy-only and never delete or overwrite, but the invalid_frontmatter branch opens SKILL.md with 'w' and replaces the file contents. Even if it prepends old text back, this is still a destructive overwrite operation that can lose metadata, permissions expectations, or concurrent edits and violates the advertised safety model.

Intent-Code Divergence

Medium
Confidence
93% confidence
Finding
The sandbox validation reduces some risk, but the commit path still copies every file from the sandbox back into the live skill directory, overwriting any matching files. That means a 'validated' patch can still replace existing source artifacts, so the safety commentary may cause users to underestimate the scope of modification.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The skill supports an apply mode that can persistently modify files and write logs, but the user-facing description does not present a clear warning before use. This is dangerous because users may invoke it expecting analysis only, while it can alter skill content and create durable audit/memory artifacts.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill states that learned_patterns.json stores operation counts, error patterns, user preferences, and improvement suggestions, but it does not include a privacy warning or retention explanation. Persistent storage of user preferences and usage history can create privacy and profiling risks across sessions.

Ssd 3

Medium
Confidence
96% confidence
Finding
The skill explicitly instructs retaining and reusing user preferences across sessions in a persistent memory file. Cross-session preference storage without strong minimization, consent, and access controls can leak behavioral data and influence future runs in ways the user does not expect.

Self-Modification

High
Category
Rogue Agent
Content
2. **提案(propose)**:把每个机会映射成安全补丁动作(仅追加/复制,从不删除/覆盖源),产出可审计的补丁计划。
3. **试应用(apply·沙箱)**:补丁先在临时副本上试跑,确认目标标记出现、文件不损坏后才允许落盘;任何异常都回滚。
4. **校验(verify)**:应用后重跑 scan,断言该机会已消除,否则判定补丁失败并保留原状。
5. **记忆(record)**:通过的补丁写入技能级 `self_improve_log.json`,并回写 evolver 的 `self_patches`,使整个生态的元改进轨迹可追溯。

## 何时使用
Confidence
98% confidence
Finding
This skill is explicitly designed for recursive self-modification of itself and related skills, including proposing patches, applying them, verifying them, and recording them for future evolution. Even with claimed safeguards like sandboxing and append-only behavior, self-modification materially increases the risk of uncontrolled capability drift, persistence of unsafe changes, and propagation of compromised instructions across the skill ecosystem.

Self-Modification

High
Category
Rogue Agent
Content
changed = False
    md = os.path.join(skill_dir, "SKILL.md")
    txt = _read(md)
    if issue == "no_self_evolve_section":
        if "自进化学习系统" not in txt:
            with open(md, "a", encoding="utf-8") as f:
                f.write(SELF_EVOLVE_SECTION)
Confidence
72% confidence
Finding
This branch appends content directly to SKILL.md to add a self-evolution section, which is a concrete self-modification capability over other skills. In this skill context, recursive modification of the skill ecosystem increases risk because a single run can propagate changes broadly across many skills, especially if the inserted content later affects agent behavior or trust assumptions.

Static analysis

No suspicious patterns detected.