T09 · Insecure Skill Coding Practices
- Location
src/habit-tracker.js:15- Finding
Prototype Pollution Through an Unvalidated Date Key
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a local habit-tracking skill with disclosed local storage and no evidence of hidden network access, exfiltration, or destructive behavior, though it has a real coding bug and overstates some features.
Install only if you are comfortable with habit data being stored locally in a JSON file. Avoid exposing this library directly to untrusted inputs until the date-key validation bug is fixed, and do not rely on advertised reminder or trend-analysis features unless separately implemented.
src/habit-tracker.js:15Prototype Pollution Through an Unvalidated Date Key
The core purpose mostly aligns: the code tracks habits, computes streaks, provides a weekly report, and supports a daily check-in summary. However, the description also claims reminders and agent conversation/accountability behavior, which are not present in the supplied code. Additionally, the code reads and writes a local JSON data file via fs, which is an undeclared resource access under the provided permissions list. This is a meaningful description/behavior mismatch, though not a completely different primary purpose.
Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.
**USE AT YOUR OWN RISK.**
- The author(s) are NOT liable for any damages, losses, or consequences arising from
the use or misuse of this software — including but not limited to financial loss,
data loss, security breaches, business interruption, or any indirect/consequential damages.
- This software does NOT constitute financial, legal, trading, or professional advice.
- Users are solely responsible for evaluating whether this software is suitable for
Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.
**USE AT YOUR OWN RISK.**
- The author(s) are NOT liable for any damages, losses, or consequences arising from
the use or misuse of this software — including but not limited to financial loss,
data loss, security breaches, business interruption, or any indirect/consequential damages.
- This software does NOT constitute financial, legal, trading, or professional advice.
- Users are solely responsible for evaluating whether this software is suitable for
The skill writes habit data to a local JSON file via fs.writeFileSync, but the code provides no confirmation prompt, logging, print statement, or explanatory comment/docstring disclosing that persistent local storage occurs. For a code file, this is a safety-relevant file write that lacks visible user disclosure in the file.
No suspicious patterns detected.