T09 · Insecure Skill Coding Practices
- Location
index.js:7- Finding
Configurable API Base URL Can Exfiltrate Credentials and Operational Data
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill appears intended to control robots, but it gives broad natural-language commands high-impact physical authority without adequate scoping or safety controls.
Review before installing. Use only with authorized robot/IoT accounts in a controlled environment, restrict API key permissions, keep NWO_API_URL pinned to the intended HTTPS service, and do not use it for unattended or production physical operations unless confirmation, command scoping, and safety interlocks are added.
index.js:7Configurable API Base URL Can Exfiltrate Credentials and Operational Data
index.js:13Declared Command Allowlist Is Not Enforced and Unknown Instructions Are Executed as General Tasks
index.js:99Substring-Based Intent Routing Can Trigger Unintended Physical and Safety Operations
index.js:73Untrusted API Response Content Is Returned Without Output Validation
The skill documentation includes safety-critical commands such as 'Stop all robots', movement, patrol mode, and manipulation tasks without any visible warnings, prerequisites, or operator confirmation guidance. In the context of robot and IoT control, missing warnings increases the chance of accidental invocation, unsafe operation near people/equipment, and misuse by operators who may not understand the physical consequences.
The README explicitly advertises 'Any natural language instruction' as a supported general task, which implies extremely broad activation and weak scope constraints. In a robotics skill, this is dangerous because ambiguous or unrelated user phrasing could trigger physical-world actions or cause the agent to over-delegate unsafe commands to the backend.
The handler routes unmatched or loosely matched user input into autonomous execution paths without an explicit warning, review step, or confirmation. Because this skill controls robots, free-form remote task planning can translate ambiguous or malicious prompts into unsafe physical actions, making the context substantially more dangerous than a typical software-only agent.
This skill enables control of robots and IoT devices, including examples like movement and emergency stop, but the manifest provides no user-facing warning that commands may trigger real-world, safety-critical physical actions. Without explicit warnings and operator safeguards, users or upstream agents may invoke dangerous actions in inappropriate contexts, potentially causing injury, equipment damage, or operational disruption.
The skill explicitly enables natural-language control of robots and IoT systems in the physical world, but the description does not prominently warn that user prompts can trigger movement, task execution, or emergency-stop behavior with real-world safety consequences. In a robotics context, omission of this warning increases the chance of accidental or uninformed activation of hazardous actions by users or downstream agents.
The example commands include safety-critical or potentially disruptive actions such as "Stop all robots," "Pick up the red box," and "Patrol mode on" without any caution about operational impact, authorization, or environment safety checks. Providing these as normal examples can normalize dangerous use and lead users or agents to invoke physical actions without understanding risks to people, equipment, or facilities.
The emergency-stop examples normalize issuing safety-critical commands without any warning, authorization note, or operational context. In a robotics skill, this can encourage users or downstream agents to trigger halts in live environments, potentially causing safety incidents, workflow disruption, or unsafe robot states depending on the machinery and process.
The movement-command examples show direct robot navigation instructions without warnings about collision risk, workspace clearance, human presence, or need for validation before execution. In a skill that controls physical robots, this omission can make unsafe movement requests appear routine and low-risk, increasing the chance of accidental equipment damage or harm in real-world settings.
The skill advertises 'secure robot control' but accepts natural-language input and passes it to broad remote execution endpoints such as plan_and_execute and execute_task. In a robotics context, this mismatch is dangerous because users may assume constrained behavior while the implementation permits open-ended actions that can affect physical systems.
The code defines an ALLOWED_COMMANDS allowlist but never enforces it. As a result, any unrecognized input falls through to handleGeneralTask(), which forwards arbitrary user instructions to a remote plan_and_execute endpoint, enabling broad robot task execution despite the stated validation controls.
The function immediately performs a remote emergency_stop call affecting all robots. While the return message confirms the action afterward, there is no pre-execution warning or confirmation prompt informing the user that this command will remotely halt all robots.
The manifest advertises broad natural-language control of robots and IoT devices without narrowing allowed actions, environments, or approval boundaries. In a safety-relevant domain, this can cause overbroad invocation and execution of hazardous commands from ambiguous prompts, increasing the chance of unintended physical actions.
Detected: suspicious.env_credential_access