T09 · Insecure Skill Coding Practices
Error
- Location
- references/cli-installation-guide.md:106
- Finding
- TLS Certificate Verification Is Documented as Disabled by Default<![CDATA[ ## Vulnerability Details **File Location**: `references/cli-installation-guide.md`, lines 106-119 **Vulnerability Type**: Improper TLS certificate validation **Risk Level**: High ### Vulnerable Code Snippet ```markdown | SSL verification errors | Set `CLOUDROBO_VERIFY_SSL=false` (debug only) | ## Environment Variables 环境变量 | Variable | Description | Default | |----------|-------------|---------| | `CLOUDROBO_VERIFY_SSL` | SSL verification (true/false) | false | | `CLOUDROBO_LOG_TRAFFIC` | Traffic logging (true/false) | false | ``` Related guidance also appears in `references/iam-policies.md`, lines 60-61: ```markdown - **SSL verification** — Can be disabled for debugging (`CLOUDROBO_VERIFY_SSL=false`) but should be enabled in production ``` ### Technical Analysis The installation guide states that `CLOUDROBO_VERIFY_SSL` defaults to `false` and recommends disabling it when certificate errors occur. The Skill uses AK/SK-authenticated HTTPS requests to CloudRobo services and obtains task metadata, logs, dataset paths, and temporary OBS URLs. When certificate validation is disabled, the client cannot establish that it is communicating with the intended Huawei Cloud endpoint. TLS encryption without certificate authentication does not prevent an active network attacker from impersonating the service. Network communication is necessary for the declared functionality, but disabling server authentication exceeds what is required. Certificate validation should remain enabled for all normal operations. ### Attack Path 1. A user installs and configures the CloudRobo client according to the guide. 2. TLS verification remains disabled by default, or the user disables it in response to an SSL error. 3. An attacker obtains a network interception position, such as through a hostile proxy, compromised network gateway, or DNS manipulation. 4. The attacker presents an arbitrary TLS certificate for the CloudRobo endpoint. 5. The client accepts the forged cert ...[truncated 832 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Change the documented and implemented default for `CLOUDROBO_VERIFY_SSL` to `true`. 2. Remove disabling TLS verification as a routine troubleshooting recommendation. 3. For private certificate authorities, instruct users to install or configure the appropriate CA bundle instead of bypassing validation. 4. If a temporary bypass must remain available, require an explicit per-command opt-out and display a prominent warning. 5. Prevent production profiles from setting TLS verification to `false`. 6. Add automated tests that fail when HTTPS connections accept an untrusted or hostname-mismatched certificate. 7. Review the underlying `hw-cloudrobo-client` implementation to confirm hostname verification, certificate-chain validation, and secure proxy handling are enabled. ]]>
