T09 · Insecure Skill Coding Practices
- Location
skills/smyx_common/scripts/config-dev.yaml:1- Finding
Private Media and Authentication Credentials Transmitted over Plaintext HTTP by Default
- Content
View full analysis
Vulnerability Details
File Location:
skills/smyx_common/scripts/config.yaml:15,skills/smyx_common/scripts/config-dev.yaml:1-4,skills/smyx_common/scripts/util.py:610-612,646,skills/smyx_analysis/scripts/skill.py:113-132
Vulnerability Type: Plaintext transmission of sensitive data
Risk Level: HighVulnerable Code
skills/smyx_common/scripts/config.yaml:15:yaml env: devskills/smyx_common/scripts/config-dev.yaml:1-4:yaml ApiEnum: base-url-open-api: "http://192.168.1.234:9601/smyx-open-api" base-url-open-h5: "http://192.168.1.234:4100" base-url-health: "http://192.168.1.234:7070/jeecg-boot-xzgz"skills/smyx_common/scripts/util.py:610-612,646:python headers.setdefault("X-Access-Token", ApiEnum.TOKEN) headers.setdefault("X-Api-Key", ApiEnum.API_SECRET_KEY) headers.setdefault("Authorization", ApiEnum.OPEN_TOKEN) response = requests.request(method, url, *args, json=data, params=params, headers=headers, timeout=int(timeout), **argss)skills/smyx_analysis/scripts/skill.py:113-132:python if (input_path.startswith("http://") or input_path.startswith("https://")): params.update({ "videoUrl": input_path }) else: _validate_file(input_path) # Automatically detect MIME type mime_type, _ = mimetypes.guess_type(input_path) if mime_type is None: mime_type = 'application/octet-stream' # Read file contents with open(input_path, 'rb') as f: file_content = f.read() files = { 'file': (os.path.basename(input_path), file_content, mime_type) }Technical Analysis
The bundled primary configuration explicitly selects the development profile. That profile replaces the HTTPS production endpoints with plaintext HTTP endpoints on
192.168.1.234.The request utility attaches access tokens, API credentials, authorizat ...[truncated 1844 chars]
- Remediation
View remediation
Remediation Suggestions
- Change the release configuration to use a production profile with HTTPS endpoints by default.
- Remove
env: devfrom distributed artifacts and require an explicit development-only override. - Reject non-HTTPS service endpoints unless a narrowly scoped local test mode is explicitly enabled.
- Do not permit plaintext HTTP merely because an address belongs to a private network.
- Retain TLS certificate verification and do not expose configuration options that silently disable it.
- Add startup validation that fails closed if authentication-bearing traffic would use HTTP.
- Rotate access and authorization tokens that may already have been transmitted over plaintext connections.
- Document media upload and retention practices and obtain explicit user consent before transmitting child recordings.
