Back to skill

Security audit

Ultimate Agent System

Security checks for vulnerabilities and agentic risk

Overview

This skill is not clearly malicious, but it asks users to trust broad autonomous agent, memory, skill-management, and system-management behavior without enough scope or safety boundaries.

Install only if you are comfortable reviewing and controlling broad autonomous behavior yourself. Before using it, treat heartbeat and execute_action flows as inspect-first, avoid running scripts/benchmark.py on a real system, and do not grant filesystem, skill-management, publishing, or system-maintenance authority without explicit per-action confirmation.

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
scripts/benchmark.py:74
Finding

Unsafe Recursive Deletion of a Reused Fixed Directory

Content
View full analysis

Vulnerability Details

File Location: scripts/benchmark.py, lines 74–75 and 109–110
Vulnerability Type: Unsafe temporary-directory handling and recursive deletion
Risk Level: Medium

Vulnerable Code

python
# Create test environment
test_dir = Path("D:/Test-Benchmark")
test_dir.mkdir(exist_ok=True)

# Simulate large state data
state_data = {
    "active_projects": [
        {
            "name": f"project_{i}",
            "status": "active",
            "progress": i * 10,
            "tags": ["development", "testing", "optimization"]
        }
        for i in range(100)
    ],
    "learned_lessons": [
        {
            "id": f"lesson_{j}",
            "description": f"Important lesson {j}",
            "impact": "high",
            "date": "2026-03-05"
        }
        for j in range(50)
    ]
}

# Save state
state_file = test_dir / "benchmark-state.json"
with open(state_file, 'w', encoding='utf-8') as f:
    json.dump(state_data, f, indent=2)

# Test load performance
start = time.time()
with open(state_file, 'r', encoding='utf-8') as f:
    loaded_data = json.load(f)
load_time = time.time() - start

print(f"Loaded state in: {load_time:.3f} seconds")

# Cleanup
import shutil
shutil.rmtree(test_dir)

Technical Analysis

The benchmark uses a fixed path, D:/Test-Benchmark, as though it were an isolated temporary directory. Calling mkdir(exist_ok=True) silently reuses that directory when it already exists. The cleanup then passes the whole directory to shutil.rmtree, recursively deleting every file and subdirectory rather than only the benchmark-created state file.

On Windows, the path refers to D:\Test-Benchmark. On platforms where D: is not interpreted as a drive designator, it may resolve as a relative path beneath the current working directory. In either case, the code does not verify that the directory was newly created, that it is owned exclusively by this benchmark run, or that it contains no unrelated data.

...[truncated 1409 chars]

Remediation
View remediation

Remediation Suggestions

Use a unique, automatically managed temporary directory instead of a fixed path:

python
import json
import tempfile
import time
from pathlib import Path

def benchmark_state_recovery():
    with tempfile.TemporaryDirectory(prefix="ultimate-agent-benchmark-") as temp_dir:
        test_dir = Path(temp_dir)
        state_file = test_dir / "benchmark-state.json"

        with state_file.open("w", encoding="utf-8") as f:
            json.dump(state_data, f, indent=2)

        start = time.time()
        with state_file.open("r", encoding="utf-8") as f:
            loaded_data = json.load(f)
        load_time = time.time() - start

    return load_time

Additional hardening measures:

  1. Never recursively delete a fixed or potentially pre-existing directory as benchmark cleanup.
  2. If a configurable output path is required, resolve it with Path.resolve() and refuse to continue when it already exists.
  3. Track and delete only files created by the current run.
  4. Use a try/finally block or TemporaryDirectory context manager so cleanup occurs safely after exceptions.
  5. Avoid following or traversing attacker-controlled links during cleanup.
  6. Add a regression test that pre-populates the candidate path with an unrelated sentinel file and verifies that the benchmark neither reuses nor deletes it.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (21)

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The skill description does not clearly disclose that it may publish to a third-party platform, run local test scripts, check file integrity, or perform interactive release workflows. Third-party publication and local script execution are materially higher-risk actions than the stated general agent-management purpose, creating a serious trust and consent gap.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill description does not clearly disclose that it may publish to a third-party platform, run local test scripts, check file integrity, or perform interactive release workflows. Third-party publication and local script execution are materially higher-risk actions than the stated general agent-management purpose, creating a serious trust and consent gap.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The announcement explicitly advertises proactive monitoring, automatic repair, backup/rollback, and on-demand agent creation without stating consent boundaries, execution limits, or possible effects on user files and system state. In an agent skill, these claims normalize autonomous modification behavior and can lead users to enable actions that inspect, change, or spawn capabilities beyond what they intended.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The quick-start code encourages users to initialize the system and immediately call a heartbeat/proactive workflow that discovers and recommends actions, but it provides no warning that monitoring or follow-on automated behavior may occur. This is dangerous because users may run the sample expecting a harmless demo when it can trigger observation, persistence, or later autonomous actions in a real agent environment.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

