Dangerous exec
- Finding
- Shell command execution detected (child_process).
Security checks across static analysis, malware telemetry, and agentic risk
The skill mostly matches its image-generation purpose, but its Google proxy path builds a shell curl command with API keys and configurable values, creating command-injection and credential-exposure risk.
Install only if you trust the project directory and provider configuration. Check `.baoyu-skills/.env` and EXTEND.md before use, avoid custom base URLs/proxy settings unless intentional, prefer a pinned/trusted Bun installation, and remember that prompts/reference images and API usage go to the selected external provider.
65/65 vendors flagged this skill as clean.
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
A crafted proxy/base-url/model value could cause unintended shell commands to run when Google image generation is used, especially in a project that can influence local environment settings.
When a proxy environment variable is present, the provider switches from fetch to a shell command and interpolates proxy, URL, and API-key values without shell escaping.
const proxyArgs = proxy ? `-x "${proxy}"` : ""; ... const result = execSync(`curl ... ${proxyArgs} "${url}" ... -H "x-goog-api-key: ${apiKey}" -d @-`, ...);Avoid using this skill with untrusted project configuration. The publisher should replace shell-string `execSync` with `fetch` or `spawn/execFile` using an argument array and strict validation/escaping.
The Google API key may be exposed to local process inspection or affected by shell-command parsing if proxy mode is triggered.
The Google API key is embedded directly in the curl command line when proxy mode is used, rather than only being held inside an HTTP client request.
`curl ... -H "x-goog-api-key: ${apiKey}" -d @-`Do not use proxy mode with sensitive keys unless the implementation is fixed. Prefer direct provider calls, pass secrets outside command-line arguments, and rotate any key you believe was exposed.
A project-local config file can influence provider base URLs or proxy settings and may redirect prompts, images, or API credentials to an unintended endpoint.
The runtime automatically imports all key/value pairs from a project-local `.baoyu-skills/.env` file into the process environment, not just a narrow allowlist of image-provider settings.
const cwdEnv = await loadEnvFile(path.join(cwd, ".baoyu-skills", ".env")); ... for (const [k, v] of Object.entries(cwdEnv)) { if (!process.env[k]) process.env[k] = v; }Use this only in trusted project directories. The publisher should allowlist supported env keys and require explicit confirmation before honoring custom base URLs or proxy settings from project files.
If Bun is not already installed or cached, running the example may fetch and execute an external package version selected at run time.
The documented execution path relies on `npx -y bun` without a pinned version or install spec, so the runtime/package provenance is not fully fixed by the skill artifacts.
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "A cat" --image cat.pngInstall Bun from a trusted source or pin the runtime/package version before using the skill with provider credentials.
Prompts and selected reference images may leave the local machine and be processed by the chosen provider, potentially incurring cost or exposing private content.
The skill explicitly supports sending user-selected reference images and prompts to external image-generation providers.
`--ref <files...>` | Reference images. Supported by Google multimodal ... and OpenAI edits ...
Only use non-sensitive prompts/images with providers and base URLs you trust, and review provider data-retention terms.