T09 · Insecure Skill Coding Practices
- Location
SKILL.md:23- Finding
Incomplete Health Validation Produces False Healthy Status Reports
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a mostly read-only PA status helper with clear operational caveats, not hidden or destructive behavior.
Install only where the PA directory and WhatsApp reachability checks are authorized. Treat generated reports as advisory until the script validates last_seen and calendar_connected, and require explicit confirmation before sending pings or distributing status reports.
SKILL.md:23Incomplete Health Validation Produces False Healthy Status Reports
The trigger phrase "what's the status?" is broad enough to match ordinary conversation and may cause the skill to run unintentionally. In an agent environment, ambiguous triggers can lead to unnecessary access to operational data and accidental report generation when the user did not intend to invoke this specific skill.
The skill documents health checks for last_seen, calendar_connected, and status, but the script only partially enforces them and treats some unhealthy states as healthy. This creates a false sense of monitoring coverage, allowing stale or disconnected PAs to be reported as online and delaying incident detection.
The skill is described as a read-only dashboard over a local JSON file, but it also instructs operators to send outbound WhatsApp messages to PAs. This expands the skill from passive monitoring into external interaction, creating a risk of unintended messaging, data disclosure, and action beyond the user's expected trust boundary.
The WhatsApp ping workflow directs the operator or agent to contact external parties without warning about external transmission, consent, or data handling. Even a simple ping confirms operational relationships and can leak metadata about internal monitoring activity to third parties or trigger unintended communication.
The 'When to Run' section states that on billing error the skill should send a partial report for the affected PA. The included script has no filtering or targeted-report capability; it always iterates over every PA in pa-directory.json and prints a network-wide report.