Fsociety

3.2.9

A Modular Penetration Testing Framework.

  • Verified 24 Sept 2026
  • pip 3.2.9
  • MIT
  • 1.8k stars
  • Dual-use
  • Interactive

Install and run

  1. otlite install fsociety

    Installs fsociety==3.2.9 into its own virtualenv. otlite lists what it will install and asks before it starts.

  2. otlite run fsociety -- --help

    Fsociety has no typed inputs. Everything after -- goes to fsociety unchanged, so pass its own arguments there.

No otlite yet? Install it in one line
curl -fsSL https://get.otinstaller.com/otlite | sh

Linux and macOS, no Docker. It uses your Python and pipx when both are there, and otherwise brings its own Python. About otlite · otlite docs

Before you run it

  • Dual-use. otlite prints this before installing it: You are solely responsible for how you use these tools and for complying with all applicable laws. Use them only on targets you are authorized to investigate.
  • Asks questions while it runs. Run it on its own in a terminal; otlite run --all, otlite auto and playbooks skip it.

What it takes

Fsociety has no typed inputs, though it works on domain, username, email. Pass its own arguments after --; otlite run fsociety -- --help lists them.

What a run leaves

Every run is saved under results/ where you run otlite (or --output, or OTLITE_RESULTS_DIR): what the tool printed, a sidecar with how it ran, and an envelope.

  • results/fsociety/johndoe/<time>_fsociety_johndoe_<run id>.txt
  • results/fsociety/johndoe/<time>_fsociety_johndoe_<run id>.meta.json
  • results/fsociety/johndoe/<time>_fsociety_johndoe_<run id>.envelope.json
{
  "envelope": 1,
  "tool": "fsociety@3.2.9",
  "runtime": "otlite",
  "input": { "target": "johndoe" },
  "case": null,
  "started_at": "…", "ended_at": "…", "duration_ms": …,
  "exit_code": 0,
  "status": "complete",
  "entities": [{ "type": "url", "value": "…" }, …],
  "warnings": [],
  "output": { "path": "results/fsociety/johndoe/<time>_fsociety_johndoe_<run id>.txt", "sha256": "…", "bytes": … }
}
The envelope's shape, the same for every tool; values elided. Its entities are the emails, domains, IP addresses and URLs found in the output, or the tool's own when it prints them.
otlite results --tool fsociety
otlite extract fsociety
otlite diff fsociety johndoe

List the saved runs, pull out every indicator, or compare the two latest runs against the same target.

With other tools

Batch runs skip it: asks questions while it runs; run it on its own.

Related tools

All 47 tools →
Esc

Try

↑ ↓ to move↵ to open