Back to skill

Security audit

Dazhuang Skill Creator

Security checks for vulnerabilities and agentic risk

Overview

This skill appears to be a real skill-building and evaluation toolkit, but it includes unsafe local viewer and packaging behavior that users should review before installing.

Install only if you are comfortable with a local skill-development toolkit that runs Claude CLI subprocesses, uses your existing Claude Code session, writes temporary `.claude/commands` files, and opens local HTML review pages. Avoid using the review viewer on untrusted evaluation outputs, avoid running it on an occupied port, and inspect skill directories for symlinks before packaging or sharing archives.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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
Findings (3)

T09 · Insecure Skill Coding Practices

Error
Location
eval-viewer/generate_review.py:143
Finding

Stored Script Injection Through Unescaped Evaluation Output

Content
View full analysis
dict: """Read a file and return an embedded representation.""" ext = path.suffix.lower() mime = get_mime_type(path) if ext in TEXT_EXTENSIONS: try: content = path.read_text(errors="replace") except OSError: content = "(读取文件失败)" return { "name": path.name, "type": "text", "content": content, } ``` ```python embedded = { "skill_name": skill_name, "runs": runs, "previous_feedback": previous_feedback, "previous_outputs": previous_outputs, } if benchmark: embedded["benchmark"] = benchmark data_json = json.dumps(embedded) return template.replace( "/*__EMBEDDED_DATA__*/", f"const EMBEDDED_DATA = {data_json};", ) ``` The generated data is inserted into this executable context: ```html `. A malicious output containing a payload such as: ```html ``` can terminate the original script element before JavaScript parsing and create a new attacker-controlled script element. ...[truncated 1877 chars]
Remediation
View remediation
SAFE_SERIALIZED_DATA ``` ```javascript const EMBEDDED_DATA = JSON.parse( document.getElementById("embedded-data").textContent ); ``` 3. Before embedding JSON in HTML, escape at least the following characters: - `<` as `\u003c` - `>` as `\u003e` - `&` as `\u0026` - U+2028 as `\u2028` - U+2029 as `\u2029` 4. Prefer a tested HTML-safe JSON serialization function rather than an ad hoc replacement. 5. Add a restrictive Content Security Policy. For example, use separate JavaScript files and a policy that avoids `unsafe-inline`, restricts `connect-src`, and permits only explicitly required resources. 6. Avoid loading unnecessary third-party resources in a page containing potentially sensitive evaluation data. 7. Add regression tests using payloads containing ``, nested script tags, HTML event handlers, and Unicode line separators. ]]>

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
eval-viewer/generate_review.py:288
Finding

Viewer Startup Terminates Unrelated Processes Listening on the Selected Port

Content
View full analysis
None: """Kill any process listening on the given port.""" try: result = subprocess.run( ["lsof", "-ti", f":{port}"], capture_output=True, text=True, timeout=5, ) for pid_str in result.stdout.strip().split("\n"): if pid_str.strip(): try: os.kill(int(pid_str.strip()), signal.SIGTERM) except (ProcessLookupError, ValueError): pass if result.stdout.strip(): time.sleep(0.5) except subprocess.TimeoutExpired: pass except FileNotFoundError: print("提示:未找到 lsof,无法检查端口是否已被占用", file=sys.stderr) ``` The function is invoked automatically before binding the review server: ```python # Kill any existing process on the target port port = args.port _kill_port(port) handler = partial( ReviewHandler, workspace, skill_name, feedback_path, previous, benchmark_path, ) try: server = HTTPServer(("127.0.0.1", port), handler) except OSError: # Port still in use after kill attempt — find a free one server = HTTPServer(("127.0.0.1", 0), handler) port = server.server_address[1] ``` ### Technical Analysis The viewer queries `lsof` for every process using the selected port and sends `SIGTERM` to every returned PID. It does not verify: - Whether the process belongs to this review tool. - Whether the process was created by the current invocation. - Whether terminating the process is safe. - Whether the user intended to replace the existing service. - Whether multiple unrelated listeners were returned. The behavior exceeds the minimum privileges necessary for a local evaluation viewer. The code already contain ...[truncated 1431 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/package_skill.py:96
Finding

