Back to skill

Security audit

Alibabacloud Security Health Check

Security checks for vulnerabilities and agentic risk

Overview

This appears to be a legitimate Alibaba Cloud health-check skill, but it needs review because it can auto-install unpinned Python packages without asking and has report/input handling weaknesses.

Review before installing. Use a dedicated short-lived read-only Alibaba Cloud identity scoped only to the products being assessed, avoid letting the agent auto-run pip without approval, and treat customer JSON and generated HTML/Excel reports as untrusted until input validation and report escaping are fixed.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (5)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:182
Finding

Unattended installation of non-locked Python dependencies

Content
View full analysis
. Please run: pip install pyyaml jsonpath-ng jinja2 openpyxl` message when imports fail. **Auto-install policy** — when the Agent observes this exact error message, it SHOULD immediately run: ```bash pip install --quiet pyyaml jsonpath-ng jinja2 openpyxl ``` and retry `scorer.py` with the same arguments. No user consent prompt is required for these four pinned dependencies because they are part of the documented skill contract and the script's own error message names them exactly. ``` The dependency file contains ranges rather than immutable versions: ```text pyyaml>=6.0,<7.0 jsonpath-ng>=1.5.3,<2.0 jinja2>=3.1.0,<4.0 openpyxl>=3.1.0,<4.0 ``` ### Technical Analysis The Skill describes these packages as “pinned,” but the installation command does not specify versions, and `requirements.txt` only supplies version ranges without cryptographic hashes. Package resolution can therefore produce different code across executions. The Agent is explicitly instructed to perform this environment mutation without user approval. Python package installation and subsequent import both provide code-execution opportunities to package contents. Although the listed package names are established public packages and no malicious dependency is present in the repository, compromise of a permitted release, package index, or network/package-source configuration could affect the Agent environment. ### Attack Path 1. The scoring engine encounters a missing Python import. 2. It emits the documented dependency error. 3. The Agent follows `SKILL.md` and runs the unversioned `pip install` command without approval. 4. `pip` resolves ...[truncated 646 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/engine/report_html.py:153
Finding

HTML report rendering does not enable contextual autoescaping

