Back to skill

Security audit

CareMax Records

Security checks for vulnerabilities and agentic risk

Overview

This skill is meant for medical-record search, but it handles highly sensitive health data with automatic AI processing, automatic chat retention, deletion commands, and unaudited authentication scripts that need review before installation.

Install only if you trust the CareMax API and the separate caremax-auth package, have reviewed or pinned the authentication scripts, and are comfortable with medical questions and record excerpts being processed by AI/search backends and automatically stored in chat history. Require explicit confirmation before any chat deletion, especially deleting all history.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:9
Finding

Unpinned External Dependency Executes Unaudited Authentication Scripts

Content
View full analysis
**Requires `caremax-auth` as a sibling directory** (`../caremax-auth/`). If missing, tell the user to install caremax-auth first (e.g. `npx skills add KittenYang/caremax-skills`). ## Prerequisites — Auto-Auth (MANDATORY) ```bash APICALL="bash ../caremax-auth/scripts/api-call.sh" ``` If `api-call.sh` returns `{"error":"no_credentials",...}` → **immediately run `bash ../caremax-auth/scripts/auth-flow.sh [base_url]`** (from this skill’s root). ``` ### Technical Analysis The skill requires executable shell scripts from the sibling `../caremax-auth/` directory, but those scripts are not included in the audited project. Consequently, their implementation, integrity, credential handling, API destination validation, and command construction cannot be verified. If the sibling dependency is absent, the skill recommends installing it with: ```bash npx skills add KittenYang/caremax-skills ``` This command does not specify an immutable version, commit, or integrity digest. The resulting executable content may therefore differ from the content originally reviewed. The instructions then require the agent to invoke `api-call.sh` and automatically run `auth-flow.sh` when credentials are unavailable. This creates a supply-chain trust boundary in which unaudited, mutable third-party content is installed and executed locally. There is no evidence in the audited file that the dependency is currently malicious; the risk arises from the absence of version pinning, integrity verification, and local review of the scripts before execution. ### Attack Path 1. An attacker compromises the external dependency source, its distribution account, or another part of the installation path. 2. The attacker publishes modified `caremax-auth` content under the mutable source referenced by the s ...[truncated 1447 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (8)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill instructs the agent to display RAG answers and citations generated from medical records without warning that the records and user questions may be sent through keyword extraction, vector search, and LLM backends. In the healthcare context, forwarding protected or highly sensitive medical data to multiple AI/search services without explicit disclosure or consent is a serious privacy risk.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill states that all chat interactions are automatically saved to history, but provides no user-facing warning or consent mechanism for retention of sensitive health information. Because the content includes medical questions and record-derived answers, automatic persistence creates a significant privacy and compliance risk if users do not realize their health data is being stored.

Content

No source excerpt is available for this finding.

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
88% confidence
Finding

The skill exposes a deletion endpoint parameterized by chat_id without documenting any confirmation, validation, or scoping safeguards at the agent layer. In a stateful medical-chat system, an agent could be induced to delete the wrong conversation or a user could be socially engineered into destructive actions affecting sensitive history.

Content

Scanner excerpt · SKILL.md (reported line 117)May include surrounding context.

md
$APICALL GET /api/skill/chat/history

# 删除单条
$APICALL DELETE /api/skill/chat/<chat_id>

# 清空所有
$APICALL DELETE /api/skill/chat

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
95% confidence
Finding

The bulk delete endpoint clears all chat history and is especially dangerous in a medical context because it can destroy sensitive audit trails and user data with a single action. The documentation presents this powerful operation without any warning, confirmation requirement, or restriction guidance, making accidental or manipulated destructive use more likely.

Content

Scanner excerpt · SKILL.md (reported line 120)May include surrounding context.

$APICALL DELETE /api/skill/chat/<chat_id>

清空所有

$APICALL DELETE /api/skill/chat

text

## Recommended Workflow

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The trigger terms and description are broad enough to match ordinary health-related requests, causing the agent to invoke this skill in cases where the user may not be asking to access medical records. In a medical context, overbroad triggering is especially risky because it can route sensitive prompts into record search, semantic retrieval, or external AI processing without sufficiently specific user intent.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill is presented as a medical-records query/search capability, but the documentation expands into persistent chat history management and deletion operations. This increases the scope from retrieval to retention and state mutation over highly sensitive health data, which can surprise users and agents and lead to unnecessary collection or destructive actions.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

Automatically saving all medical chat interactions creates a persistent natural-language record of sensitive health concerns, symptoms, and treatment questions. Even if intended as a convenience feature, retaining this material expands the attack surface and increases the consequences of unauthorized access or secondary use.

Content

No source excerpt is available for this finding.