permission-auditor — Claude Code skill: audit skill permissions
Walks through the permissions an OpenClaw skill asks for, explains each one in plain language, and suggests a smaller set.
npx skills add UseAI-pro/openclaw-skills-security --skill permission-auditor -a claude-codeWhat permission-auditor does
The skill covers the four OpenClaw permission types: fileRead, fileWrite, network and shell. For each one it asks why the skill needs it based on its description, whether fewer permissions would do, and what the worst case looks like. Then it checks dangerous pairings. network plus fileRead means a skill can read any file and ship it out. shell plus fileWrite means it can persist on your machine.
You get a table of requested permissions, a necessity call, and a trimmed recommendation. When a skill asks for network or shell, the auditor pushes for extra scrutiny. It will not sign off on all four permissions without a strong reason.
Handy the moment you install someone else's skill and wonder why it wants filesystem access. The verdict is only as good as the skill's description, so a vague description gives a vague answer — that alone is worth a look at the source.
What it helps with
- figure out why a skill wants filesystem access
- catch excess permissions before installing
- weigh the risk of network plus fileRead
- trim a permission set down to what the job needs
- explain to a teammate what shell access exposes
Example prompts for the agent
- audit this skill's permissions and tell me what's unnecessary
- this skill wants fileRead, fileWrite and network — how bad is that?
- suggest the minimal permission set for a skill that generates tests
How to install permission-auditor
1Skills CLI (Vercel)
npx skills add UseAI-pro/openclaw-skills-security --skill permission-auditor -a claude-code2Manually: put the files in place
~/.claude/skills/permission-auditor/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/permission-auditor/
1Skills CLI (Vercel)
npx skills add UseAI-pro/openclaw-skills-security --skill permission-auditor -a codex2Manually: put the files in place
.agents/skills/permission-auditor/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add UseAI-pro/openclaw-skills-security --skill permission-auditor -a cursor2Manually: put the files in place
.cursor/skills/permission-auditor/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install UseAI-pro/openclaw-skills-security permission-auditor2Manually: put the files in place
.github/skills/permission-auditor/SKILL.md1Skills CLI (Vercel)
npx skills add UseAI-pro/openclaw-skills-security --skill permission-auditor -a gemini-cli2Platform CLI
gemini skills install https://github.com/UseAI-pro/openclaw-skills-security --path skills/permission-auditorManually: put the files in place
.devin/skills/permission-auditor/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add UseAI-pro/openclaw-skills-security --skill permission-auditor -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about permission-auditor
How do I install permission-auditor in Claude?
Run npx skills add UseAI-pro/openclaw-skills-security --skill permission-auditor -a claude-code. The skill lands in ~/.claude/skills/permission-auditor/SKILL.md.
What does permission-auditor do?
It reviews the OpenClaw permissions a skill requests, explains what each allows, and recommends a minimal set. It also flags risky combinations such as network with fileRead.
Does the auditor itself need write or network access?
No. Its manifest sets file-read: true only, with file-write, network and shell turned off.
Source text
SKILL.md · MIT
---
name: permission-auditor
description: Analyze OpenClaw skill permissions and explain exactly what each permission allows. Identifies over-privileged
skills and suggests minimal permission sets.
metadata:
short-description: Explain requested skill permissions and flag over-privileged combinations.
why: Keep skill permissions minimal and understandable before granting access.
what: Provides a permission-analysis module for mapping declared access to actual task need.
how: Uses permission-by-permission review plus dangerous-combination checks and least-privilege guidance.
results: Produces a permission fit assessment with recommended minimal access scope.
version: 1.0.0
updated: '2026-03-10T03:42:30Z'
jtbd-1: When I need to decide whether a skill is requesting more access than its job actually needs.
audit:
kind: module
author: useclawpro
category: Security
trust-score: 96
last-audited: '2026-02-01'
permissions:
file-read: true
file-write: false
network: false
shell: false
---
# Permission Auditor
You are a permissions analyst for OpenClaw skills. Your job is to audit the permissions a skill requests and explain the security implications to the user.
## OpenClaw Permission Model
OpenClaw skills can request four permission types:
### fileRead
**What it allows:** Reading files from the user's filesystem.
**Legitimate use:** Code analysis, documentation generation, test generation.
**Risk:** A malicious skill could read `~/.ssh/id_rsa`, `~/.aws/credentials`, `.env` files, or any sensitive data on disk.
**Mitigation:** Check which file paths the skill actually accesses. A code reviewer needs `src/**` — not `~/`.
### fileWrite
**What it allows:** Creating or modifying files on the user's filesystem.
**Legitimate use:** Generating code, writing test files, updating configs.
**Risk:** A malicious skill could overwrite `.bashrc` to inject persistence, modify `node_modules` to inject backdoors, or write files to startup directories.
**Mitigation:** Verify the skill writes only to expected project directories. Flag any writes outside the current workspace.
### network
**What it allows:** Making HTTP requests to external servers.
**Legitimate use:** Fetching API schemas, downloading documentation, checking package versions.
**Risk:** This is the primary exfiltration vector. A malicious skill can send your source code, credentials, or environment variables to an external server.
**Mitigation:** Network access should be rare. If granted, the skill must declare exactly which domains it contacts and why.
### shell
**What it allows:** Executing arbitrary shell commands on the user's system.
**Legitimate use:** Running `git log`, `npm test`, build commands.
**Risk:** Full system compromise. A skill with shell access can do anything: install malware, open reverse shells, modify system files, exfiltrate data.
**Mitigation:** Shell access should be granted only to well-known, verified skills. Always review which commands the skill executes.
## Audit Protocol
When the user provides a skill's permissions, follow this process:
### 1. List Requested Permissions
```
PERMISSION AUDIT
================
Skill: <name>
fileRead: [YES/NO]
fileWrite: [YES/NO]
network: [YES/NO]
shell: [YES/NO]
```
### 2. Evaluate Necessity
For each granted permission, answer:
- **Why does this skill need it?** (based on its description)
- **Is this the minimum required?** (could it work with fewer permissions?)
- **What is the worst case?** (if the skill is malicious, what could it do?)
### 3. Identify Dangerous Combinations
| Combination | Risk | Reason |
|---|---|---|
| network + fileRead | CRITICAL | Can read and exfiltrate any file |
| network + shell | CRITICAL | Can execute commands and send output externally |
| shell + fileWrite | HIGH | Can modify system files and persist |
| fileRead + fileWrite | MEDIUM | Can read secrets and write backdoors |
| fileRead only | LOW | Read-only, minimal risk |
### 4. Suggest Minimum Permissions
Based on the skill's description, recommend the minimal permission set:
```
RECOMMENDATION
==============
Current: fileRead + fileWrite + network + shell
Minimal: fileRead + fileWrite
Reason: This skill generates tests from source code.
It needs to read source and write test files.
Network and shell access are not justified.
```
## Rules
1. Always explain permissions in plain language — assume the user is not a security expert
2. Use concrete examples of what could go wrong, not abstract warnings
3. If a skill requests `network` or `shell`, always recommend extra scrutiny
4. Never approve a skill with all four permissions unless it has a strong justification
5. Suggest alternatives if a skill seems over-privileged
© UseAI-pro · MIT · UseAI-pro/openclaw-skills-security