Back to skill

Security audit

Personal Health Journal

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent local health-journal skill that stores sensitive medical notes on the user’s machine, so it is acceptable but should be used with privacy care.

Install only if you are comfortable keeping health notes as local Markdown files. Use a private, access-restricted folder, avoid syncing or committing the records, and consider changing the directory naming scheme so symptoms are not visible in folder names.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:17
Finding

Plaintext Storage of Sensitive Health Records in a Predictable Filesystem Location

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:17-26; references/symptom-template.md:14-17, 27-30, 39-43
Vulnerability Type: Plaintext sensitive-data storage with insufficient access-control requirements
Risk Level: Medium

Vulnerable Code Snippets

SKILL.md:17-26:

markdown
## Record directory rules
- Default health-record root directory: `C:\health`
- Daily directory name: `YYYY-MM-DD_symptom-summary`
- Recommended daily files:
  - `record.md`: Original and appended records for the day
  - `daily-summary.md`: Structured summary for the day

## Execution workflow
1. Read records from the previous 7–14 days and, when necessary, review 30 days, prioritizing changes in trends.
2. Extract a concise symptom summary from the current complaint for the directory name.
3. Create the current day's directory and write or append to `record.md`.

references/symptom-template.md:14-17, 27-30, 39-43:

markdown
## 3) Vital signs and measurements
- Temperature:
- Heart rate:
- Blood pressure:
- Blood oxygen:

## 5) Treatment and medication
- Medication / dosage / time:
- Non-medication treatment:
- Effect:

## 8) Healthcare information, if applicable
- Healthcare institution:
- Tests:
- Result summary:
- Medical advice:

The snippets above are faithful English renderings of the corresponding source text.

Technical Analysis

The Skill directs the agent to persist sensitive medical information in ordinary Markdown files under the fixed and predictable C:\health directory. The stored data can include symptoms, vital signs, medication details, test results, healthcare institutions, and medical advice.

No requirement is provided for per-user access controls, encryption at rest, explicit consent before persistence, retention limits, secure deletion, or exclusion from indexing and backups. In addition, incorporating a symptom summary into the directory name expose ...[truncated 1827 chars]

Remediation
View remediation

Remediation Suggestions

  1. Store records in an authenticated, per-user application-data directory rather than a fixed root-level directory.
  2. Create the storage directory with restrictive ACLs granting access only to the intended user and trusted application identity.
  3. Encrypt health records at rest using operating-system-protected keys or a vetted secret-management mechanism.
  4. Replace symptom-bearing directory names with opaque identifiers or dates so filesystem metadata does not expose medical details.
  5. Obtain explicit user consent before enabling persistent storage and clearly identify what data will be retained.
  6. Define configurable retention periods and provide reliable export and secure-deletion controls.
  7. Prevent records from being included in search indexing, telemetry, cloud synchronization, or unprotected backups unless the user explicitly opts in.
  8. Minimize collection by storing only fields necessary for the requested health-journaling function.
  9. Detect insecure permissions before writing and refuse persistence or warn the user if an appropriately protected location cannot be established.
  10. Document that locally stored records remain sensitive and should not be shared or committed to source-control repositories.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep

Static analysis

No suspicious patterns detected.