Getting Started
Installation
Prerequisites and installation steps for Shell[SNIP].
Installation
Prerequisites
- Python >= 3.10
- NASM (Netwide Assembler) — used to compile generated ASM into shellcode
- objdump (from binutils) — used to extract raw opcodes from the compiled object
On Debian-based systems:
sudo apt install nasm binutils
Install ShellSNIP
git clone https://github.com/x42en/shellsnip.git
cd shellsnip
With Poetry (recommended)
poetry install
Poetry reads the dependency set declared in pyproject.toml: colorama (CLI colorized output) and mcp[cli] (MCP server support).
With pip
pip3 install .
setup.py also exposes a requirements.txt-driven install for compatibility with plain pip.
MCP dependency
The MCP server (server.py) additionally requires the mcp package with its cli extra, which is already declared in pyproject.toml. If you installed via pip3 install . without the extra, install it explicitly:
pip install "mcp[cli]"
Verify the install
./generate.py -h
If NASM or objdump are missing from PATH, the compile() step will fail when ShellSNIP shells out to them.