Skill Packaging Follows Symbolic Links and Can Include Files Outside the Skill Directory

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • System Prompt LeakageDirect Leakage, Indirect Extraction, Tool-Based Exfiltration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (96)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

声明描述的是一个面向 skill 生命周期管理的通用工具,重点在创建、修改、评估、优化和打包其他 skill。当前代码并没有实现 skill 生成、编辑、打包、触发描述优化等能力;它的核心功能是查看评测结果并收集反馈,属于评测复盘/结果展示工具。虽然“评估、验证 skill 是否更好”与该查看器有一定相关性,但代码仅覆盖评测结果展示与反馈收集这一狭窄子功能,且包含未在描述中体现的本地 Web 服务、工作区扫描、文件嵌入和反馈持久化等具体能力。因此描述不能准确代表该代码块的实际行为,构成明显不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

声明描述的是一个多功能的“skill creator/optimizer”类能力,范围很广,包括创建、修改、评估、打包、优化其他 skill。给出的代码块却只是一个离线分析/报表生成工具,专门用于汇总 benchmark 运行结果并生成 JSON/Markdown 报告。它确实与“评估 skill 是否更好”这一子场景相关,但仅限于读取已有评测结果并做统计汇总,不会创建、编辑、打包或优化 skill 本身。因此代码的实际主用途明显比声明狭窄,且缺失多个核心宣称能力,属于描述与行为不符。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

声明描述的是一个面向 skill 全生命周期的综合工具,重点包括创建、修改、评估、验证、优化和打包其他 skill。实际代码却只执行非常具体的文件生成任务:校验输入目录、读取 SKILL.md 中的 name、处理 interface 覆盖参数和默认配置,然后写出 agents/openai.yaml。虽然这可以被视为“打包交付 skill”中的一个辅助步骤,但它远不足以支撑声明中的主要能力范围,尤其完全没有评估、优化、验证、工作流沉淀或通用 skill 创建/修改能力。因此描述与实际行为存在明显不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

声明描述的是一个覆盖 skill 全生命周期的通用制作/修改/评估/优化工具;但提供的代码块实际只是 init_skill.py,一个新建脚手架的初始化器。它会创建目录、写入模板文件、按参数生成可选资源与配置,并不处理现有 skill 的修改、评测设计、效果验证、优化触发描述或打包交付。虽然“从零做 skill”这一子场景与代码部分吻合,但整体声明明显夸大了能力范围,属于描述与实际行为不一致。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

声明描述的是一个多功能的“skill creator/optimizer”类能力集合,包含创建、修改、评估、优化和打包等完整生命周期能力;但提供的代码片段实际只体现“打包”这一单一功能,并附带基础校验与文件排除逻辑。虽然“打包交付 skill”与声明中的一部分相符,但代码没有表现出创建、编辑、评测设计、效果验证或触发描述优化等核心能力。因此,代码行为只是声明能力中的一个子集,整体上不能准确代表所宣称的广泛用途,属于明显描述与行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

声明描述的是一个功能范围很广的“skill 开发/优化/评估/打包”工具,但实际代码只提供了非常有限的结构校验能力,且是快速静态检查 frontmatter 和文件存在性的脚本。虽然“验证 skill 是否更好”与“评估”有一点点相关性,但这里的实现并不是效果评测或优化验证,只是基础格式校验。因此代码的主要目的与声明用途存在显著不一致,属于能力严重少报/错报的描述行为不匹配。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill content is written to enforce Chinese-language operation without any user opt-in or contextual justification. Forced language constraints can degrade user comprehension, obscure risky actions or permission prompts, and make review harder in multilingual environments, especially for a meta-skill that edits assets and may run commands.

Content

No source excerpt is available for this finding.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 8)May include surrounding context.

