T09 · Insecure Skill Coding Practices
- Location
bin/api-wrapper.sh:58- Finding
Authentication Token Forwarded to an Unrestricted Caller-Controlled Host
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is coherent as a TeamApp admin helper, but it handles live admin sessions in an under-scoped way that could expose credentials or enable unintended administrative changes.
Review before installing. Only use this with a low-privilege TeamApp account if possible, never pass non-TeamApp URLs to the wrapper, clear /tmp session files after use, and require explicit confirmation before publishing, notifying users, changing teams/access groups, or using archive/delete endpoints.
bin/api-wrapper.sh:58Authentication Token Forwarded to an Unrestricted Caller-Controlled Host
bin/api-wrapper.sh:11Session Secrets Stored in Predictable Shared Temporary Files
The skill documents shell execution via bin/api-wrapper.sh but declares no explicit tool restrictions such as allowed-tools or permissions. That mismatch increases the chance an agent can invoke broader shell capabilities than intended, which is risky because the skill also handles authenticated session material and performs live write operations against an admin API.
The skill provides instructions for creating/updating live news and events and for sending notifications, but it does not warn that these actions affect real users and production data. In an admin context, silent or mistaken execution can spam members, publish unintended content, or schedule misleading events, making the operational impact significant even without code execution exploits.
The manifest says the skill is for News and Schedule CRUD plus ID resolution, but the documentation also references team[access_level_ids_csv], implying modification of team settings outside the declared scope. Scope drift is dangerous because agents and reviewers may authorize the skill expecting content operations only, while the documented fields enable broader administrative changes affecting access control or visibility.
The script requires the sensitive environment variable TA_AUTH_TOKEN and later sends it in HTTP Cookie headers, but the visible comments and usage text do not warn that a credential will be consumed and transmitted. For a code file, sensitive credential handling without an explicit disclosure or warning meets the missing user warning criteria.
The bootstrap request sends the authentication token to a remote service and stores session cookies, but the script's user-facing description only says it handles authentication automatically. Because it performs authenticated HTTP calls that transmit user/session data without an explicit warning or confirmation, this is a missing user warning for code files.
The documented API surface exceeds the declared skill scope by including Access Group and Team create/update operations, and notes delete capabilities for those resources. In an agent setting, this broadens what the skill may enable beyond user expectations, increasing the risk of unauthorized or unintended administrative changes if the agent relies on this reference as operational guidance.
The API map explicitly mentions archive and hard delete URLs for Access Groups without any safety notes, confirmation requirements, or warnings about destructive impact. In a skill intended for agent use, omission of such guardrails makes accidental or overly broad destructive actions more likely, especially when combined with admin-level endpoints.