Skip to content
Back to skills

Policy Guide

FSecurity

Guide to ClawdStrike security policies and guard configuration

  • 290 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 5, 2026
securityrustgoshelltestinggitapici/cdsecurity

Works with

  • cli
  • api
  • mcp

Security analysis

F10/100
  • criticalAccesses sensitive system or user directories
  • criticalAccesses sensitive system or user directories
  • highPerforms destructive filesystem operations
  • criticalReads or references SSH private keys

Pro shows the line behind each finding and how to fix it

Scanned June 5, 2026

npx -y skills add backbay-labs/clawdstrike --skill policy-guide --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Policy Guide?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Policy Guide
[![Security: F — Skills Directory](https://www.skillsdirectory.com/api/skills/backbay-labs-policy-guide/badge)](https://www.skillsdirectory.com/skills/backbay-labs-policy-guide)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
description: "Guide to ClawdStrike security policies and guard configuration"
---

# Policy Guide

<trigger>
This skill activates when the user or conversation involves:
- Questions about what actions are allowed or blocked
- Policy configuration, guard behavior, or security rules
- Choosing or comparing security rulesets
- Understanding why an action was denied
- Customizing guard settings or thresholds
- Denial errors such as "action denied", "blocked by guard", or "policy violation"
- Questions like "why was X blocked", "why can't I access Y", or "how do I allow Z"
</trigger>

## The 12 Built-in Guards

| Guard | Action Type | Purpose | Default Status |
|-------|-------------|---------|----------------|
| **ForbiddenPathGuard** | file | Blocks access to sensitive filesystem paths (e.g., /etc/shadow, ~/.ssh/id_rsa) | permissive: ON, default: ON, strict: ON |
| **PathAllowlistGuard** | file | Only allows file access to explicitly permitted paths | permissive: OFF, default: OFF, strict: ON |
| **EgressAllowlistGuard** | egress | Controls outbound network access by domain allowlist | permissive: OFF, default: ON, strict: ON |
| **SecretLeakGuard** | file | Detects secrets, API keys, and credentials in file writes | permissive: ON, default: ON, strict: ON |
| **PatchIntegrityGuard** | file | Validates that patches/diffs don't introduce unsafe changes | permissive: OFF, default: ON, strict: ON |
| **ShellCommandGuard** | shell | Blocks dangerous shell commands (rm -rf, sudo, etc.) | permissive: OFF, default: ON, strict: ON |
| **McpToolGuard** | mcp_tool | Restricts which MCP tools can be invoked | permissive: OFF, default: OFF, strict: ON |
| **PromptInjectionGuard** | prompt | Detects prompt injection attempts in inputs | permissive: OFF, default: ON, strict: ON |
| **JailbreakGuard** | prompt | 4-layer jailbreak detection (heuristic + statistical + ML + LLM-judge) | permissive: OFF, default: OFF, strict: ON |
| **ComputerUseGuard** | computer_use | Controls Computer Use Agent actions for remote desktop | permissive: OFF, default: OFF, strict: ON |
| **RemoteDesktopSideChannelGuard** | remote_desktop | Side-channel controls (clipboard, audio, drive mapping, file transfer) | permissive: OFF, default: OFF, strict: ON |
| **InputInjectionCapabilityGuard** | computer_use | Restricts input injection capabilities in CUA environments | permissive: OFF, default: OFF, strict: ON |

## Available Rulesets

Use `clawdstrike_policy_show` to inspect any ruleset.

| Ruleset | Use Case |
|---------|----------|
| `permissive` | Development/testing -- minimal restrictions |
| `default` | General purpose -- balanced security |
| `strict` | High-security environments -- maximum restrictions |
| `ai-agent` | AI coding agents -- tuned for agent workflows |
| `cicd` | CI/CD pipelines -- restricted to build/deploy operations |
| `ai-agent-posture` | Agent posture assessment -- monitoring without blocking |
| `remote-desktop` | Remote desktop sessions -- balanced CUA controls |
| `remote-desktop-permissive` | Permissive CUA -- fewer restrictions for trusted environments |
| `remote-desktop-strict` | Strict CUA -- maximum restrictions for untrusted environments |

## How to Check Policies

### Show active policy
Call `clawdstrike_policy_show` with no arguments to see the currently loaded policy, or pass a ruleset name to inspect a specific one.

### Evaluate a hypothetical action
Call `clawdstrike_policy_eval` with an action_type and target to see which guards would fire and what the verdict would be, without actually executing the action.

## Policy Inheritance

Policies support inheritance via the `extends` field:
- Built-in rulesets can be referenced by name (e.g., `extends: strict`)
- Local files can be referenced by path
- Remote URLs and git refs are supported
- Child policies override parent settings; guards merge by name

## Design Philosophy: Fail-Closed

ClawdStrike follows a fail-closed design:
- **Invalid policies** are rejected at load time (not silently ignored)
- **Errors during guard evaluation** result in deny (not allow)
- **Unknown action types** are denied by default
- **Missing configuration** causes startup failure, not permissive fallback

This means if something goes wrong, the system errs on the side of security rather than availability.

## What To Do When Too Strict

If the active policy is blocking legitimate actions, follow these steps to relax it safely:

1. **Identify the blocking guard**: Call `clawdstrike_policy_eval` with the denied action to see exactly which guard is blocking it.
2. **Check if the action is expected**: Verify the action is genuinely needed and not a misconfigured command or wrong path.
3. **Try a less restrictive ruleset**: If on `strict`, try `default` or `ai-agent`. Use `clawdstrike_policy_show` to compare what changes.
4. **Create a custom override**: Extend the current ruleset and override only the specific guard:
   ```yaml
   version: "1.5.0"
   extends: strict
   guards:
     ForbiddenPathGuard:
       additional_allowed_paths:
         - "/path/that/was/blocked"
   ```
5. **Add path-specific exceptions**: For file guards, add paths to allowlists rather than disabling the guard entirely.
6. **Disable a single guard as last resort**: Set `enabled: false` for a specific guard only if the above options do not work. Never disable SecretLeakGuard in production.
7. **Re-verify**: After changes, run `clawdstrike_policy_eval` again to confirm the action is now allowed without opening unintended gaps.

## Response Guidelines

When this skill is active:
- Use `clawdstrike_policy_show` and `clawdstrike_policy_eval` to give concrete answers
- Explain guard behavior in terms of what the user is trying to do
- Recommend the most appropriate ruleset for the user's use case
- When an action is denied, explain which guard blocked it and why

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…