T09 · Insecure Skill Coding Practices
- Location
scripts/mcp_client.py:31- Finding
Cloud credentials and sensitive workbooks are transmitted to a fixed server over plaintext HTTP
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill performs a coherent cloud migration workflow, but it asks users to send cloud credentials and infrastructure data to a fixed remote server over plaintext HTTP with limited disclosure and weak session scoping.
Review before installing. Use only short-lived, read-only, tightly scoped cloud credentials, avoid pasting secrets into command lines, prefer a trusted HTTPS or self-hosted MCP endpoint, and assume uploaded questionnaires, scan results, generated files, and session IDs may be accessible to the remote service during the session lifetime.
scripts/mcp_client.py:31Cloud credentials and sensitive workbooks are transmitted to a fixed server over plaintext HTTP
scripts/mcp_client.py:435Cloud secrets are accepted through command-line arguments
scripts/mcp_client.py:381Remote workspace access appears to rely solely on reusable session identifiers
The skill instructs users to provide AK/SK/token credentials and send them to a remote MCP server at a hard-coded external IP address for scanning and AI processing, but it provides no explicit warning about credential transmission, third-party handling, retention, or trust boundaries. In this context, the omission is especially dangerous because the skill is specifically designed to access cloud environments across multiple providers, so misuse or compromise could expose sensitive infrastructure data and credentials.
The script accepts cloud AccessKey/SecretKey/SessionToken values on the CLI, injects them into an Excel file, base64-encodes that file, and uploads it to a hard-coded remote MCP server over plain HTTP. This exposes highly sensitive credentials to interception in transit, storage on an external server, shell history/process inspection on the local host, and unintended reuse by the remote service.
The skill exposes capabilities to read/write files and communicate with a remote MCP server, but it does not declare an explicit tool scope such as permissions or allowed-tools. This weakens least-privilege controls and makes it harder for users or the platform to understand and constrain what the skill may access or transmit.
The trigger description is broad enough to activate on common cloud, Terraform, or migration discussions, which can cause the skill to engage when the user did not intend to use a remote migration workflow. In this skill, accidental invocation is more dangerous because the workflow involves credential handling, remote scanning, and generation of artifacts through an external server.
The skill states that complete-form will overwrite the questionnaire stored in the session, but it does not present this as a user-facing warning about destructive modification. This can lead to silent loss of prior questionnaire state, causing integrity issues and potentially propagating incorrect AI-filled data into later design and Terraform outputs.
The module docstring and command/help descriptions are entirely in Chinese, and the script does not provide an alternate language or opt-in locale choice. This can violate language/locale policy when a skill forces a specific language without giving users a documented option.
No suspicious patterns detected.