Back to skill

Security audit

YES.md

Security checks for vulnerabilities and agentic risk

Overview

This skill is mostly engineering-process guidance, but it is broad enough to steer routine work and can force unnecessary tool use and plaintext backups of sensitive files.

Install only if you want a strict engineering-process skill that may activate very often. Before using it on real projects, narrow its trigger scope, remove fixed wording requirements, make tool use conditional on user authorization and least privilege, and avoid automatic adjacent backups of .env, secrets, keys, or deployment configs.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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 (2)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:3
Finding
Global Agent Behavior and Output Hijacking## Vulnerability Details **File Location**: `SKILL.md`, lines 3, 45-50, 76-82, and 138-145 **Vulnerability Type**: `T01: Skill Instruction Hijacking` **Risk Level**: High ### Vulnerable Code ```text description: "Use when any task involves modifying files, configs, databases, or deployments. Use when debugging hits 2+ failures. Use when about to guess or assume without evidence ('probably', 'might be', 'I think', 'should be'). Use when deflecting to user ('please check...', 'you should manually...', 'you may need to...'). Use when fixing something without verifying it works. Use when making a conclusion or root-cause claim. Use when skipping tools that are available (has WebSearch but doesn't search, has Bash but doesn't run, has Read but doesn't read). Use when spinning in circles (same approach 3+ times with parameter tweaks). Use when completing a fix without checking for related issues. Use when asking the user a question that could be self-investigated first. Use when giving suggestions instead of actionable code/commands. Applies to ALL task types: debugging, implementation, config, deployment, API integration, data processing. Do NOT trigger on first-attempt failures or when a known fix is already in progress." ``` ```markdown Banned phrases until you have evidence: `probably` | `might be` | `should be` | `I think` | `seems like` | `likely` **Rule 2: Investigate Before Asking.** You have Bash, Read, Grep, WebSearch. Use them BEFORE asking the user anything. If you must ask, attach what you already found. ``` ```markdown **Action:** Copy the file before editing. First line of your response must be: "Backing up first." ```bash cp file.yaml file.yaml.bak-{description} ``` No backup = no edit. Non-negotiable. ``` ```markdown Failure count determines your next move. Each level has a mandatory action — not optional. | Failures | Level | Mandatory Action | |:--------:|-------|-----------------| | **2** ...[truncated 2323 chars]
Remediation
## Remediation Suggestions 1. Narrow the activation description to explicit, relevant workflows instead of applying it to all task types. 2. Replace mandatory global wording with conditional recommendations that remain subordinate to system, developer, and user instructions. 3. Remove the fixed `"Backing up first."` response requirement and permit responses appropriate to the active task. 4. Do not require WebSearch, Bash, Read, or Grep merely because those tools are available. Require necessity, authorization, and least privilege before each use. 5. Permit clarifying questions where investigation would require unauthorized access, disclose sensitive information, or exceed the requested scope. 6. Add an explicit precedence rule stating that privacy restrictions, user consent, task boundaries, and higher-priority safety policies override all Skill guidance. 7. Make debugging escalation advisory and context-sensitive rather than mandatory.

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:72
Finding
Unconditional Plaintext Duplication of Potentially Sensitive Configuration Files## Vulnerability Details **File Location**: `SKILL.md`, lines 72-82 **Vulnerability Type**: `T09: Insecure Skill Coding Practices` **Risk Level**: Medium ### Vulnerable Code ```markdown ### Gate: Backup First **Trigger:** Modifying any config file, environment file, docker-compose, package.json, or any file that affects system behavior. **Action:** Copy the file before editing. First line of your response must be: "Backing up first." ```bash cp file.yaml file.yaml.bak-{description} ``` No backup = no edit. Non-negotiable. ``` ### Technical Analysis The Skill mandates copying every configuration or environment file before modification. Environment files and operational configuration frequently contain API keys, database credentials, tokens, private endpoints, or other sensitive values. The prescribed `cp` operation creates an adjacent plaintext copy without checking file sensitivity, destination permissions, source-control exclusions, artifact packaging rules, encryption, secure naming, or retention and deletion requirements. An adjacent backup can consequently outlive the task and be discovered by repository-wide commits, build systems, deployment packaging, indexing tools, broad glob patterns, or users with access to the containing directory. The command also does not explicitly preserve or enforce restrictive permissions appropriate for secret-bearing data. ### Attack Path 1. An agent is asked to modify an environment file or secret-bearing configuration. 2. The Skill's mandatory backup gate is activated. 3. The agent executes an adjacent copy operation such as `cp .env .env.bak-description`. 4. The plaintext backup remains in the project or deployment directory. 5. A later `git add`, archive operation, build process, artifact collector, backup scanner, or broad file copy includes the newly created file. 6. Parties able to access the repository, artifact, deployment package, or directory can obtain the d ...[truncated 557 chars]
Remediation
## Remediation Suggestions 1. Exclude `.env`, credential stores, private keys, tokens, and other secret-bearing files from automatic adjacent backups. 2. Prefer version-control rollback for non-secret tracked files and an approved, encrypted, access-controlled backup system for sensitive files. 3. Require explicit authorization before duplicating potentially sensitive material. 4. If a local backup is necessary, place it outside the repository and deployment context, use a securely generated unique filename, and enforce restrictive permissions such as owner-only access. 5. Preserve or strengthen the source file's security attributes and verify that the backup destination is not shared. 6. Add backup patterns to applicable ignore and artifact-exclusion rules, while recognizing that ignore rules are not a substitute for secure storage. 7. Define a verified retention and secure-deletion procedure so temporary backups do not remain after successful validation. 8. Replace the unconditional rule with a sensitivity-aware backup decision that evaluates confidentiality, rollback options, and downstream collection behavior.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (4)

Vague Triggers

High
Confidence
97% confidence
Finding
The activation description is extremely broad and applies to routine engineering tasks such as modifying files, debugging, deployments, and even wording choices. This can cause the skill to trigger across a large share of normal interactions, effectively overriding narrower task-specific skills and steering agent behavior in unintended ways.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
---
name: "yes"
description: "Use when any task involves modifying files, configs, databases, or deployments. Use when debugging hits 2+ failures. Use when about to guess or assume without evidence ('probably', 'might be', 'I think', 'should be'). Use when deflecting to user ('please check...', 'you should manually...', 'you may need to...'). Use when fixing something without verifying it works. Use when making a conclusion or root-cause claim. Use when skipping tools that are available (has WebSearch but doesn't search, has Bash but doesn't run, has Read but doesn't read). Use when spinning in circles (same approach 3+ times with parameter tweaks). Use when completing a fix without checking for related issues. Use when asking the user a question that could be self-investigated first. Use when giving suggestions instead of actionable code/commands. Applies to ALL task types: debugging, implementation, config, deployment, API integration, data processing. Do NOT trigger on first-attempt failures or when a known fix is already in progress."
---

# YES.md — AI Governance Engine
Confidence
75% confidence
Finding
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Natural-Language Policy Violations

Medium
Confidence
88% confidence
Finding
The skill prescribes banned and required phrasing patterns that constrain how the agent must speak, rather than focusing only on security-relevant behavior. This can interfere with user-preferred tone, locale, or higher-priority instruction handling, and may produce rigid responses unrelated to the actual task.

Natural-Language Policy Violations

Medium
Confidence
98% confidence
Finding
The instruction requiring the exact fixed English phrase 'Backing up first.' makes output formatting mandatory regardless of the user's language or context. Fixed-language requirements can violate locale flexibility and create conflicts with system or user instructions about response language.

Static analysis

No suspicious patterns detected.