T09 · Insecure Skill Coding Practices
- Location
scripts/jf_open_pro_ptz_control.py:108- Finding
Unrestricted API Endpoint Override Can Expose Authentication and Device Data
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill appears to be a real JF camera-control tool, but it can send sensitive camera/API credentials to any endpoint named in an environment variable.
Install only if you trust the publisher and can control the runtime environment. Set JF_ENDPOINT only to the official JF API host you intend to use, avoid running this in environments where other software can alter JF_* variables, and review the physical/device-state impact of preset, tour, mask, and PTZ commands before use.
scripts/jf_open_pro_ptz_control.py:108Unrestricted API Endpoint Override Can Expose Authentication and Device Data
The skill explicitly requires environment variables and remote API access, but it does not declare an explicit tool scope such as allowed-tools or permissions. This creates a governance gap: an agent runtime may grant broader-than-necessary access or fail to enforce least privilege, increasing the risk of unintended network use or credential exposure through overly permissive execution context.
The skill description and all operational documentation are presented exclusively in Chinese, which effectively imposes a specific language on users. The stated 'language: python' metadata at L051 refers to implementation language, not user-facing locale choice, and there is no indication that users may choose another language or that the restriction is region-specific.
This code file contains user-facing documentation and CLI output entirely in Chinese, beginning in the module docstring and continuing throughout the script. Under the policy rule, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is explicitly documented and justified, which is not present here.