Back to skill

Security audit

aliyun-domain

Security checks for vulnerabilities and agentic risk

Overview

This skill is a real Alibaba Cloud domain-management tool, but it asks for broad account authority and some sensitive domain changes can run without the confirmation the documentation promises.

Review this skill before installing. Use a narrowly scoped RAM user instead of full domain access, avoid storing AccessKey secrets in shell profiles or repository-local files, and do not let an agent invoke transfer, DNS, auto-renew, or registrant-profile actions unless you have separately confirmed the exact operation and target domain. Treat purchase links and investment rankings as suggestions, not financial advice.

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 (4)

T09 · Insecure Skill Coding Practices

Error
Location
scripts/aliyun_domain.py:730
Finding

Sensitive Domain Mutations Can Execute Without User Confirmation

Content
View full analysis
Dict: request = SaveSingleTaskForApprovingTransferOutRequest.SaveSingleTaskForApprovingTransferOutRequest() request.set_DomainName(domain_name) response = self._do_request(request) return response ``` Representative automatic-renewal implementation at lines 814-831: ```python def setup_auto_renew( self, domain_name: str, auto_renew: bool, duration: int = 1 ) -> Dict: request = SetupDomainAutoRenewRequest.SetupDomainAutoRenewRequest() request.set_DomainName(domain_name) request.set_AutoRenew(auto_renew) request.set_Duration(duration) response = self._do_request(request) return response ``` Representative DNS-host deletion implementation at lines 1047-1062: ```python def delete_dns_host(self, domain_name: str, host_name: str) -> Dict: request = SaveSingleTaskForDeletingDnsHostRequest.SaveSingleTaskForDeletingDnsHostRequest() request.set_DomainName(domain_name) request.set_HostName(host_name) response = self._do_request(request) return response ``` ### Technical Analysis The Skill declares that financial and sensitive domain-management operations require explicit user confirmation. Registration, renewal, and DNS-server modification partially enforce this policy through a `confirmed: bool = False` parameter and a rejection when confirmation is absent. The same control is missing from multiple other sensitive methods, including: - Transfer-prohibition lock changes at lines 730-747 - Transfer authorization-code requests at lines 766-779 - Transfer-out approval and cancellation at lines 782-811 - Automatic-renewa ...[truncated 2145 chars]
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Error
Location
SKILL.md:672
Finding

Documentation Recommends Excessive Alibaba Cloud Domain Permissions

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:682
Finding

Long-Lived AccessKey Secret Is Persisted in Plaintext Shell Profiles

Content
View full analysis
> ~/.zshrc echo 'export ALIYUN_ACCESS_KEY_SECRET="your-access-key-secret"' >> ~/.zshrc source ~/.zshrc ``` ### Technical Analysis The permanent configuration places a long-lived cloud secret in a plaintext shell initialization file. Shell profiles are commonly included in workstation backups, support bundles, dotfile repositories, and accidental diagnostic output. Exporting the secret also places it in the environment of descendant processes. Programs started from that shell may read the credential even when they have no legitimate need to access Alibaba Cloud. The risk is amplified because the documentation also recommends `AliyunDomainFullAccess`. Although environment variables are generally preferable to hardcoding credentials in source code, storing the export statement permanently in a plaintext profile is not secure secret management. The API client masks most of the AccessKey ID when printing initialization status and does not print the secret directly. No evidence was found that the Skill intentionally transmits credentials to a non-Alibaba destination. ### Attack Path 1. The user follows the permanent setup instructions. 2. The AccessKey ID and secret are written to `~/.zshrc` in plaintext. 3. A local process, malicious extension, compromised backup, exposed dotfile repository, or unauthorized user reads the shell profile. 4. The attacker extracts the AccessKey pair. 5. The attacker authenticates to Alibaba Cloud using the permissions granted to the RAM identity. A separate local process may alternatively in ...[truncated 474 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
SKILL.md:904
Finding

Alibaba Cloud SDK Dependencies Are Installed Without Version or Hash Pinning

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (112)

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · README.md (reported line 35)May include surrounding context.

bash
# 复制配置模板
cp config/credentials.json.example config/credentials.json

# 编辑配置文件,填入您的阿里云 AK/SK
vim config/credentials.json

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · README.md (reported line 38)May include surrounding context.

bash
# 复制配置模板
cp config/credentials.json.example config/credentials.json

# 编辑配置文件,填入您的阿里云 AK/SK
vim config/credentials.json

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · README.md (reported line 209)May include surrounding context.

bash
# 复制配置模板
cp config/credentials.json.example config/credentials.json

# 编辑配置文件,填入您的阿里云 AK/SK
vim config/credentials.json

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · README.md (reported line 210)May include surrounding context.

bash
# 复制配置模板
cp config/credentials.json.example config/credentials.json

# 编辑配置文件,填入您的阿里云 AK/SK
vim config/credentials.json

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · README.md (reported line 220)May include surrounding context.

bash
# 复制配置模板
cp config/credentials.json.example config/credentials.json

# 编辑配置文件,填入您的阿里云 AK/SK
vim config/credentials.json

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · README.md (reported line 245)May include surrounding context.

bash
# 复制配置模板
cp config/credentials.json.example config/credentials.json

# 编辑配置文件,填入您的阿里云 AK/SK
vim config/credentials.json

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · README.md (reported line 246)May include surrounding context.

bash
# 复制配置模板
cp config/credentials.json.example config/credentials.json

# 编辑配置文件,填入您的阿里云 AK/SK
vim config/credentials.json

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · README.md (reported line 255)May include surrounding context.

bash
# 复制配置模板
cp config/credentials.json.example config/credentials.json

# 编辑配置文件,填入您的阿里云 AK/SK
vim config/credentials.json

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · scripts/aliyun_domain.py (reported line 99)May include surrounding context.

