fsociety is a free, open source threat detection & response project written in Python and released under MIT. It has 1,850 GitHub stars, 214 forks and 24 open issues, and was last pushed 36 hours ago. On this registry it ranks #45 of 62 tracked projects in Threat Detection & Response, with 5 head-to-head comparisons available.

What is fsociety?

fsociety is a modular penetration testing framework written in Python, distributed under the MIT licence, and intended for security practitioners who want one command-line entry point for discovering and running the tools they need.

What it is

fsociety is an open-source penetration testing framework packaged for the Python ecosystem and published on PyPI as fsociety. It presents itself as a single fsociety command with a small argument surface: -h/--help, -i/--info to print framework information, and -s/--suggest to suggest a tool. The project also ships an official container image at fsocietyteam/fsociety on Docker Hub, so the same command can run inside a container without a local Python environment.

The concrete problem it addresses is tool discovery. A tester facing a task normally has to recall which utility applies, find where it lives, and confirm it is installed; fsociety's --suggest flag turns that into a single query against its own package inventory. Its package list is maintained in PACKAGES.md and its release history in CHANGELOG.md, both linked from the README, so the suggestion set is a curated part of the repository rather than an opaque recommendation. This replaces the manual, ad-hoc hunt through personal notes and package indexes that precedes most engagement work, not any specific commercial product.

Key capabilities

  • Modular penetration testing framework driven by the fsociety CLI, with -i/--info and -s/--suggest as its documented operations.
  • --suggest returns a tool recommendation, making the framework usable as a discovery index rather than only a runner.
  • Installable from PyPI with pip install fsociety and upgradable in place with pip install --upgrade fsociety.
  • Official Docker image fsocietyteam/fsociety, invoked as docker run -it fsocietyteam/fsociety fsociety.
  • Curated tool inventory tracked in PACKAGES.md, with changes recorded in CHANGELOG.md.
  • Documented developer setup via git clone followed by pip install -e ".[dev]".
  • Repository topics place it explicitly in penetration-testing, osint, cli, docker, and python3 territory, and it targets Python 3.7 and above.

Who uses it and how

  • Penetration testers who need to select a tool mid-engagement and prefer a prompt over a browser search.
  • OSINT practitioners, an audience the repository's topic list names directly alongside penetration testing.
  • Teams that standardise on containers, running the framework from the published fsocietyteam/fsociety image instead of managing Python packages on each workstation.
  • Contributors and maintainers, who work from an editable install with pip install -e ".[dev]"; the README carries a pull-request invitation badge.
  • Operators maintaining an internal tool inventory, who can track the framework's own list through PACKAGES.md and CHANGELOG.md.

Getting started

Install from PyPI with pip install fsociety, or pull and run the container with docker pull fsocietyteam/fsociety followed by docker run -it fsocietyteam/fsociety fsociety. The same CLI is available immediately after either route.

How it compares

The facts provided name no competing penetration testing frameworks, no paid products it displaces, and no alternative tools in the same registry. On the evidence available, fsociety stands alone here, and any comparison against commercial or sibling frameworks would have to come from outside this directory entry.

When to use it — and when not to

A self-hoster needs only Python 3.7 or newer, or a working Docker runtime; no database, object storage, or mail service is mentioned, so operational overhead is low. The README is thin: it documents three command-line flags, an install path, a Docker path, and a developer setup, and leaves the substance of the tool catalogue to PACKAGES.md and CHANGELOG.md. Anyone expecting guided exploitation workflows, an engagement record, or reporting output should look elsewhere, and the library of 24 open issues is worth reviewing before adopting it as a primary workflow tool.

project readme (upstream, from github) — read inline

fsociety-team/fsociety

fsociety

PyPI Python Version PyPI - Downloads Docker Image Size (tag) PRs Welcome Open in Visual Studio Code Twitter Follow

A Modular Penetration Testing Framework

Packages Changelog

fsociety cli

Install

pip install fsociety

Update

pip install --upgrade fsociety

Usage

usage: fsociety [-h] [-i] [-s]

A Penetration Testing Framework

optional arguments:
  -h, --help     show this help message and exit
  -i, --info     gets fsociety info
  -s, --suggest  suggest a tool

Docker

docker pull fsocietyteam/fsociety
docker run -it fsocietyteam/fsociety fsociety

Developing

git clone https://github.com/fsociety-team/fsociety.git
pip install -e ".[dev]"

License

This software is licensed under the MIT License.

Fuck It Ship It

Frequently asked questions

Is fsociety free to use?

fsociety is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does fsociety do?

A Modular Penetration Testing Framework

What is fsociety written in?

fsociety is primarily written in Python. Its source is publicly available at https://github.com/fsociety-team/fsociety, and it has 1,850 GitHub stars.