T09 · Insecure Skill Coding Practices
- Location
SKILL.md:14- Finding
API Credential Exposed Through Command-Line Arguments
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill appears intended for image generation, but it under-discloses where prompts and API keys are sent and exposes the API key through command-line arguments.
Review this skill carefully before installing. Use only non-sensitive prompts, prefer a limited or disposable API key, and be aware that the key and prompt are sent to api.heybossai.com even though the setup note references skillboss.co. The documented command can expose the API key through shell history, process listings, logs, or monitoring tools; rotate the key if it may have been captured.
SKILL.md:14API Credential Exposed Through Command-Line Arguments
scripts/generate.mjs:14Credential and User Prompt Sent in Request Body to an Undisclosed Separately Branded Domain
This script performs outbound network access to a third-party API but the capability is not covered by declared permissions. In an agent/skill environment, undeclared network behavior is dangerous because it can exfiltrate user-supplied data and secrets without the platform or user having transparent permission visibility.
The skill instructs the user to pass an API key on the command line and to download a returned URL, but it does not warn about credential exposure or external network transfer. Command-line secrets can leak via shell history or process inspection, and blindly fetching a URL from script output can cause unintended data transfer to untrusted destinations.
The script sends user input and a provided API key to an external service at api.heybossai.com. This is expected for an image-generation integration, but it is still a real security/privacy concern because sensitive prompts or credentials are transmitted off-platform to a third party.
process.exit(1);
}
const resp = await fetch("https://api.heybossai.com/v1/run", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ api_key: apiKey, model: "mm/img", inputs: { prompt: args[1] } }),
The script sends user input and a provided API key to an external service at api.heybossai.com. This is expected for an image-generation integration, but it is still a real security/privacy concern because sensitive prompts or credentials are transmitted off-platform to a third party.
process.exit(1);
}
const resp = await fetch("https://api.heybossai.com/v1/run", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ api_key: apiKey, model: "mm/img", inputs: { prompt: args[1] } }),