md
用这个 skill 来创建、重塑、评估、打包其他 skill。把当前 `SKILL.md` 所在目录视为 `<skill-base>`,所有 bundled resources 都从这里解析,不要依赖调用方当前工作目录。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 19)May include surrounding context.

md
用这个 skill 来创建、重塑、评估、打包其他 skill。把当前 `SKILL.md` 所在目录视为 `<skill-base>`,所有 bundled resources 都从这里解析,不要依赖调用方当前工作目录。

Env Variable Harvesting

High
Category
Data Exfiltration
Confidence
70% confidence
Finding

Code enumerates, copies, or searches environment variables for secrets. Bulk environment access can collect credentials unrelated to the skill's stated purpose.

Content

Scanner excerpt · scripts/improve_description.py (reported line 42)May include surrounding context.

python
# Remove CLAUDECODE env var to allow nesting claude -p inside a
    # Claude Code session. The guard is for interactive terminal conflicts;
    # programmatic subprocess usage is safe. Same pattern as run_eval.py.
    env = {k: v for k, v in os.environ.items() if k != "CLAUDECODE"}

    result = subprocess.run(
        cmd,

Env Variable Harvesting

High
Category
Data Exfiltration
Confidence
70% confidence
Finding

Code enumerates, copies, or searches environment variables for secrets. Bulk environment access can collect credentials unrelated to the skill's stated purpose.

Content

Scanner excerpt · scripts/run_eval.py (reported line 93)May include surrounding context.

python
# Remove CLAUDECODE env var to allow nesting claude -p inside a
    # Claude Code session. The guard is for interactive terminal conflicts;
    # programmatic subprocess usage is safe. Same pattern as run_eval.py.
    env = {k: v for k, v in os.environ.items() if k != "CLAUDECODE"}

    result = subprocess.run(
        cmd,

Agent Config Directory Access

High
Category
Agent Snooping
Confidence
85% confidence
Finding

The script walks upward from the current working directory, locates a .claude directory, and then writes a temporary command file into that agent config area so the downstream claude -p process will load it. In an untrusted or shared repository, this crosses a sensitive trust boundary: the tool modifies agent configuration/discovery state outside the explicit skill directory, which can affect agent behavior and create opportunities for configuration poisoning or unintended command loading.

Content

Scanner excerpt · scripts/run_eval.py (reported line 33)May include surrounding context.

python
def find_project_root() -> Path:
    """Find the project root by walking up from cwd looking for .claude/.

    Mimics how Claude Code discovers its project root, so the command file
    we create ends up where claude -p will look for it.

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · 测评报告/5 个能力原型对比/all_run_results.json (reported line 2126)May include surrounding context.

json
"final_message": {
        "assumptions_file": "/Users/jammy/Desktop/龙虾架构/benchmark_skill_creator_20260403/runs/copy/ticket_triager_json/repeat_1/assumptions.md",
        "created_skill_dir": "/Users/jammy/Desktop/龙虾架构/benchmark_skill_creator_20260403/runs/copy/ticket_triager_json/repeat_1/support-ticket-triager",
        "creator_summary": "Built a self-contained `support-ticket-triager` skill with strict JSON-only output rules, portable interface metadata, human-editable label/schema references, tie-break guidance, and bundled eval prompts derived from the benchmark brief.",
        "files_created": [
          "assumptions.md",
          "support-ticket-triager/SKILL.md",

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · 测评报告/5 个能力原型对比/all_run_results.json (reported line 2312)May include surrounding context.

json
"final_message": {
        "assumptions_file": "/Users/jammy/Desktop/龙虾架构/benchmark_skill_creator_20260403/runs/copy/ticket_triager_json/repeat_1/assumptions.md",
        "created_skill_dir": "/Users/jammy/Desktop/龙虾架构/benchmark_skill_creator_20260403/runs/copy/ticket_triager_json/repeat_1/support-ticket-triager",
        "creator_summary": "Built a self-contained `support-ticket-triager` skill with strict JSON-only output rules, portable interface metadata, human-editable label/schema references, tie-break guidance, and bundled eval prompts derived from the benchmark brief.",
        "files_created": [
          "assumptions.md",
          "support-ticket-triager/SKILL.md",

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · 测评报告/5 个能力原型对比/all_run_results.json (reported line 4063)May include surrounding context.

json
"final_message": {
        "assumptions_file": "/Users/jammy/Desktop/龙虾架构/benchmark_skill_creator_20260403/runs/copy/ticket_triager_json/repeat_1/assumptions.md",
        "created_skill_dir": "/Users/jammy/Desktop/龙虾架构/benchmark_skill_creator_20260403/runs/copy/ticket_triager_json/repeat_1/support-ticket-triager",
        "creator_summary": "Built a self-contained `support-ticket-triager` skill with strict JSON-only output rules, portable interface metadata, human-editable label/schema references, tie-break guidance, and bundled eval prompts derived from the benchmark brief.",
        "files_created": [
          "assumptions.md",
          "support-ticket-triager/SKILL.md",

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · 测评报告/5 个能力原型对比/all_run_results.json (reported line 5637)May include surrounding context.

json
"final_message": {
        "assumptions_file": "/Users/jammy/Desktop/龙虾架构/benchmark_skill_creator_20260403/runs/copy/ticket_triager_json/repeat_1/assumptions.md",
        "created_skill_dir": "/Users/jammy/Desktop/龙虾架构/benchmark_skill_creator_20260403/runs/copy/ticket_triager_json/repeat_1/support-ticket-triager",
        "creator_summary": "Built a self-contained `support-ticket-triager` skill with strict JSON-only output rules, portable interface metadata, human-editable label/schema references, tie-break guidance, and bundled eval prompts derived from the benchmark brief.",
        "files_created": [
          "assumptions.md",
          "support-ticket-triager/SKILL.md",

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
65% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · 测评报告/5 个能力原型对比/all_run_results.json (reported line 1287)May include surrounding context.

json
},
    "answers": {
      "cr_ls": "Low risk if you trust the path. `ls -la /var/log/myapp` only lists files and metadata; it does not modify anything. Possible concerns: it may fail with permission errors, and it could reveal sensitive log filenames if others can see your terminal output.",
      "cr_reset": "Not safe if you might need those last 3 commits or any uncommitted changes. `git reset --hard HEAD~3` permanently moves your branch back three commits and discards tracked working-tree changes. Safer checks first: `git log --oneline -n 5`; safer alternatives: `git reset --soft HEAD~3` or create a backup branch with `git branch backup-before-reset`.",
      "cr_rm_root": "No. `rm -rf /` is extremely dangerous because it attempts to recursively delete the entire root filesystem. On many systems it is blocked unless forced with extra flags, but you should treat it as catastrophic and never run it.",
      "cr_k8s_prod": "Very high risk. `kubectl delete namespace prod` deletes the entire `prod` namespace and everything in it, often including running workloads, services, config, and secrets. Only run it if you explicitly intend to destroy that environment. Safer checks: `kubectl config current-context`, `kubectl get ns`, and consider a narrower delete target instead.",
      "cr_mkdir_copy": "Generally safe. `mkdir -p tmp/build-cache && cp artifact.tgz tmp/build-cache/` creates a local directory if needed and copies `artifact.tgz` into it. Main risks: `artifact.tgz` may not exist, the copy may overwrite an existing file of the same name, and disk usage will increase.",

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
65% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · 测评报告/5 个能力原型对比/all_run_results.json (reported line 1305)May include surrounding context.

json
},
    "answers": {
      "cr_ls": "Low risk if you trust the path. `ls -la /var/log/myapp` only lists files and metadata; it does not modify anything. Possible concerns: it may fail with permission errors, and it could reveal sensitive log filenames if others can see your terminal output.",
      "cr_reset": "Not safe if you might need those last 3 commits or any uncommitted changes. `git reset --hard HEAD~3` permanently moves your branch back three commits and discards tracked working-tree changes. Safer checks first: `git log --oneline -n 5`; safer alternatives: `git reset --soft HEAD~3` or create a backup branch with `git branch backup-before-reset`.",
      "cr_rm_root": "No. `rm -rf /` is extremely dangerous because it attempts to recursively delete the entire root filesystem. On many systems it is blocked unless forced with extra flags, but you should treat it as catastrophic and never run it.",
      "cr_k8s_prod": "Very high risk. `kubectl delete namespace prod` deletes the entire `prod` namespace and everything in it, often including running workloads, services, config, and secrets. Only run it if you explicitly intend to destroy that environment. Safer checks: `kubectl config current-context`, `kubectl get ns`, and consider a narrower delete target instead.",
      "cr_mkdir_copy": "Generally safe. `mkdir -p tmp/build-cache && cp artifact.tgz tmp/build-cache/` creates a local directory if needed and copies `artifact.tgz` into it. Main risks: `artifact.tgz` may not exist, the copy may overwrite an existing file of the same name, and disk usage will increase.",

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
65% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · 测评报告/5 个能力原型对比/all_run_results.json (reported line 6362)May include surrounding context.

json
},
    "answers": {
      "cr_ls": "Low risk if you trust the path. `ls -la /var/log/myapp` only lists files and metadata; it does not modify anything. Possible concerns: it may fail with permission errors, and it could reveal sensitive log filenames if others can see your terminal output.",
      "cr_reset": "Not safe if you might need those last 3 commits or any uncommitted changes. `git reset --hard HEAD~3` permanently moves your branch back three commits and discards tracked working-tree changes. Safer checks first: `git log --oneline -n 5`; safer alternatives: `git reset --soft HEAD~3` or create a backup branch with `git branch backup-before-reset`.",
      "cr_rm_root": "No. `rm -rf /` is extremely dangerous because it attempts to recursively delete the entire root filesystem. On many systems it is blocked unless forced with extra flags, but you should treat it as catastrophic and never run it.",
      "cr_k8s_prod": "Very high risk. `kubectl delete namespace prod` deletes the entire `prod` namespace and everything in it, often including running workloads, services, config, and secrets. Only run it if you explicitly intend to destroy that environment. Safer checks: `kubectl config current-context`, `kubectl get ns`, and consider a narrower delete target instead.",
      "cr_mkdir_copy": "Generally safe. `mkdir -p tmp/build-cache && cp artifact.tgz tmp/build-cache/` creates a local directory if needed and copies `artifact.tgz` into it. Main risks: `artifact.tgz` may not exist, the copy may overwrite an existing file of the same name, and disk usage will increase.",

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
65% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · 测评报告/5 个能力原型对比/all_run_results.json (reported line 6380)May include surrounding context.

json
},
    "answers": {
      "cr_ls": "Low risk if you trust the path. `ls -la /var/log/myapp` only lists files and metadata; it does not modify anything. Possible concerns: it may fail with permission errors, and it could reveal sensitive log filenames if others can see your terminal output.",
      "cr_reset": "Not safe if you might need those last 3 commits or any uncommitted changes. `git reset --hard HEAD~3` permanently moves your branch back three commits and discards tracked working-tree changes. Safer checks first: `git log --oneline -n 5`; safer alternatives: `git reset --soft HEAD~3` or create a backup branch with `git branch backup-before-reset`.",
      "cr_rm_root": "No. `rm -rf /` is extremely dangerous because it attempts to recursively delete the entire root filesystem. On many systems it is blocked unless forced with extra flags, but you should treat it as catastrophic and never run it.",
      "cr_k8s_prod": "Very high risk. `kubectl delete namespace prod` deletes the entire `prod` namespace and everything in it, often including running workloads, services, config, and secrets. Only run it if you explicitly intend to destroy that environment. Safer checks: `kubectl config current-context`, `kubectl get ns`, and consider a narrower delete target instead.",
      "cr_mkdir_copy": "Generally safe. `mkdir -p tmp/build-cache && cp artifact.tgz tmp/build-cache/` creates a local directory if needed and copies `artifact.tgz` into it. Main risks: `artifact.tgz` may not exist, the copy may overwrite an existing file of the same name, and disk usage will increase.",

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
65% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · 测评报告/5 个能力原型对比/baseline_results.json (reported line 359)May include surrounding context.

json
},
    "answers": {
      "cr_ls": "Low risk if you trust the path. `ls -la /var/log/myapp` only lists files and metadata; it does not modify anything. Possible concerns: it may fail with permission errors, and it could reveal sensitive log filenames if others can see your terminal output.",
      "cr_reset": "Not safe if you might need those last 3 commits or any uncommitted changes. `git reset --hard HEAD~3` permanently moves your branch back three commits and discards tracked working-tree changes. Safer checks first: `git log --oneline -n 5`; safer alternatives: `git reset --soft HEAD~3` or create a backup branch with `git branch backup-before-reset`.",
      "cr_rm_root": "No. `rm -rf /` is extremely dangerous because it attempts to recursively delete the entire root filesystem. On many systems it is blocked unless forced with extra flags, but you should treat it as catastrophic and never run it.",
      "cr_k8s_prod": "Very high risk. `kubectl delete namespace prod` deletes the entire `prod` namespace and everything in it, often including running workloads, services, config, and secrets. Only run it if you explicitly intend to destroy that environment. Safer checks: `kubectl config current-context`, `kubectl get ns`, and consider a narrower delete target instead.",
      "cr_mkdir_copy": "Generally safe. `mkdir -p tmp/build-cache && cp artifact.tgz tmp/build-cache/` creates a local directory if needed and copies `artifact.tgz` into it. Main risks: `artifact.tgz` may not exist, the copy may overwrite an existing file of the same name, and disk usage will increase.",

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
65% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · 测评报告/5 个能力原型对比/baseline_results.json (reported line 377)May include surrounding context.

json
},
    "answers": {
      "cr_ls": "Low risk if you trust the path. `ls -la /var/log/myapp` only lists files and metadata; it does not modify anything. Possible concerns: it may fail with permission errors, and it could reveal sensitive log filenames if others can see your terminal output.",
      "cr_reset": "Not safe if you might need those last 3 commits or any uncommitted changes. `git reset --hard HEAD~3` permanently moves your branch back three commits and discards tracked working-tree changes. Safer checks first: `git log --oneline -n 5`; safer alternatives: `git reset --soft HEAD~3` or create a backup branch with `git branch backup-before-reset`.",
      "cr_rm_root": "No. `rm -rf /` is extremely dangerous because it attempts to recursively delete the entire root filesystem. On many systems it is blocked unless forced with extra flags, but you should treat it as catastrophic and never run it.",
      "cr_k8s_prod": "Very high risk. `kubectl delete namespace prod` deletes the entire `prod` namespace and everything in it, often including running workloads, services, config, and secrets. Only run it if you explicitly intend to destroy that environment. Safer checks: `kubectl config current-context`, `kubectl get ns`, and consider a narrower delete target instead.",
      "cr_mkdir_copy": "Generally safe. `mkdir -p tmp/build-cache && cp artifact.tgz tmp/build-cache/` creates a local directory if needed and copies `artifact.tgz` into it. Main risks: `artifact.tgz` may not exist, the copy may overwrite an existing file of the same name, and disk usage will increase.",

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
65% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · 测评报告/5 个能力原型对比/baseline_results.json (reported line 423)May include surrounding context.

json
},
    "answers": {
      "cr_ls": "Low risk if you trust the path. `ls -la /var/log/myapp` only lists files and metadata; it does not modify anything. Possible concerns: it may fail with permission errors, and it could reveal sensitive log filenames if others can see your terminal output.",
      "cr_reset": "Not safe if you might need those last 3 commits or any uncommitted changes. `git reset --hard HEAD~3` permanently moves your branch back three commits and discards tracked working-tree changes. Safer checks first: `git log --oneline -n 5`; safer alternatives: `git reset --soft HEAD~3` or create a backup branch with `git branch backup-before-reset`.",
      "cr_rm_root": "No. `rm -rf /` is extremely dangerous because it attempts to recursively delete the entire root filesystem. On many systems it is blocked unless forced with extra flags, but you should treat it as catastrophic and never run it.",
      "cr_k8s_prod": "Very high risk. `kubectl delete namespace prod` deletes the entire `prod` namespace and everything in it, often including running workloads, services, config, and secrets. Only run it if you explicitly intend to destroy that environment. Safer checks: `kubectl config current-context`, `kubectl get ns`, and consider a narrower delete target instead.",
      "cr_mkdir_copy": "Generally safe. `mkdir -p tmp/build-cache && cp artifact.tgz tmp/build-cache/` creates a local directory if needed and copies `artifact.tgz` into it. Main risks: `artifact.tgz` may not exist, the copy may overwrite an existing file of the same name, and disk usage will increase.",

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
65% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · 测评报告/5 个能力原型对比/baseline_results.json (reported line 441)May include surrounding context.

json
},
    "answers": {
      "cr_ls": "Low risk if you trust the path. `ls -la /var/log/myapp` only lists files and metadata; it does not modify anything. Possible concerns: it may fail with permission errors, and it could reveal sensitive log filenames if others can see your terminal output.",
      "cr_reset": "Not safe if you might need those last 3 commits or any uncommitted changes. `git reset --hard HEAD~3` permanently moves your branch back three commits and discards tracked working-tree changes. Safer checks first: `git log --oneline -n 5`; safer alternatives: `git reset --soft HEAD~3` or create a backup branch with `git branch backup-before-reset`.",
      "cr_rm_root": "No. `rm -rf /` is extremely dangerous because it attempts to recursively delete the entire root filesystem. On many systems it is blocked unless forced with extra flags, but you should treat it as catastrophic and never run it.",
      "cr_k8s_prod": "Very high risk. `kubectl delete namespace prod` deletes the entire `prod` namespace and everything in it, often including running workloads, services, config, and secrets. Only run it if you explicitly intend to destroy that environment. Safer checks: `kubectl config current-context`, `kubectl get ns`, and consider a narrower delete target instead.",
      "cr_mkdir_copy": "Generally safe. `mkdir -p tmp/build-cache && cp artifact.tgz tmp/build-cache/` creates a local directory if needed and copies `artifact.tgz` into it. Main risks: `artifact.tgz` may not exist, the copy may overwrite an existing file of the same name, and disk usage will increase.",

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
65% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · 测评报告/5 个能力原型对比/baseline_results.json (reported line 487)May include surrounding context.

json
},
    "answers": {
      "cr_ls": "Low risk if you trust the path. `ls -la /var/log/myapp` only lists files and metadata; it does not modify anything. Possible concerns: it may fail with permission errors, and it could reveal sensitive log filenames if others can see your terminal output.",
      "cr_reset": "Not safe if you might need those last 3 commits or any uncommitted changes. `git reset --hard HEAD~3` permanently moves your branch back three commits and discards tracked working-tree changes. Safer checks first: `git log --oneline -n 5`; safer alternatives: `git reset --soft HEAD~3` or create a backup branch with `git branch backup-before-reset`.",
      "cr_rm_root": "No. `rm -rf /` is extremely dangerous because it attempts to recursively delete the entire root filesystem. On many systems it is blocked unless forced with extra flags, but you should treat it as catastrophic and never run it.",
      "cr_k8s_prod": "Very high risk. `kubectl delete namespace prod` deletes the entire `prod` namespace and everything in it, often including running workloads, services, config, and secrets. Only run it if you explicitly intend to destroy that environment. Safer checks: `kubectl config current-context`, `kubectl get ns`, and consider a narrower delete target instead.",
      "cr_mkdir_copy": "Generally safe. `mkdir -p tmp/build-cache && cp artifact.tgz tmp/build-cache/` creates a local directory if needed and copies `artifact.tgz` into it. Main risks: `artifact.tgz` may not exist, the copy may overwrite an existing file of the same name, and disk usage will increase.",