T09 · Insecure Skill Coding Practices
- Location
skill.json:9- Finding
API Key May Be Transmitted over Plaintext HTTP
- Content
View full analysis
Vulnerability Details
File Location:
skill.json, line 9
Vulnerability Type: Plaintext transmission of sensitive credentials
Risk Level: HighVulnerable Code
json {"name": "DP_SERVER_URL", "required": true, "description": "DP platform service address, for example http://8.130.64.180"}The quoted description is an English rendering of the metadata value; the security-relevant URL is unchanged.
Technical Analysis
The example configures
DP_SERVER_URLwith an unencryptedhttp://endpoint. According toSKILL.md, every API request must include theDP_API_KEYin theX-DP-API-KeyHTTP header. The skill does not require HTTPS or reject plaintext HTTP URLs.If an operator follows the provided example, requests containing the complete API credential may traverse the network without transport encryption. An attacker with an appropriate network position could inspect the request, recover the header, or modify API traffic.
Attack Path
- A user configures
DP_SERVER_URLusing the documented plaintext HTTP example. - The agent sends a DP API request with the required
X-DP-API-Keyheader. - An attacker capable of observing the relevant network path captures the unencrypted request.
- The attacker extracts the API key from the header.
- The attacker uses the stolen credential against the DP API, subject to the permissions and quota assigned to that key.
Impact Assessment
Successful exploitation could disclose the complete DP API key and allow unauthorized API operations within the compromised key's authorization scope. Depending on server-side permissions, this could include viewing, submitting, starting, or monitoring data-processing jobs. The finding does not establish that the key grants administrative or host-level privileges.
- A user configures
- Remediation
View remediation
Remediation Suggestions
- Replace the plaintext example with an
https://URL. - Validate
DP_SERVER_URLbefore making requests and reject thehttpscheme. - Permit plaintext transport only through an explicit, narrowly scoped development override that never accepts production credentials.
- Require valid TLS certificate and hostname verification.
- Ensure command output and diagnostic logs redact the
X-DP-API-Keyheader. - Rotate any API key that may previously have been transmitted over plaintext HTTP.
- Document the expected trust model, certificate requirements, and credential-rotation process.
- Replace the plaintext example with an
