T09 · Insecure Skill Coding Practices
- Location
scripts/run_ppt_task.mjs:179- Finding
Unrestricted API Base Override Can Expose API Credentials and User Prompts
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is broadly aligned with generating slides through Felo, but it has review-worthy risks around redirectable API traffic and an unpinned installer command.
Before installing, prefer a pinned or manually reviewed source instead of the unpinned `npx` command. Use a dedicated, revocable Felo API key, do not set `FELO_API_BASE` unless you fully trust the destination, and assume any prompt used to generate slides will be sent to Felo's API.
scripts/run_ppt_task.mjs:179Unrestricted API Base Override Can Expose API Credentials and User Prompts
README.md:18Unpinned npm Package Is Downloaded and Executed During Installation
The README instructs users to run npx skills add Felo-Inc/felo-skills --skill felo-slides without pinning a specific package/version. Because npx resolves and executes remote package code at install time, a compromised package, typo-squatted dependency, or unexpected upstream update could cause arbitrary code execution on the user's machine during installation.
The skill instructs use of environment variables and outbound network access to a third-party API, but it does not declare any explicit tool scope such as allowed tools or permissions. This creates an authorization and transparency gap: an agent may invoke capabilities broader than the user or platform expects, increasing the chance of unintended secret access or network actions.
The description says to use the skill whenever users ask to create, make, generate, or export presentations, which is broad enough to trigger on many ordinary requests that may not require this external API workflow. Over-broad invocation can cause unnecessary external data disclosure, unintended API usage, and accidental execution of side effects when the user only wanted advice or local formatting help.
The trigger section includes ambiguous categories like Chinese prompts about making slides and generic English words such as slides, PPT, and presentation deck. These underspecified triggers increase the chance the skill is selected for loosely related conversations, leading to unintended network calls and transmission of user content to the external provider.
The document is primarily written in English, but lines L16 and L22 switch to Chinese for key installation headings. This can create a language/locale policy issue because the skill documentation imposes mixed-language instructions without explicit user opt-in or a documented locale scope.
Detected: suspicious.env_credential_access