Back to skill

Security audit

Alibaba Cloud Data Analytics Dataanalysisgbi

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed Alibaba Cloud DataAnalysisGBI helper that can use cloud credentials for intended service operations, with no evidence of hidden exfiltration or persistence.

Install this only if you want an agent to help manage Alibaba Cloud DataAnalysisGBI. Use least-privilege Alibaba credentials, provide the intended region and resource IDs, and review any Create, Update, Modify, Set, or delete-like operation before allowing it to run.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Taint TrackingDirect Taint Flow, Variable-Mediated Taint Flow, Credential Exfiltration Chain
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (9)

Tainted flow: 'timeout' from os.getenv (line 34, credential/environment) → urllib.request.urlopen (network output)

Critical
Category
Data Flow
Content
def fetch_json(url: str, timeout: int) -> dict:
    req = urllib.request.Request(url, headers={"User-Agent": "codex-skill"})
    with urllib.request.urlopen(req, timeout=timeout) as resp:
        return json.loads(resp.read().decode("utf-8"))
Confidence
90% confidence
Finding
Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
The skill advertises lifecycle management and troubleshooting for DataAnalysisGBI resources, but the described executable path centers on metadata discovery and local artifact generation instead of direct service-resource operations. This mismatch can mislead a supervising agent or user into granting cloud credentials and operational trust to a skill that behaves differently than declared, undermining informed consent and policy enforcement.

Lp3

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding
The skill declares no explicit tool scope while its documented workflow and validation imply access to environment variables, filesystem writes, and networked API/metadata retrieval. In an agent setting, missing least-privilege boundaries can let the skill be invoked with broader capabilities than users expect, increasing the chance of credential exposure or unintended outbound actions.

Vague Triggers

Medium
Confidence
92% confidence
Finding
The activation text is broad enough to trigger on many Alibaba analytics-related requests, including configuration changes and troubleshooting, without tight preconditions. Over-broad invocation increases the likelihood that the agent selects this skill in contexts where credential use, network access, or file writes are unnecessary or not user-authorized.

Natural-Language Policy Violations

Medium
Confidence
94% confidence
Finding
The region policy explicitly allows the skill to 'decide the most reasonable region' when `ALICLOUD_REGION_ID` is unset. Autonomous region selection can cause requests against the wrong tenant geography, leading to accidental access, disclosure, or modification of resources in an unintended jurisdiction or environment, especially if later extended to mutating APIs.

External Transmission

Medium
Category
Data Exfiltration
Content
output_dir.mkdir(parents=True, exist_ok=True)

    url = (
        f"https://api.aliyun.com/meta/v1/products/{args.product_code}"
        f"/versions/{args.version}/api-docs.json"
    )
    payload = fetch_json(url, timeout)
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
output_dir.mkdir(parents=True, exist_ok=True)

    url = (
        f"https://api.aliyun.com/meta/v1/products/{args.product_code}"
        f"/versions/{args.version}/api-docs.json"
    )
    payload = fetch_json(url, timeout)
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
output_dir.mkdir(parents=True, exist_ok=True)

    url = (
        f"https://api.aliyun.com/meta/v1/products/{args.product_code}"
        f"/versions/{args.version}/api-docs.json"
    )
    payload = fetch_json(url, timeout)
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
output_dir.mkdir(parents=True, exist_ok=True)

    url = (
        f"https://api.aliyun.com/meta/v1/products/{args.product_code}"
        f"/versions/{args.version}/api-docs.json"
    )
    payload = fetch_json(url, timeout)
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Static analysis

No suspicious patterns detected.