T09 · Insecure Skill Coding Practices
- Location
scripts/webuntis.py:62- Finding
WebUntis Credentials Can Be Transmitted over Plaintext HTTP
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill appears to provide read-only WebUntis timetable access, but it has credential-handling weaknesses users should review before installing.
Install only if you are comfortable giving the skill a dedicated WebUntis account, preferably read-only with a unique password. Configure only HTTPS WebUntis URLs, avoid the --pass option, and provide credentials through protected environment variables or a secret manager.
scripts/webuntis.py:62WebUntis Credentials Can Be Transmitted over Plaintext HTTP
scripts/webuntis.py:224Password Can Be Exposed through a Command-Line Argument
The skill requires access to environment variables and the network, but it does not declare an explicit tool scope such as allowed-tools or permissions. That creates a least-privilege gap: the runtime may grant broader capabilities than necessary, making credential exposure or unintended outbound access harder to constrain and audit.
Tool defaults are unsafe or overly permissive (e.g. disabled TLS verification, no authentication, world-writable permissions). Unsafe defaults widen the attack surface.
self.timeout = timeout
self.session = requests.Session()
self._rpc_id = 1
self.last_auth = None
self._cache = {}
@property