T09 · Insecure Skill Coding Practices
- Location
scripts/publish-remote.sh:92- Finding
WeChat Credentials Can Be Transmitted to a Configurable Plaintext HTTP Endpoint
- Content
View full analysis
/dev/null) ``` The documented MCP configuration permits plaintext HTTP: ```json { "mcpServers": { "wenyan-mcp": { "name": "公众号远程助手", "transport": "sse", "url": "http://:3000/sse", "headers": { "X-API-Key": "" } } } } ``` ### Technical Analysis The script embeds the reusable WeChat App ID and App Secret in an MCP request sent to the server selected by `MCP_CONFIG_FILE`. The documented configuration uses plaintext HTTP, which provides neither transport confidentiality nor cryptographic server authentication. Accessing the MCP configuration is necessary for the declared remote-publishing function. However, transmitting a reusable WeChat secret to an arbitrary configurable endpoint—particularly over documented plaintext HTTP—exceeds a secure least-privilege design. The remote server receives both publishing credentials and article data, and the script does not validate the URL scheme, hostname, certificate policy, or expected server identity. ### Attack Path 1. A user configures the MCP endpoint using the documented plaintext HTTP example, or an attacker modifies `$HOME/.openclaw/mcp.json`. 2. The user invokes `scripts/publish-remote.sh`. 3. The script reads the WeChat credentials and plac ...[truncated 896 chars]- Remediation
View remediation