The README advertises automatic state preservation, proactive checks, and recovery behavior without warning about privacy, persistence, or unintended side effects. In a skill context, persistent logging and autonomous behavior can expose sensitive conversation data or trigger actions users did not expect.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The quick-start example explicitly shows executing recommended actions and describes automated system-management behavior without any caution, approval step, or sandboxing guidance. This is dangerous because users may copy the example into trusted environments and enable autonomous actions that affect files, settings, or external systems without sufficient review.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The README claims host-level disk detection, migration, and performance management capabilities that go beyond a typical AI skill’s documented scope. Even though this is documentation rather than executable code, it can mislead users or downstream agents into attempting privileged system-management actions that may be unsafe or unsupported.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

Introducing system-level disk migration in a skill whose stated purpose is an AI assistance framework creates a dangerous capability mismatch. In context, this makes the skill more risky because users may infer it is appropriate for autonomous host modifications without realizing the potential for data loss, privilege abuse, or system instability.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding

The skill advertises capabilities that imply filesystem, environment, and shell access, but it does not declare any explicit tool scope or permission boundaries. In a highly autonomous skill that emphasizes proactive action and agent creation, missing scope declarations increases the risk of over-privileged execution, unintended command execution, and silent access to sensitive local resources.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The activation language is overly broad, encouraging use for 'daily assistance' and proactive identification of problems without clear triggering boundaries. In a skill that promotes autonomous behavior and extensive resource use, vague invocation criteria can cause the agent to act in contexts the user did not intend, including inspecting or modifying workspace contents opportunistically.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill states that it will automatically detect environment details and configure workspace, memory, skill, and registry paths, but it does not warn users that this entails inspecting local system and project locations. Lack of disclosure is risky because environment discovery can expose sensitive paths and metadata, especially when combined with proactive or self-improving behavior.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This code file uses Chinese for the module docstring, function docstrings, comments, and all user-facing print output, with no indication that the language is configurable or intentionally limited to a specific region. That creates a natural-language policy concern because the skill effectively forces a locale without user opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This Python file contains all user-facing descriptions, status messages, and confirmation prompts in Chinese only, including the module docstring and interactive publish flow. That enforces a specific language/locale without any opt-in or documented region-specific justification, which matches the natural-language policy violation criteria.

Content

No source excerpt is available for this finding.

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/publish.py (reported line 16)May include surrounding context.

python
# 检查clawhub
    try:
        result = subprocess.run(["clawhub", "--version"], 
                              capture_output=True, text=True)
        if "ClawHub CLI" in result.stdout or "ClawHub CLI" in result.stderr:
            print("✅ ClawHub CLI 已安装")

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/publish.py (reported line 77)May include surrounding context.

python
try:
        # 运行主脚本
        result = subprocess.run([sys.executable, "scripts/ultimate_system.py"],
                              capture_output=True, text=True, timeout=10)
        
        if "ULTIMATE SYSTEM REPORT" in result.stdout:

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/publish.py (reported line 127)May include surrounding context.

python
# 执行发布
    try:
        result = subprocess.run(cmd, capture_output=True, text=True)
        
        if result.returncode == 0:
            print("✅ 发布成功!")

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
83% confidence
Finding

This code file contains prominent natural-language descriptions and class docstrings in Chinese, including the core skill name and subsystem descriptions, with no indication that users can choose another language or that the skill is region-specific. Under the policy rule for language/locale, forcing a specific language without opt-in is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

This markdown file presents the skill documentation entirely in Chinese, beginning with a Chinese-only description, with no indication that language is optional or that the skill is intended for a specific Chinese-language audience. Under the policy rule, forcing a specific language without opt-in or documented justification is a natural-language locale violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
76% confidence
Finding

The README is predominantly written in Chinese, with no indication that other languages are supported or that language can be chosen by the user. Under the stated policy, forcing a specific language without opt-in can be a natural-language policy concern unless the locale constraint is explicitly justified.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

The manifest frames the skill as integrating three specific capabilities: proactive work, self-improvement, and agent creation. The README claims the system '解决所有问题' and presents broad operational autonomy, which semantically exceeds the stated scope and misrepresents the actual declared intent.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

Natural-language policy review applies to all file types. The description and operational guidance are written in Chinese with no indication of multilingual support, user opt-in, or a region-specific justification, which can amount to a language policy violation.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.