T09 · Insecure Skill Coding Practices
- Location
SKILL.md:28- Finding
Administrative credentials and bearer tokens transmitted over plaintext HTTP
- Content
View full analysis
","password":""}' \ "http:///api/user/login" ``` ```bash curl -s "http:///open/auth/token?client_id=&client_secret=" ``` The same insecure transport convention is used throughout `SKILL.md:63-156` and `api-reference.md:3-6,250-273`, including requests carrying bearer tokens and administrative data. ### Technical Analysis The Skill consistently documents Qinglong Panel communication over unencrypted HTTP. The login request transmits the username and password in cleartext at the transport layer. The alternative authentication flow also places the client ID and client secret in a URL query string. After authentication, bearer tokens are sent over the same plaintext channel. An attacker capable of observing or modifying traffic between the Agent and the panel can recover credentials or tokens. Query-string credentials may additionally be retained in web-server access logs, reverse-proxy logs, monitoring systems, browser history, or command history. This risk is especially significant because the token is described as having complete operational permissions. The accessible APIs include environment-variable access, script management, task execution, dependency management, system configuration, data import/export, panel updates, and shell-command execution. The pre-scan warning about `curl|bash` is not confirmed. At `api-reference.md:250-273`, HTTP responses are piped into local Python JSON parsers, not into Bash or another shell for remote payload execution. ### Attack Path 1. A user supplies credentials for a panel exposed over a local, corporate, wireless, container, or other shared network. 2. The Skill follows the documented workflow and sends ...[truncated 1325 chars]- Remediation
View remediation
