T09 · Insecure Skill Coding Practices
- Location
SKILL.md:61- Finding
API Key Disclosed by Credential Status Check
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This video-editing skill needs Review because it uploads videos and sends the Sparki API key to a hardcoded non-Sparki-looking API domain, and its key-check command can print the secret.
Before installing, verify that agent-api-test.aicoding.live is an official endpoint authorized to receive Sparki API keys and videos. Do not run the documented key-status echo command as written, avoid storing keys in plaintext shell files on shared machines, and avoid uploading sensitive or regulated videos unless you understand the provider relationship, retention, and result-link exposure.
SKILL.md:61API Key Disclosed by Credential Status Check
README.md:46Unpinned Package Execution Through npx Installation Command
YARA rule matched a known malware signature (reverse shell, backdoor, ransomware, C2 framework, or info stealer).
prise@sparki.iowith your use case. You will receive a key likesk_live_xxxx`.
2. Configure the key using ONE of these methods (in order of preference):
Method 1 — OpenClaw config (recommended, persists across restarts):
openclaw config set env.SPARKI_API_KEY "sk_live_your_key_here"
openclaw gateway restart
Method 2 — Shell profile (requires shell restart):
echo 'export SPARKI_API_KEY="sk_live_your_key_here"' >> ~/.bashrc
source ~/.bashrc # or restart the agent
Method 3 — OpenClaw .env file:
echo 'SPARKI_API_KEY="sk_live_your_key_here"' >> ~/.openclaw/.env
Important for agents: After setting the key via shell profile or .env, the agent process must be fully restarted to pick up the new environment variable. Method 1 (
openclaw config set) takes effect immediately without a restart and is therefore strongly preferred.
curl -sS "https://agent-api-test.aicoding.live/api/v1/busin
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
source ~/.bashrc # or restart the agent
**Method 3 — OpenClaw .env file:**
```bash
echo 'SPARKI_API_KEY="sk_live_your_key_here"' >> ~/.openclaw/.env
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
source ~/.bashrc # or restart the agent
**Method 3 — OpenClaw .env file:**
```bash
echo 'SPARKI_API_KEY="sk_live_your_key_here"' >> ~/.openclaw/.env
The inline documentation explicitly frames the workflow as a Sparki upload/create-project pipeline, but the implementation targets a different endpoint, creating a deceptive trust boundary for operators. Because this skill is meant to be used proactively for user-supplied video editing tasks, the mismatch materially increases risk: users may unknowingly send sensitive video data to an unrelated service and rely on a false vendor identity when handling credentials and privacy expectations.
The script requires a SPARKI_API_KEY and presents itself as a Sparki workflow, but hardcodes API requests to https://agent-api-test.aicoding.live instead of a Sparki-controlled domain. This can exfiltrate customer video content and API credentials to an unexpected third party or impersonating service, which is especially dangerous because users are instructed to supply proprietary media and secrets under the assumption they are talking to Sparki.
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
The skill invokes shell scripts and external network operations but does not declare an explicit tool scope such as allowed-tools or permissions. That increases the chance of overbroad execution in an agent environment, making it harder to constrain what the skill may run and to review its effective privileges.
The skill states that it uploads video files to AI cloud storage, but it does not present a clear, user-facing warning that local video content is sent to a third-party service for processing. Users may unknowingly transmit sensitive or regulated media off-device, creating privacy, confidentiality, and compliance risk.
The API key setup section recommends storing credentials in ~/.bashrc and ~/.openclaw/.env without clearly warning about persistence, local exposure, shell history leakage, and file-permission risks. This can lead to accidental credential disclosure, especially on shared systems or in backups.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
# ---------------------------------------------------------------------------
sleep "$RATE_LIMIT_SLEEP"
RESPONSE=$(curl -sS \
-X POST "${SPARKI_API_BASE}/business/projects" \
-H "X-API-Key: $SPARKI_API_KEY" \
-H "Content-Type: application/json" \
No suspicious patterns detected.