Back to skill

Security audit

---

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a career-advice playbook, but it unconditionally tells the agent to read a local USER.md profile before any task, which can expose more personal context than some requests need.

Review what USER.md contains before installing or invoking this skill. It is best used when you are comfortable sharing career profile details with the active agent; avoid using it for generic questions unless you want that local context included.

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

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:11
Finding
Unrestricted Access to Host-Side User Context## Vulnerability Details **File Location**: `SKILL.md`, line 11 **Vulnerability Type**: Unauthorized access to host-side user context **Risk Level**: Medium **Complete Code Snippet**: ```markdown **First:** Read `USER.md` for context — current role, industry, experience level, career goals. ``` ### Technical Analysis The Skill unconditionally instructs the agent to read `USER.md` before handling a request. This file is not part of the audited package, so the instruction targets a host-side resource that may contain persistent profile data, personal preferences, or other information unrelated to career guidance. The instruction does not: - Request the user's explicit consent before accessing the file. - Restrict access to specific career-related fields. - Require redaction or minimization of unrelated personal information. - Limit use of the retrieved data to the current task. - Prevent sensitive content from appearing in generated résumés, cover letters, outreach messages, or other responses. This violates the principle of least privilege because many supported operations—such as explaining an interview question or providing a generic negotiation framework—do not require access to the user's entire persistent context. No instruction to transmit the contents to an external service was identified. Therefore, the finding is overbroad local resource access and potential disclosure through generated output, not confirmed external data exfiltration. ### Attack Path 1. A user installs or activates the Skill. 2. The Skill's mandatory first instruction causes the agent to access the host-side `USER.md`. 3. The entire file, including potentially unrelated personal information, enters the active model context. 4. The user requests a career artifact such as a résumé, cover letter, company brief, or outreach message. 5. Information obtained from `USER.md` influences the generated artifact or is inadvertently reproduced ...[truncated 866 chars]
Remediation
## Remediation Suggestions 1. Remove the unconditional instruction to read `USER.md`. 2. Ask the user directly for the minimum career information required for the requested operation. 3. If persistent context can improve the result, obtain explicit consent before accessing it and explain which fields are needed. 4. Use a narrowly scoped career profile rather than reading a general-purpose user context file. 5. Apply field-level data minimization, limiting access to items such as current role, experience level, target role, industry, and career goals. 6. Instruct the agent not to use or reproduce unrelated personal, financial, health, authentication, or contact information. 7. Require user review before incorporating context-derived personal information into materials intended for external distribution. 8. Ensure host-level permissions deny Skills access to persistent user files by default unless the user grants task-specific authorization.
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 (3)

Vague Triggers

Medium
Confidence
93% confidence
Finding
The quick-start phrases are very generic imperatives such as 'Audit my career', 'Research [Company]', and 'Help me negotiate this offer'. Broad trigger wording can activate unintentionally during normal conversation, causing the skill to engage when the user did not explicitly mean to invoke it, which can lead to confusing behavior or unwanted processing of sensitive career or compensation details.

Vague Triggers

Medium
Confidence
90% confidence
Finding
The Natural Language Commands section defines many plain-English phrases without clear boundaries for when they should be interpreted as commands versus normal conversation. This ambiguous activation scope can lead to accidental invocation, incorrect tool/skill routing, and unexpected processing of sensitive job-search or compensation context when the user did not intend to engage the full skill.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The command phrase near line 763 is a broad, natural-language trigger that could be activated by ordinary user speech rather than an explicitly scoped invocation. That can cause unintended execution of the skill in contexts where the user is merely discussing offers or asking a general question, increasing the chance of prompt-routing mistakes or unwanted access to user-provided career data.

Static analysis

No suspicious patterns detected.