Content
View full analysis
` can be emitted into the final report as executable HTML. The repository does not contain the default `assets/templates/report.html.j2` file referenced by the script. Consequently, default report generation is incomplete, and the exact interpolation sites in the intended template cannot be reviewed. The unsafe Jinja environment is nevertheless present and will affect any HTML template rendered by this script. ### Attack Path 1. An attacker influences the customer name or a string value in a supplied `*-collected.json` file. 2. The scorer preserves the value in `scores.json` as an `actual_value`, or the value is supplied directly ...[truncated 802 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/engine/report_excel.py:98
Finding

Customer-controlled values can be interpreted as spreadsheet formulas

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/collectors/waf-collect.sh:31
Finding

Manual collector input is interpolated into JSON without validation or escaping

Content
View full analysis
$OUT <
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Note
Location
references/ram-policies.md:7
Finding

Recommended RAM permissions exceed the minimum scope for selected-product assessments

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (45)

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

A description-behavior mismatch is dangerous because operators may trust the declared purpose while the actual implementation does something narrower or different. In this case, the skill claims broad four-product scoring and report generation, but the finding indicates the underlying behavior may only collect limited data and not produce the promised outputs, which can mislead users into making security decisions on incomplete coverage.

Content

No source excerpt is available for this finding.

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/checks/sas.yaml (reported line 187)May include surrounding context.

yaml
remediation:
      effort: low
      steps: |
        Real-time alerts when critical system files (/etc/passwd, /etc/shadow, sshd_config, etc.) are modified.
        Required for MLPS Level 3 compliance. SAS -> Host Protection -> File Integrity Monitoring -> Enable.
      doc: https://help.aliyun.com/zh/security-center/user-guide/file-integrity-monitoring

Credential Access

High
Category
Privilege Escalation
Confidence
95% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/checks/sas.yaml (reported line 187)May include surrounding context.

yaml
remediation:
      effort: low
      steps: |
        Real-time alerts when critical system files (/etc/passwd, /etc/shadow, sshd_config, etc.) are modified.
        Required for MLPS Level 3 compliance. SAS -> Host Protection -> File Integrity Monitoring -> Enable.
      doc: https://help.aliyun.com/zh/security-center/user-guide/file-integrity-monitoring

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding

The skill describes shell execution plus file read/write behavior but does not declare any explicit tool scope or permissions boundary. That increases the chance an agent will run commands or modify files more broadly than intended, especially because the manifest also tells the agent to proceed silently and write outputs automatically.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill instructs the agent to mutate the runtime by installing Python packages automatically, even without user approval. Environment mutation expands the attack surface, can introduce unreviewed code into the execution context, and is especially risky in a skill that otherwise should mainly process provided JSON files and generate reports.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

Auto-installing packages without consent removes an important safety checkpoint and can cause unreviewed code execution from package repositories. In the context of an agent skill with shell capability, this makes the behavior more dangerous because installation is triggered as a 'routine recovery step' rather than an exceptional action requiring approval.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The remediation documentation URL explicitly points to the Chinese-language locale path (/zh/), which indicates a fixed language choice in the skill content. The file does not offer an alternative language/locale or note that the Chinese locale is intentional for a region-specific audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The remediation documentation URL explicitly points to the Chinese-language locale path (/zh/), which indicates a fixed language choice in the skill content. The file does not offer an alternative language/locale or note that the Chinese locale is intentional for a region-specific audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The remediation documentation URL explicitly points to the Chinese-language locale path (/zh/), which indicates a fixed language choice in the skill content. The file does not offer an alternative language/locale or note that the Chinese locale is intentional for a region-specific audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The remediation documentation URL explicitly points to the Chinese-language locale path (/zh/), which indicates a fixed language choice in the skill content. The file does not offer an alternative language/locale or note that the Chinese locale is intentional for a region-specific audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The remediation documentation URL explicitly points to the Chinese-language locale path (/zh/), which indicates a fixed language choice in the skill content. The file does not offer an alternative language/locale or note that the Chinese locale is intentional for a region-specific audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The remediation documentation URL explicitly points to the Chinese-language locale path (/zh/), which indicates a fixed language choice in the skill content. The file does not offer an alternative language/locale or note that the Chinese locale is intentional for a region-specific audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The remediation documentation URL explicitly points to the Chinese-language locale path (/zh/), which indicates a fixed language choice in the skill content. The file does not offer an alternative language/locale or note that the Chinese locale is intentional for a region-specific audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The remediation documentation URL explicitly points to the Chinese-language locale path (/zh/), which indicates a fixed language choice in the skill content. The file does not offer an alternative language/locale or note that the Chinese locale is intentional for a region-specific audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The remediation documentation URL explicitly points to the Chinese-language locale path (/zh/), which indicates a fixed language choice in the skill content. The file does not offer an alternative language/locale or note that the Chinese locale is intentional for a region-specific audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The remediation documentation URL explicitly points to the Chinese-language locale path (/zh/), which indicates a fixed language choice in the skill content. The file does not offer an alternative language/locale or note that the Chinese locale is intentional for a region-specific audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The remediation documentation URL explicitly points to the Chinese-language locale path (/zh/), which indicates a fixed language choice in the skill content. The file does not offer an alternative language/locale or note that the Chinese locale is intentional for a region-specific audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The remediation documentation URL explicitly points to the Chinese-language locale path (/zh/), which indicates a fixed language choice in the skill content. The file does not offer an alternative language/locale or note that the Chinese locale is intentional for a region-specific audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The remediation documentation URL explicitly points to the Chinese-language locale path (/zh/), which indicates a fixed language choice in the skill content. The file does not offer an alternative language/locale or note that the Chinese locale is intentional for a region-specific audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The remediation documentation URL explicitly points to the Chinese-language locale path (/zh/), which indicates a fixed language choice in the skill content. The file does not offer an alternative language/locale or note that the Chinese locale is intentional for a region-specific audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The remediation documentation URL explicitly points to the Chinese-language locale path (/zh/), which indicates a fixed language choice in the skill content. The file does not offer an alternative language/locale or note that the Chinese locale is intentional for a region-specific audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

This YAML file contains natural-language remediation text that recommends blocking traffic from specific regions/countries ('Russia/Iran/North Korea') for 'domestic business.' That is a locale/region policy recommendation embedded as default guidance, without presenting it as an optional, justified region-specific compliance requirement or asking the user to choose such a restriction.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The remediation documentation URL is hardcoded to the Chinese-language locale (/zh/), which imposes a specific language choice in the skill's natural-language guidance. The file does not offer an alternative locale or indicate that the Chinese locale is intentional and limited to a region-specific audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The remediation documentation URL is hardcoded to the Chinese-language locale (/zh/), which imposes a specific language choice in the skill's natural-language guidance. The file does not offer an alternative locale or indicate that the Chinese locale is intentional and limited to a region-specific audience.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% 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/checks/sas.yaml (reported line 65)May include surrounding context.

yaml
effort: medium
      steps: |
        Refer to skill `aliyun-sas-kspm-onboard` for batch onboarding.
        ACK clusters can use auto-deployment; self-managed clusters require SSH to master to execute deploy.yaml.
      doc: https://help.aliyun.com/zh/security-center/user-guide/kspm-overview

  - id: sas-004

Static analysis

No suspicious patterns detected.