Back to skill

Security audit

Alibabacloud Pts Pilot

Security checks for vulnerabilities and agentic risk

Overview

This router does not run commands itself, but it can delegate cloud performance-test actions with weak confirmation and the advertised worker sub-skills are not present in the inspected package.

Review this carefully before installing. Only use it if you understand that it may hand off requests to other Alibaba Cloud skills that can create, start, stop, delete, or run performance tests. Verify the actual worker sub-skills before enabling the bundle, and specify the intended region and scene/report identifiers explicitly for any state-changing request.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (15)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
omply with Qoder's skill-loader contract (the ZIP root MUST directly contain a `SKILL.md`), the parent's `SKILL.md` sits at the ZIP root, and the two sub-skill

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
omply with Qoder's skill-loader contract (the ZIP root MUST directly contain a `SKILL.md`), the parent's `SKILL.md` sits at the ZIP root, and the two sub-skill

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
omply with Qoder's skill-loader contract (the ZIP root MUST directly contain a `SKILL.md`), the parent's `SKILL.md` sits at the ZIP root, and the two sub-skill

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
omply with Qoder's skill-loader contract (the ZIP root MUST directly contain a `SKILL.md`), the parent's `SKILL.md` sits at the ZIP root, and the two sub-skill

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
3. **`references/routing-rules.md`**: add worked examples (Positive / Negative / Edge cases) for the new sub-skill.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
3. **`references/routing-rules.md`**: add worked examples (Positive / Negative / Edge cases) for the new sub-skill.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger list includes broad generic terms such as 'performance testing', 'load testing', and 'JMeter', which can match ordinary discussion rather than a clear intent to invoke this router. Overbroad activation can cause unintended delegation to other skills, increasing the chance of accidental execution paths or confusing cross-skill behavior.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The instruction to trigger the parent on 'any PTS-related phrase' is ambiguous and encourages activation on loosely related input. In a router that delegates to operational sub-skills, this broad matching increases the risk of unintended handoff and user surprise, especially when neighboring skills may perform state-changing actions.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
80% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

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

md
| Direction | Field | Required | Notes |
|-----------|-------|----------|-------|
| **Input** | `intent` | ✅ | One of: `create` / `query` / `start` / `stop` / `report` / `delete` / `jmeter_upload` / `jmeter_run` |
| **Input** | `RegionId` | ✅ (default: `cn-shanghai`) | Defaults to `cn-shanghai` when unspecified; never ask the user |
| **Input** | `SceneId` | conditional | Required for `query`/`start`/`stop`/`report`/`delete` |
| **Input** | `sceneConfig` | optional | Sub-skill will construct this from user's natural-language params (URL, concurrency, duration, etc.). Router NEVER needs to build or ask for JSON config. |
| **Output** | `SceneId` | — | Echoed for all CRUD actions |

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
80% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

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

md
| Direction | Field | Required | Notes |
|-----------|-------|----------|-------|
| **Input** | `intent` | ✅ | One of: `create` / `query` / `start` / `stop` / `report` / `delete` / `jmeter_upload` / `jmeter_run` |
| **Input** | `RegionId` | ✅ (default: `cn-shanghai`) | Defaults to `cn-shanghai` when unspecified; never ask the user |
| **Input** | `SceneId` | conditional | Required for `query`/`start`/`stop`/`report`/`delete` |
| **Input** | `sceneConfig` | optional | Sub-skill will construct this from user's natural-language params (URL, concurrency, duration, etc.). Router NEVER needs to build or ask for JSON config. |
| **Output** | `SceneId` | — | Echoed for all CRUD actions |

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

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

md
| Situation | Action |
|-----------|--------|
| User request is a knowledge / conceptual question about PTS **without mentioning "skill"** and **without asking about non-PTS product diagnosis** | Answer inline without delegation. Do NOT invoke any sub-skill. |
| User wants to diagnose/analyze a non-PTS product (RDS, ECS, Redis, SLB, etc.) or asks "have tools for X" | Route to `alibabacloud-find-skills` via Skill tool — this router has no sub-skill for product-level diagnosis. |
| User mentions searching/finding skills or asks for **skill for a specific product** (e.g., "RDS skill", "ECS skill") | Route to `alibabacloud-find-skills` via Skill tool. This takes priority over inline Q&A. |
| No row matches | Ask the user a single clarifying question using the **Positive Triggers** of all Active sub-skills as concrete examples. |

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
86% confidence
Finding

The instruction to 'never ask the user' and delegate directly encourages autonomous execution decisions for operational actions despite missing context. In this skill's PTS routing context, that can trigger unintended performance tests or operations in an incorrect region or against the wrong scene, creating operational disruption and possible cost impact.

Content

Scanner excerpt · references/routing-rules.md (reported line 37)May include surrounding context.

md
- **Mixed intent** — "Create scenario and start immediately"
  → Route to `alibabacloud-pts-task` with `intent=create`, ask it to chain `start` after success. Pass both in one handoff.
- **Region missing** — "Start scene-abc"
  → Default to `cn-shanghai`, never ask the user, delegate directly.
- **SceneId format uncertain** — user supplies an ID without confirming source
  → Do NOT validate format in router; delegate as-is, sub-skill will surface any error.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
80% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · references/routing-rules.md (reported line 65)May include surrounding context.

md
### Edge cases

- **Missing `HistoryReportId`** — "Help me optimize my stress-test"
  → Delegate to reporter directly; it will query the latest report on its own. Never ask the user.
- **User pastes a report screenshot/text only** — Delegate to reporter directly; let it handle the content.
- **After report analysis, user wants deep product diagnosis** (e.g. "I want to tune RDS" / "deep-analyze ECS") — This is the proactive follow-up flow; use the product keyword as `searchIntent` and route to `alibabacloud-find-skills` to search for the corresponding diagnostic skill and guide installation.
- **User asks for instance-level diagnosis but no corresponding skill exists** — Router should first route to `alibabacloud-find-skills` to search; if no match found, inform user that no skill is currently available.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

The router instructs defaulting RegionId to cn-shanghai when the user omits region, which can cause actions to run in the wrong environment without explicit user awareness. In a cloud operations context, even a router-only skill can misdirect destructive or billable actions to the wrong regional resources if downstream workers trust the routed parameters.

Content

No source excerpt is available for this finding.