Currently supported versions:
| Version | Supported |
|---|---|
| 0.1.x | Yes |
pyghidra-lite includes several security features:
- By default, requires explicit path allowlist via
--allow-path --allow-any-pathdisables restrictions (use with caution)- Environment variable:
PYGHIDRA_LITE_ALLOW_ANY_PATH
- Each binary gets isolated Ghidra project
- Per-binary locking prevents concurrent corruption
- Content-addressed storage prevents path traversal
- Ghidra runs in sandboxed JVM
- Analysis doesn't execute binary code
- Decompilation timeouts prevent resource exhaustion
When running pyghidra-lite as an MCP server:
- Path Restrictions: Always use
--allow-pathin production - Untrusted Binaries: Ghidra analyzes but doesn't execute binaries
- Resource Limits: Set appropriate timeouts for decompilation
- Network Isolation: stdio transport (default) has no network exposure
- Malformed Binaries: Ghidra may crash on heavily malformed files
- Memory Usage: Large binaries (>500MB) require significant RAM
- Lock Files: Project locks survive crashes (manual cleanup needed)
Please do not report security vulnerabilities through public GitHub issues.
Instead, please report them via:
-
GitHub Security Advisories (preferred): https://github.com/johnzfitch/pyghidra-lite/security/advisories/new
-
Email: zack@internetuniverse.org
Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
- Initial response: Within 48 hours
- Status update: Within 7 days
- Fix timeline: Depends on severity
- Critical: Within 7 days
- High: Within 30 days
- Medium: Within 90 days
- Low: Next release
- Coordinated disclosure preferred
- Public disclosure after fix is released
- Credit given to reporter (unless anonymous requested)
- Keep Updated: Use latest version
- Limit Access: Use path allowlists
- Isolate Environment: Run in containers if processing untrusted binaries
- Monitor Resources: Set process limits for long-running instances
- Input Validation: Always validate binary paths
- Timeout Handling: Set appropriate timeouts
- Error Handling: Don't expose internal paths in errors
- Dependencies: Keep PyGhidra and dependencies updated
Security of dependencies:
- PyGhidra: Official Ghidra Python bindings
- Ghidra: NSA-developed reverse engineering tool
- MCP SDK: Anthropic/OpenAI maintained protocol
Report dependency vulnerabilities to their respective projects.
Security updates will be:
- Announced in GitHub releases
- Documented in CHANGELOG.md
- Tagged with
[security]prefix
Subscribe to releases for notifications: https://github.com/johnzfitch/pyghidra-lite/releases