The Social-Engineer Toolkit is an open-source penetration testing framework for authorized social-engineering assessments. SET provides guided attack vectors for security teams that need to test user awareness, validate controls, and run consent-based red-team exercises.
SET is a TrustedSec project written by David Kennedy (ReL1K) / @HackingDave.
SET is only for authorized testing where explicit permission and scope have been established. Do not use SET against systems, accounts, networks, or people without consent. Review the license in readme/LICENSE before using or distributing SET.
- Linux
- macOS, experimental
- Windows through WSL/WSL2 Kali or another supported Linux environment
SET 8.1.3 targets Python 3.11 through Python 3.13.
sudo apt update
sudo apt install set -ygit clone https://github.com/trustedsec/social-engineer-toolkit/ setoolkit/
cd setoolkit
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .For the legacy system-wide layout, run the installer with elevated privileges:
sudo python3 setup.pyThe legacy installer copies SET to /usr/local/share/setoolkit, writes /etc/setoolkit/set.config, and creates /usr/local/bin/setoolkit.
Launch the interactive console:
sudo setoolkitFrom a source checkout, you can also run:
sudo ./setoolkitThe full user manual is available at readme/User_Manual.pdf.
python -m pip install -e .
python -m pip install pytest
python -m compileall -q .
pytest -qPlease report vulnerabilities through the process in SECURITY.md. Do not open public issues for exploitable vulnerabilities.
For non-sensitive bug reports or enhancement requests, open an issue at https://github.com/trustedsec/social-engineer-toolkit/issues with SET version, platform, Python version, and reproduction steps.