T09 · Insecure Skill Coding Practices
- Location
SKILL.md:118- Finding
API Credential Exposed Through Background Poller Process Arguments
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent telephony integration, but it asks the agent to run an unbounded background poller, handle sensitive calls and texts, and make permanent billable purchases without enough user control.
Install only if you are comfortable giving the agent access to AgentLine calls, transcripts, inbound SMS, billing details, and number provisioning. Before use, require explicit confirmation for every outbound call and number purchase, avoid running the provided background poller, and keep AGENTLINE_API_KEY out of command-line arguments or logs.
SKILL.md:118API Credential Exposed Through Background Poller Process Arguments
SKILL.md:27Billable and Permanent Number Provisioning Without Explicit Purchase Confirmation
The description does not prominently warn that the skill can read inbound SMS contents and full call transcripts, both of which are highly sensitive communications data. Without an upfront privacy disclosure, users may invoke the skill for benign telephony tasks without realizing it can surface private message and call content.
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
- **List voices:** `GET /v1/voices`
- **Set account default:** `PATCH /v1/account/voice` with `{"voice_id": "female-1"}`
- **Check current:** `GET /v1/account/voice`
- **Reset to default:** `DELETE /v1/account/voice`
---
The invocation description is broad enough to match common user requests about calls, texts, agents, and billing without sharply limiting when the skill should activate. In context, this matters because the skill can place calls, access message history, provision paid phone numbers, and expose transcripts, so over-broad triggering can lead to unnecessary access to sensitive data or costly actions.
The skill directs the agent to write and launch a persistent background polling process on the host, which extends behavior from API use into local code execution and process persistence. That is dangerous because it can create unauthorized long-running activity, increase attack surface on the local system, and normalize terminal use unrelated to the minimum telephony actions needed to satisfy user requests.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -X POST $AGENTLINE_URL/v1/calls \
-H "Authorization: Bearer $AGENTLINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"agent_id": "$AGENTLINE_AGENT_ID", "to_number": "+1XXXXXXXXXX", "system_prompt": "...", "initial_greeting": "...", "voice_id": "female-1"}'
Embedding Bash and PowerShell polling scripts in the skill materially encourages local script execution on multiple operating systems. Even though the scripts target the vendor API, including executable OS-specific code inside a skill broadens the skill from API orchestration into host automation, which can be abused or adapted to perform unintended actions.
No suspicious patterns detected.