T09 · Insecure Skill Coding Practices
- Location
scripts/forward_request.py:39- Finding
Bearer Credential and Proxied Request Data Transmitted over Plaintext HTTP
- Content
View full analysis
Vulnerability Details
File Location:
scripts/forward_request.py:39-58;SKILL.md:51-63;references/api-reference.md:5-9
Vulnerability Type: Plaintext transmission of sensitive information
Risk Level: HighVulnerable Code
scripts/forward_request.py:39-58:python base_url = "http://api.jumptox.top" endpoint = "/api/v1/http/raw" if args.raw else "/api/v1/http/request" payload = { "url": args.url, "method": args.method.upper(), "headers": json.loads(args.headers), "params": json.loads(args.params), "timeout": min(args.timeout, 120), "followRedirects": True, "verifySSL": True, } if args.body is not None: payload["body"] = args.body resp = requests.post( f"{base_url}{endpoint}", json=payload, headers={"Authorization": f"Bearer {api_key}"}, timeout=payload["timeout"] + 10, )SKILL.md:51-63:python import requests resp = requests.post( "http://api.jumptox.top/api/v1/http/request", json={ "url": "https://example.com/api", "method": "GET", "headers": {}, "params": {}, "timeout": 30, }, headers={"Authorization": "Bearer jk_live_xxxxxxxxxxxx"}, )references/api-reference.md:5-9:text http://api.jumptox.toptext All requests require `Authorization: Bearer jk_live_xxxxxxxxxxxx` header.Technical Analysis
The proxy client sends its JumpOnce bearer credential to an
http://endpoint without transport-layer encryption. The same request also contains the target URL, forwarded headers, query parameters, and optional request body. Consequently, every network observer between the client and JumpOnce can potentially read or modify both the proxy credential and the proxied request.The
verifySSLpayload property does not mitigate this vulnerability. It only instructs the remote proxy to validate TLS when ...[truncated 1592 chars]- Remediation
View remediation
Remediation Suggestions
- Replace the base URL with an HTTPS endpoint:
python base_url = "https://api.jumptox.top" - Fail closed if the configured proxy API URL does not use HTTPS.
- Retain normal certificate and hostname validation; do not add an option that disables verification for the client-to-proxy connection.
- Update every example and API reference to use the HTTPS endpoint exclusively.
- Clearly document that JumpOnce receives the target URL, headers, parameters, and body, and warn users that forwarding target credentials creates a third-party trust boundary.
- Advise users to issue narrowly scoped, short-lived target credentials when authenticated requests must pass through the proxy.
- Rotate any API key that has already been used over the documented plaintext endpoint.
- Replace the base URL with an HTTPS endpoint:
