T09 · Insecure Skill Coding Practices
- Location
scripts/weight_tracker.py:7- Finding
Health Data Stored in Plaintext Without Enforced Access Restrictions
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a narrow Chinese weight-tracking skill that stores health measurements locally, with privacy caveats but no hidden execution, exfiltration, or destructive behavior found.
Install only if you are comfortable storing weight, height, target, and dated weight records as plaintext JSON on the local account. Prefer a trusted personal device and avoid shared accounts; consider tightening file permissions or deleting the data file when no longer needed.
scripts/weight_tracker.py:7Health Data Stored in Plaintext Without Enforced Access Restrictions
The skill documents file read/write behavior via a local JSON store but does not declare any explicit tool scope or permissions. This creates a transparency and least-privilege problem: an agent or reviewer cannot easily verify what filesystem access is intended, increasing the risk of overbroad file operations or unexpected access beyond the weight data file.
The skill name, examples, and command phrases are entirely in Chinese, and the usage section only demonstrates Chinese-language inputs such as "记录体重" and "算BMI". There is no indication that this is an opt-in locale-specific skill or that users can choose another language, which may violate language/locale policy requirements.
Broad trigger phrases such as everyday natural-language inputs can cause accidental activation or misrouting, especially in shared assistant contexts. Because this skill performs file writes to persistent local storage, unintended invocation could silently create or modify personal health records.
The skill persists health-related data such as weight, height, targets, and dated records to a predictable local file under the user's home directory without any disclosure, consent flow, or protection checks. Health data is sensitive personal information, and storing it silently increases privacy risk if the host is shared, backed up, or otherwise accessed by other local processes or users.
The skill is presented as a local-only weight tracker with '数据完全本地存储,隐私无忧' at L61, implying a narrowly scoped, privacy-focused tool. However, the same manifest advertises an external website and diagnostic page at L65-L66, which expands the skill's apparent scope beyond weight tracking and weakens the claimed local-only framing.
User-facing strings, examples, and command triggers are entirely in Chinese, and the skill name also indicates a Chinese locale. The file does not state that the skill is region-specific or provide any opt-in or alternative language handling, which can violate language/locale policy expectations.
No suspicious patterns detected.