T08 · Insecure Dependencies
- Location
scripts/net_common.py:101- Finding
Automatic Installation of Unpinned Alibaba Cloud CLI Plugins
- Content
View full analysis
bool: """Install a missing official CLI plugin once, then let the caller retry.""" plugin_name = f"aliyun-cli-{product}" if plugin_name not in error_text or "plugin" not in error_text.lower(): return False result = _run_subprocess( ["aliyun", "plugin", "install", "--names", plugin_name], max(timeout, 60), ) return result.returncode == 0 ``` The installation function is invoked automatically after a failed plugin-mode request: ```python result = _run_subprocess(plugin_cmd, timeout) plugin_error = result.stderr.strip() or result.stdout.strip() if result.returncode != 0 and _install_required_plugin( product, plugin_error, timeout): result = _run_subprocess(plugin_cmd, timeout) ``` ### Technical Analysis When an Alibaba Cloud CLI plugin is missing, the skill automatically executes `aliyun plugin install` using a dynamically constructed package name. The installation does not specify an exact plugin version or verify a checksum, signature, publisher identity, or immutable package digest. Consequently, the executable code used by the skill can change after the skill itself has been audited. Although the intended packages are official Alibaba Cloud CLI plugins, the trust decision is delegated entirely to the CLI's current package resolution and distribution infrastructure. The plugin is then used immediately to process cloud API operations. This makes the runtime dependency installation part of the skill's effective code-execution chain. The behavior also expands the stated standard-library-only dependency posture by installing additional executable components without explicit ...[truncated 1797 chars]- Remediation
View remediation
