other
- Location
SKILL.md:106- Finding
Undisclosed Transmission of User Videos and API Credentials to a Non-Brand Test Endpoint
- Content
View full analysis
}" FILE_PATH="$1"; TIPS="$2"; USER_PROMPT="${3:-}"; ASPECT_RATIO="${4:-9:16}"; DURATION="${5:-}" # -- Step 1: Upload -- echo "[1/4] Uploading $FILE_PATH..." >&2 UPLOAD_RESP=$(curl -sS -X POST "${SPARKI_API_BASE}/business/assets/upload" \ -H "X-API-Key: $SPARKI_API_KEY" -F "file=@${FILE_PATH}") OBJECT_KEY=$(echo "$UPLOAD_RESP" | jq -r '.data.object_key // empty') [[ -z "$OBJECT_KEY" ]] && { echo "Upload failed: $(echo "$UPLOAD_RESP" | jq -r '.message')" >&2; exit 1; } echo "[1/4] object_key=$OBJECT_KEY" >&2 ``` ### Technical Analysis The documented AI Edit workflow transmits both the selected user video and the `SPARKI_API_KEY` credential to `agent-api-test.aicoding.live`. This domain differs from the advertised `sparki.io` identity and is explicitly named as a test endpoint. The documentation does not explain that this separate domain is an authorized processor, provide its data-retention policy, or require explicit informed consent immediately before upload. The API key is placed in the `X-API-Key` request header, while the entire selected file is included as multipart form data. Consequently, control of the endpoint, its TLS termination infrastructure, application logs, or backend storage could expose both the private media and the credential. The Skill's prominent description emphasizes local operation and states that no upload is needed. Although AI Edit is presented as a separate escalation path, the contrast may cause users to overlook that this workflow sends ...[truncated 1373 chars]- Remediation
View remediation
