T09 · Insecure Skill Coding Practices
- Location
bimwing_client.py:55- Finding
Plaintext Credential Storage with Incomplete Packaging Protection
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill’s BIMWing upload behavior is mostly disclosed and purpose-aligned, but it persists account passwords in plaintext while claiming a missing gitignore safeguard.
Install only if you are comfortable sending selected model files to BIMWing and creating share links there. Prefer environment variables over saved credentials, avoid shared machines, and verify or add a .gitignore for config.local.json before using persistent login storage.
bimwing_client.py:55Plaintext Credential Storage with Incomplete Packaging Protection
Referenced artifact was not completely inspected
- 分享时只发 `SKILL.md` + `bimwing_client.py` + `bimwing_browser.py` + 空的 `config.json` + `.gitignore`。
The skill describes capabilities to read environment variables, read and write local files, make network requests, and invoke local scripts, but it does not declare an explicit tool scope such as permissions or allowed-tools. This creates an authorization gap: an agent or reviewer cannot enforce least privilege up front, increasing the chance of unintended access to sensitive local files, credentials, or account data during execution.
The script automatically logs into a third-party website using supplied credentials and uploads a local file to that remote service, but the code itself provides no runtime confirmation, warning, or consent step before transmitting sensitive data. In this skill’s context, remote upload is the intended functionality, so this is not inherently malicious; however, it still creates a real security/privacy risk because users may invoke it without fully appreciating that credentials and potentially sensitive BIM/CAD files are being sent off-host.
No suspicious patterns detected.