Skip to content
Back to skills

Tool Guard

ASecurity

Drive PWN::AI::Agent::ToolGuard from pwn_eval.

  • 86 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 10, 2026
securityrubyshellbash

Security analysis

A100/100

Scanned September 22, 2026

npx -y skills add 0dayInc/pwn --skill tool_guard --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tool Guard?

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

Security grade badge for Tool Guard
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/0dayinc-tool-guard/badge)](https://www.skillsdirectory.com/skills/0dayinc-tool-guard)

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
---
name: pwn-ai-agent-toolguard
description: Drive PWN::AI::Agent::ToolGuard from pwn_eval.
license: MIT
allowed-tools: [pwn, pwn_eval]
metadata:
  bundled: true
  generated: true
  module: PWN::AI::Agent::ToolGuard
  source: pwn/ai/agent/tool_guard.rb
---

# PWN::AI::Agent::ToolGuard

Shared pre-dispatch guards for the two high-volume runtime tools (shell / pwn_eval). Rejects placeholder payloads, aliases wrong schema keys, and names the shell that will actually run the command.

## When to use

Call `PWN::AI::Agent::ToolGuard` from `pwn_eval` when the task needs this module.
Do not reimplement it in shell.

## Methodologies

Generated from `pwn/ai/agent/tool_guard.rb`. Prefer the public class methods below.
Class methods take `(opts = {})` and read `opts`.

## How to call

```ruby
PWN::AI::Agent::ToolGuard.help
PWN::AI::Agent::ToolGuard.unwrap_payload(opts)
```

## Public methods

- `unwrap_payload`
- `present`
- `placeholder`
- `placeholder_match`
- `bashism`
- `bashism_match`
- `shell_syntax_surface`
- `mint_canary`
- `canary_leak`
- `injection_score`
- `quarantine_output`
- `shell_bash`
- `shell_name`
- `protect_http`
- `protect_core_constants`
- `coerce_args`
- `invalid_payload`
- `denial`
- `host_load`
- `deadline_s`
- `reset_timeout_budget`
- `mutation_count`
- `payload_spent`
- `note_timeout`
- `next_timeout`
- `timeout_lesson`
- `timeout_result`
- `timeout_prior_count`
- `refuse_copied_persist`
- `scope_refusal`
- `policy_decision`
- `scope_check`
- `rfc1918`
- `ip_in_cidr`
- `command_class`
- `record_runtime`
- `predicted_timeout`
- `auto_job`
- `authors`
- `help`
- `auto_job?`
- `bashism?`
- `canary_leak?`
- `ip_in_cidr?`
- `note_timeout!`
- `placeholder?`
- `present?`
- `protect_core_constants!`
- `protect_http!`
- `refuse_copied_persist?`
- `reset_timeout_budget!`
- `rfc1918?`
- `scope_check!`
- `shell_bash?`

## Source

`pwn/ai/agent/tool_guard.rb`

## Verification

`PWN::AI::Agent::ToolGuard.respond_to?(:unwrap_payload)` after the
module is loaded. Read the source for parameter names.

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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.