Back to skill

Security audit

alibabacloud-cfw-vpc-peering-firewall-protect

Security checks for vulnerabilities and agentic risk

Overview

The skill’s firewall-management capabilities match its stated purpose and require confirmation before changes, with installation and preview caveats.

Start with read-only permissions and grant only the write actions you need; deletion permission is unnecessary. Review the selected account, firewall IDs, and discovered route lists before confirming changes, and schedule disruptive switching off-peak. Verify the installer before execution and review CLI plugin updates. Treat dry-run as preventing writes, not guaranteeing offline execution. The referenced regression tests are absent from this package; inspection and stubbed checks did not validate live cloud behavior. After CIDR updates, verify the protected routes directly because built-in update verification checks only the firewall name.

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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
Findings (27)

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The only supplied command updates CLI plugins, which is materially different from the declared firewall-management purpose. No surrounding implementation establishes it as a supporting setup step for a declared firewall operation.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The supplied shell command requests deletion via vpc-fw-lifecycle.sh delete --vpc-firewall-id vfw-example0001, directly contradicting the stated restriction that deletion/release is unsupported and must be performed in the console. The script implementation is not supplied, so successful deletion cannot be verified, but the invocation explicitly requests the excluded operation.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
91% confidence
Finding

The supplied code presents test execution as its sole behavior, with no visible implementation of Alibaba Cloud firewall management. Although unit tests can support such an implementation, none is shown here. The mismatch is limited to the visible behavior; the unavailable script's internal actions cannot be assessed.

Content

No source excerpt is available for this finding.

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
top-level `version` field (a non-empty string) of `references/manifest.json`. `scripts/common.sh` loads it on startup and treats it as a **hard gate** - if the

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
ery call** in that session, so all API calls of one session can be correlated. `scripts/common.sh` implements this on load - it reuses `SKILL_SESSION_ID` when a

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
bash scripts/vpc-fw-switch.sh query [options]

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
bash scripts/vpc-fw-switch.sh enable --vpc-firewall-ids "vfw-example0001,vfw-example0002" --yes

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
bash scripts/vpc-fw-switch.sh disable --vpc-firewall-ids "vfw-example0001" --yes

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
bash scripts/vpc-fw-lifecycle.sh assess --region cn-hangzhou

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
bash scripts/vpc-fw-lifecycle.sh assess --local-vpc-id vpc-example0001 --local-region cn-hangzhou \

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
bash scripts/vpc-fw-lifecycle.sh create \

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
bash scripts/vpc-fw-lifecycle.sh update --vpc-firewall-id vfw-example0001 --vpc-firewall-name <name>

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
bash scripts/vpc-fw-lifecycle.sh delete --vpc-firewall-id vfw-example0001 # refuses; prints guidance + impact report

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
engine mode are NOT parameters of create/update - adjust them afterwards with `vpc-fw-engine.sh` (see Engine Settings below).

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
bash scripts/vpc-fw-engine.sh ips --vpc-firewall-id vfw-example0001

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
bash scripts/vpc-fw-engine.sh acl-engine --vpc-firewall-id vfw-example0001

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
uery`, `enable`, `disable`, `assess`, `precheck`, `create`, `update`, and both `vpc-fw-engine.sh` subcommands all support `--member-uid <uid>` to operate a memb

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
son` and `--peer-cidr-json` for a fully offline preview (zero API calls). Both `vpc-fw-engine.sh` subcommands always issue read-only calls first, because the im

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

The installation guide recommends piping a mutable remote script directly into Bash without an independent integrity check. Although this script only prints the command, a user or agent following it would execute whatever the endpoint supplies; compromise of that distribution channel could expose local cloud credentials and the user's execution privileges.

Content

Scanner excerpt · scripts/validate-cli.sh (reported line 71)May include surrounding context.

sh
=== Alibaba Cloud CLI Installation & Setup Guide ===

1. Install CLI (>= 3.3.3):
   curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash

2. Verify installation:
   aliyun version

Chaining Abuse

High
Category
Tool Misuse
Confidence
86% confidence
Finding

The download-to-shell pipeline makes remotely supplied bytes executable without a verification step. This is the same conditional unsafe-installation issue identified by SC2, not evidence of a separate malicious tool chain, and the enclosing heredoc only prints it.

Content

Scanner excerpt · scripts/validate-cli.sh (reported line 71)May include surrounding context.

sh
=== Alibaba Cloud CLI Installation & Setup Guide ===

1. Install CLI (>= 3.3.3):
   curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash

2. Verify installation:
   aliyun version

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

The outdated-version warning recommends executing an unpinned remote installer directly in Bash. It does not execute the installer itself, but following the suggested remediation creates a conditional supply-chain code-execution risk in an environment likely to hold cloud credentials.

Content

Scanner excerpt · scripts/validate-cli.sh (reported line 129)May include surrounding context.

sh
CLI_VERSION_OK="true"
    else
      CLI_VERSION_OK="false"
      log_warn "CLI version ${CLI_VERSION} is below minimum ${MIN_CLI_VERSION}. Run: curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash"
    fi
  fi
else

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

The missing-CLI warning directs the operator to pipe a remote installer into Bash without verifying its contents or release integrity. This is printed guidance rather than automatic execution, but following it could execute compromised distribution content with access to the operator's files and credentials.

Content

Scanner excerpt · scripts/validate-cli.sh (reported line 133)May include surrounding context.

sh
fi
  fi
else
  log_warn "Alibaba Cloud CLI not installed. Install with: curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash"
fi

# --- Check auto plugin install ---

Behavior Manipulation

Medium
Category
Prompt Injection
Confidence
75% confidence
Finding

Subtle instructions detected that may alter agent decision-making or introduce hidden biases.

Content

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

md
> **KNOWN API BEHAVIOR:** `ModifyVpcFirewallSwitchStatus` returns only a `RequestId`. A success response means the request was **accepted**, NOT that the switch finished. Phase 3 verification is the only reliable confirmation. See `references/api-errors.md`.

> **MANDATORY: Batch Result Rule.** The script's JSON summary derives `success` from the per-ID results: it is `true` **only** when `failed_count` is 0 and `succeeded_count` > 0. On a partial failure `success` is `false` and `note` begins with `PARTIAL FAILURE`. Report per ID from the `succeeded` / `failed` arrays - never tell the user protection is on unless that specific ID appears in `succeeded` **and** Phase 3 shows `opened`.

### Phase 3: Result Verification

Unsafe Defaults

Medium
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool defaults are unsafe or overly permissive (e.g. disabled TLS verification, no authentication, world-writable permissions). Unsafe defaults widen the attack surface.

Content

Scanner excerpt · scripts/vpc-fw-lifecycle.sh (reported line 742)May include surrounding context.

sh
# --- Subcommand: update ---
cmd_update() {
  local FW_ID="" FW_NAME="" LOCAL_CIDR_JSON="" PEER_CIDR_JSON="" MEMBER_UID=""
  local DRY_RUN=false SKIP_VERIFY=false YES=false

  while [[ $# -gt 0 ]]; do
    case "$1" in

Query results require Chinese-language status labels and summary text without user opt-in.

Low
Category
Output Handling
Confidence
97% confidence
Finding

The mandatory presentation rules require Chinese status annotations, a Chinese summary line, and Chinese empty-result text regardless of the user's language. No language choice or locale-specific justification is provided for these user-facing query results.

Content

No source excerpt is available for this finding.