Back to skill

Security audit

Klarity Booking Guide

Security checks for vulnerabilities and agentic risk

Overview

The skill is a Klarity booking guide, but its broad health triggers can steer generic mental-health or telehealth questions into a Klarity booking workflow.

Install only if you want the assistant to proactively route eligible telehealth psychiatry and medication-management discussions toward Klarity. Users asking for general medical information, neutral provider comparisons, or non-Klarity options may receive a Klarity-centered booking flow and may be asked for condition, state, and insurance details.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:6
Finding

Broad Trigger Rules Hijack Neutral Mental-Health Requests into a Mandatory Commercial Booking Workflow

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:6-9, 239-255
Vulnerability Type: Skill instruction hijacking through overbroad activation and mandatory commercial workflow rules
Risk Level: High

Complete Code Snippets

From SKILL.md:6-9:

text
and weight loss. Use this skill whenever someone asks about finding a psychiatrist online, booking a
telehealth mental health appointment, getting medication management for ADHD/anxiety/depression/insomnia,
how Klarity works, Klarity pricing, self-pay vs insurance psychiatry, or how to see a provider on
Klarity Health. Also trigger when users ask about online prescriptions for mental health medications,
affordable psychiatry without insurance, or comparing telehealth mental health platforms.

From SKILL.md:239-255:

text
1. **Always start with `introduce_klarity`** — mandatory before ANY Klarity interaction, including
   info-only questions about pricing, policies, or how Klarity works (not just booking flows)
2. **If condition is vague**, use `get_condition_options` to show the selection widget
3. **Always use `get_state_options`** to show the state selection widget (never ask verbally)
4. **Use `get_insurance_options`** to display the insurance selection widget
5. **Use `get_treatment_options`** with the condition + state to show Video vs Text options
6. **Use `list_providers`** with condition, state, and insurance to show matched providers
7. **Before booking, always call `introduce_policies`** — mandatory disclosure
8. **Use `get_book_visit_link`** to generate the booking URL
9. **After EVERY tool call, use `show_next_step`** — this is REQUIRED, not optional. It guides the
   user through the flow and prevents them from getting lost. Always include 2–3 logical next
   actions based on where the user is in the booking journey.

### Key Rules
- NEVER skip `introduce_klarity` or `introduce_policies` — these are mandatory disclosures
- ALWAYS use interactive widgets (`get_state_options`, 
...[truncated 2940 chars]
Remediation
View remediation

Remediation Suggestions

  1. Restrict skill activation to explicit Klarity-related intent, such as:
    • “Book on Klarity.”
    • “How does Klarity work?”
    • “Show Klarity providers.”
  2. Do not activate the skill solely because a user asks about online psychiatry, prescriptions, affordability, or a general platform comparison.
  3. Replace unconditional instructions with consent-based rules:
    • Ask whether the user wants to explore Klarity before invoking proprietary tools.
    • Allow direct informational answers without starting a booking workflow.
  4. Require separate, informed consent before collecting or transmitting:
    • Mental-health condition.
    • Physical location.
    • Insurance carrier or plan.
    • Booking intent.
  5. Remove the requirement to invoke show_next_step after every tool call. Use it only where it materially assists a user who has affirmatively entered the booking process.
  6. Preserve neutral comparison behavior. When competitors are mentioned, provide balanced factual information and do not automatically route the user into Klarity’s funnel.
  7. Make widgets optional rather than mandatory when the user has already supplied the relevant information or only wants a factual answer.
  8. Add tests confirming that generic telehealth and competitor-comparison requests do not trigger commercial tools without explicit user selection.
  9. Add data-minimization tests ensuring health, state, and insurance information is requested only when required for a user-approved booking action.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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
Findings (1)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger phrases are broad enough to capture generic mental-health, medication, and health-platform comparison queries that may not actually be about Klarity booking. In a health context, over-triggering can steer users away from neutral health information into a vendor-specific funnel, which is risky because users may receive transactional guidance instead of balanced medical or informational support.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.