python
```bash
# 复制配置模板
cp config/credentials.json.example config/credentials.json

# 编辑配置文件,填入您的阿里云 AK/SK
vim config/credentials.json

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · scripts/aliyun_domain.py (reported line 112)May include surrounding context.

python
```bash
# 复制配置模板
cp config/credentials.json.example config/credentials.json

# 编辑配置文件,填入您的阿里云 AK/SK
vim config/credentials.json

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · scripts/aliyun_domain.py (reported line 1499)May include surrounding context.

python
```bash
# 复制配置模板
cp config/credentials.json.example config/credentials.json

# 编辑配置文件,填入您的阿里云 AK/SK
vim config/credentials.json

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · scripts/aliyun_domain.py (reported line 1500)May include surrounding context.

python
```bash
# 复制配置模板
cp config/credentials.json.example config/credentials.json

# 编辑配置文件,填入您的阿里云 AK/SK
vim config/credentials.json

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

If the actual behavior prioritizes domain investment recommendations and purchase-link generation without evidenced financial safeguards, users may be steered toward commerce-related actions under a broad domain-management trigger surface. In this context, misleading scope combined with purchase facilitation can increase the chance of unintended or manipulative financial actions.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the actual behavior prioritizes domain investment recommendations and purchase-link generation without evidenced financial safeguards, users may be steered toward commerce-related actions under a broad domain-management trigger surface. In this context, misleading scope combined with purchase facilitation can increase the chance of unintended or manipulative financial actions.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

If the actual behavior prioritizes domain investment recommendations and purchase-link generation without evidenced financial safeguards, users may be steered toward commerce-related actions under a broad domain-management trigger surface. In this context, misleading scope combined with purchase facilitation can increase the chance of unintended or manipulative financial actions.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

If the actual behavior prioritizes domain investment recommendations and purchase-link generation without evidenced financial safeguards, users may be steered toward commerce-related actions under a broad domain-management trigger surface. In this context, misleading scope combined with purchase facilitation can increase the chance of unintended or manipulative financial actions.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

If the actual behavior prioritizes domain investment recommendations and purchase-link generation without evidenced financial safeguards, users may be steered toward commerce-related actions under a broad domain-management trigger surface. In this context, misleading scope combined with purchase facilitation can increase the chance of unintended or manipulative financial actions.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

If the actual behavior prioritizes domain investment recommendations and purchase-link generation without evidenced financial safeguards, users may be steered toward commerce-related actions under a broad domain-management trigger surface. In this context, misleading scope combined with purchase facilitation can increase the chance of unintended or manipulative financial actions.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the actual behavior prioritizes domain investment recommendations and purchase-link generation without evidenced financial safeguards, users may be steered toward commerce-related actions under a broad domain-management trigger surface. In this context, misleading scope combined with purchase facilitation can increase the chance of unintended or manipulative financial actions.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

If the actual behavior prioritizes domain investment recommendations and purchase-link generation without evidenced financial safeguards, users may be steered toward commerce-related actions under a broad domain-management trigger surface. In this context, misleading scope combined with purchase facilitation can increase the chance of unintended or manipulative financial actions.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

If the actual behavior prioritizes domain investment recommendations and purchase-link generation without evidenced financial safeguards, users may be steered toward commerce-related actions under a broad domain-management trigger surface. In this context, misleading scope combined with purchase facilitation can increase the chance of unintended or manipulative financial actions.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

Using the single word "recommend" as a trigger for hotspot investment analysis is excessively broad and likely to hijack many unrelated requests. Because this feature generates investment-oriented suggestions and purchase links, such accidental activation can nudge users toward speculative or financial actions they never intended to solicit.

Content

No source excerpt is available for this finding.

Credential Access

High
Category
Privilege Escalation
Confidence
91% confidence
Finding

The documented file structure includes a real config/credentials.json credential store. Even though environment variables are recommended elsewhere, documenting a live credential file path encourages secret persistence on disk, which increases exposure through accidental commits, local disclosure, backups, or overly broad file-read permissions.

Content

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

md
├── README.md                       # Project description
├── SAFE_OPERATION_GUIDE.md         # Safe operation guide
├── config/
│   ├── credentials.json            # Credential configuration
│   └── credentials.json.example    # Configuration template
├── knowledge/                      # Local knowledge base 📚
│   ├── domain_pricing_discounts.md # Promotion policy knowledge base

Credential Access

High
Category
Privilege Escalation
Confidence
91% confidence
Finding

Referencing both credentials.json and credentials.json.example in the config layout normalizes the presence of a real secret-bearing file alongside the repository. In tool-enabled agent contexts with file access, that materially raises the chance of credential discovery or leakage.

Content

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

md
├── SAFE_OPERATION_GUIDE.md         # Safe operation guide
├── config/
│   ├── credentials.json            # Credential configuration
│   └── credentials.json.example    # Configuration template
├── knowledge/                      # Local knowledge base 📚
│   ├── domain_pricing_discounts.md # Promotion policy knowledge base
│   └── aliyun-domain-help/         # Alibaba Cloud help document library (RAG retrieval) ⭐ NEW

Credential Access

High
Category
Privilege Escalation
Confidence
88% confidence
Finding

The troubleshooting guidance tells users to check whether AK/SK in credentials.json is correct, reinforcing disk-based secret storage and likely causing operators to create or retain plaintext credentials locally. That practice broadens the attack surface for credential theft through filesystem access or accidental sharing.

Content

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

Error: InvalidAccessKeyId.NotFound

text

**Solution**: Check if AK/SK in credentials.json is correct, confirm RAM user is authorized.

### Issue: Insufficient Permissions

Static analysis

No suspicious patterns detected.