Back to skill

Security audit

PowerSkills

Security checks for vulnerabilities and agentic risk

Overview

This skill is a legitimate-looking Windows automation toolkit, but it gives an agent broad control over email, browser sessions, desktop input, and shell commands without enough scoping or safety guidance.

Install only if you intentionally want an agent to operate Outlook, a browser, the desktop, and PowerShell on your Windows account. Prefer installing only the specific sub-skill you need, verify any missing PowerShell scripts from a trusted release before running them, avoid persistent execution-policy changes, use a separate disposable Edge profile for CDP, and require explicit approval before sending email, submitting forms, typing keystrokes, launching apps, or running shell commands.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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 (2)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:14
Finding
PowerShell Execution Policy Is Weakened Beyond the Required Scope<![CDATA[ ## Vulnerability Details **File Locations**: - `SKILL.md:14-18` - `README.md:58-70` **Vulnerability Type**: Broad and persistent weakening of PowerShell execution-policy protections **Risk Level**: Medium ### Vulnerable Code `SKILL.md:14-18` ```markdown ## Setup ```powershell Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned ``` ``` `README.md:58-70` ```markdown ### Execution Policy If scripts are blocked (`UnauthorizedAccess` error), set the execution policy: ```powershell Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned ``` Or run one-off with bypass: ```powershell powershell -ExecutionPolicy Bypass -File .\powerskills.ps1 list ``` ``` ### Technical Analysis The setup documentation instructs users to change the execution policy for their entire Windows account to `RemoteSigned`. This is a persistent, user-wide configuration change that applies to unrelated PowerShell scripts after the skill has finished. The documented alternative starts PowerShell with `ExecutionPolicy Bypass`, disabling execution-policy checks for that process. This is especially concerning because the artifact does not contain the referenced `powerskills.ps1` file or any advertised implementation scripts. Consequently, the executable content users are instructed to run cannot be reviewed or verified from the supplied package. PowerShell execution policy is not a complete security boundary, but weakening it broadly removes a defense-in-depth control and makes execution of substituted, downloaded, or tampered scripts easier. ### Attack Path 1. A user follows the documented setup and applies `RemoteSigned` at `CurrentUser` scope, or launches PowerShell with `ExecutionPolicy Bypass`. 2. The user obtains the absent `powerskills.ps1` script from another source or executes a substituted file with the expected name. 3. The script runs under the reduced execution-policy restrictions with the user's existing permissions. 4. A malicious ...[truncated 942 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Do not recommend a persistent, account-wide execution-policy change as routine setup. 2. Remove the `ExecutionPolicy Bypass` example. 3. Include every referenced PowerShell script in the audited package so users can verify exactly what will execute. 4. Digitally sign release scripts with a trusted code-signing certificate. 5. Publish cryptographic checksums for release artifacts and document how users should verify them. 6. If an override is genuinely unavoidable, use the narrowest possible process-scoped configuration and explain its security implications. 7. Restore any temporary policy setting immediately after execution. 8. Advise users to obtain scripts only from an authenticated release channel and never run a same-named script from an unverified working directory. ]]>

T09 · Insecure Skill Coding Practices

Warning
Location
skills/browser/SKILL.md:15
Finding
Edge Remote Debugging Is Enabled Without Session Isolation or Endpoint Hardening<![CDATA[ ## Vulnerability Details **File Locations**: - `skills/browser/SKILL.md:15-21` - `README.md:84-89` **Vulnerability Type**: Insecure exposure of a privileged browser-control interface **Risk Level**: Medium ### Vulnerable Code `skills/browser/SKILL.md:15-21` ```markdown ## Requirements - Microsoft Edge running with remote debugging: ```powershell Start-Process "msedge" -ArgumentList "--remote-debugging-port=9222" ``` - Default port configurable in `config.json` (`edge_debug_port`) ``` `README.md:84-89` ```markdown ### Edge CDP Setup ```powershell # Start Edge with debugging enabled Start-Process "msedge" -ArgumentList "--remote-debugging-port=9222" ``` ``` The documented browser capabilities in `skills/browser/SKILL.md:29-42` include: ```markdown | Action | Params | Description | |--------|--------|-------------| | `tabs` | | List open browser tabs | | `navigate` | `--url URL` | Navigate to URL | | `screenshot` | `--out-file path.png [--target-id id]` | Capture page as PNG | | `content` | `[--target-id id]` | Get page text content | | `html` | `[--target-id id]` | Get full page HTML | | `evaluate` | `--expression "js"` | Execute JavaScript expression | | `click` | `--selector "#btn"` | Click element by CSS selector | | `type` | `--selector "#input" --text "hello"` | Type into element | | `new-tab` | `--url URL` | Open new tab | | `close-tab` | `--target-id id` | Close tab by ID | | `scroll` | `--scroll-target top\|bottom\|selector` | Scroll page | | `fill` | `--fields-json '[{"selector":"#a","value":"b"}]'` | Fill multiple form fields | | `wait` | `--seconds N` | Wait N seconds (default: 3) | ``` ### Technical Analysis Chrome DevTools Protocol is a privileged browser-control interface. A client that can connect to the debugging endpoint may enumerate exposed tabs, extract page content and HTML, execute JavaScript, navigate pages, capture screenshots, and interact with forms. The setup uses the predictable default port `9222` but does n ...[truncated 1900 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Launch the automation browser with a dedicated temporary profile using `--user-data-dir` rather than a personal browser profile. 2. Ensure the debugging endpoint is bound only to the loopback interface and document that it must never be exposed to an untrusted network. 3. Use a dynamically selected or non-default port and communicate it directly to the trusted automation process. 4. Do not sign in to personal, enterprise, banking, or other sensitive accounts in the debugging profile. 5. Start a separate browser instance solely for the automation task. 6. Terminate the debugging browser and remove its temporary profile immediately after use. 7. Add a prominent warning that any process able to reach the CDP endpoint can obtain extensive control over exposed pages. 8. Where technically possible, verify endpoint ownership and restrict access using operating-system controls or an authenticated local broker. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (14)

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The README advertises powerful capabilities including Outlook access, browser automation, screenshots, keystrokes, and shell execution, but it does not prominently warn users that these functions can access sensitive data and materially affect the host system. In an AI-agent skill context, this omission is risky because operators may install or expose the skill to agents without understanding that it enables surveillance, credential capture, command execution, and data exfiltration workflows.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The README instructs users to start Edge with a remote debugging port but does not explain that DevTools remote debugging can expose tabs, cookies, page contents, and browser control to any process that can reach that port. In this skill's context, that increases risk because the browser automation feature is specifically intended for agent use, so enabling CDP without warnings or binding restrictions may unintentionally grant broad access to sensitive browsing sessions.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The skill advertises powerful capabilities including shell execution, Outlook access, browser automation, screenshots, window management, and keystrokes, but the top-level documentation does not warn that these actions can access sensitive data or change system state. In an agent context, this lack of explicit safety framing increases the chance that users or orchestrators enable the skill without understanding its privacy and execution risks.

Skill Enumeration

Medium
Category
Agent Snooping
Content
| Skill | Description |
|-------|-------------|
| [outlook](skills/outlook/SKILL.md) | Email & calendar via Outlook COM |
| [browser](skills/browser/SKILL.md) | Edge automation via CDP |
| [desktop](skills/desktop/SKILL.md) | Screenshots, window management, keystrokes |
| [system](skills/system/SKILL.md) | Shell commands, processes, system info |
Confidence
80% confidence
Finding
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Skill Enumeration

Medium
Category
Agent Snooping
Content
| Skill | Description |
|-------|-------------|
| [outlook](skills/outlook/SKILL.md) | Email & calendar via Outlook COM |
| [browser](skills/browser/SKILL.md) | Edge automation via CDP |
| [desktop](skills/desktop/SKILL.md) | Screenshots, window management, keystrokes |
| [system](skills/system/SKILL.md) | Shell commands, processes, system info |
Confidence
80% confidence
Finding
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Skill Enumeration

Medium
Category
Agent Snooping
Content
|-------|-------------|
| [outlook](skills/outlook/SKILL.md) | Email & calendar via Outlook COM |
| [browser](skills/browser/SKILL.md) | Edge automation via CDP |
| [desktop](skills/desktop/SKILL.md) | Screenshots, window management, keystrokes |
| [system](skills/system/SKILL.md) | Shell commands, processes, system info |
Confidence
80% confidence
Finding
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Skill Enumeration

Medium
Category
Agent Snooping
Content
| [outlook](skills/outlook/SKILL.md) | Email & calendar via Outlook COM |
| [browser](skills/browser/SKILL.md) | Edge automation via CDP |
| [desktop](skills/desktop/SKILL.md) | Screenshots, window management, keystrokes |
| [system](skills/system/SKILL.md) | Shell commands, processes, system info |
Confidence
80% confidence
Finding
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill explicitly advertises JavaScript execution, form filling, clicking, and typing in an already-authenticated Edge session, but the description provides no safety warning that these actions can operate with the user's existing cookies, tokens, and account state. In an agent context, that omission increases the chance of unsafe automation such as account changes, unintended purchases, data extraction, or submission of sensitive information to untrusted sites.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The skill supports launching arbitrary applications yet omits a warning that starting programs can execute code with side effects such as network access, file modification, installer execution, or privilege prompts. While app launch is expected in this tool's context, lack of disclosure can cause unsafe agent behavior or surprise users about execution risk.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The skill supports launching arbitrary applications yet omits a warning that starting programs can execute code with side effects such as network access, file modification, installer execution, or privilege prompts. While app launch is expected in this tool's context, lack of disclosure can cause unsafe agent behavior or surprise users about execution risk.

Vague Triggers

Medium
Confidence
94% confidence
Finding
The description uses broad activation language such as 'use when needing to check work email, read/send Outlook messages, search mail, or view calendar,' which overlaps with many routine user requests. In an agentic system, this can cause the skill to be invoked in situations where the user did not explicitly intend email or calendar access, increasing the chance of unnecessary access to sensitive mailbox data or accidental outbound actions.

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The skill documents send and reply capabilities, including drafting and direct sending, without warning that these actions modify external communications on the user's behalf. In an autonomous or semi-autonomous agent context, this raises the risk of accidental email transmission, unintended replies, disclosure of sensitive information, and impersonation through the user's Outlook identity.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The skill explicitly exposes arbitrary PowerShell command execution and environment-variable access, but the description does not warn that these capabilities can execute destructive system actions or reveal sensitive data such as secrets in environment variables. In an agent-facing skill, this omission is security-relevant because it lowers operator awareness and increases the chance of unsafe invocation, prompt-driven abuse, or accidental data exposure.

Missing User Warnings

Low
Confidence
89% confidence
Finding
The skill supports launching arbitrary applications yet omits a warning that starting programs can execute code with side effects such as network access, file modification, installer execution, or privilege prompts. While app launch is expected in this tool's context, lack of disclosure can cause unsafe agent behavior or surprise users about execution risk.

Static analysis

No suspicious patterns detected.