Repository navigation
Releases
Releases · rj-karan/ctfd-flagprint
Flagprint 1.1.0
Sandbox image on GitHub Container Registry
No more building the generator sandbox yourself:
docker pull ghcr.io/rj-karan/flagprint-generator:latestThe plugin looks for this image first, then a locally built flagprint/generator, then falls back to plain Python.
Fixes
- With several gunicorn workers, the very first flags could be computed with different secrets. The secret is now created once at startup and every worker reads the same database row.
- Per-team files could be downloaded before a challenge's prerequisites were solved. Downloads now follow the same rule as the challenge itself.
- Downloading from a flag-only or variants challenge returned 500; it is now 404.
- "Null Pointers's" in the share alert pop-up.
Also
- Admin monitor: one account lookup per team per page instead of one per row.
- A clean README with a demo, screenshots and a comparison with other options.
CONTRIBUTING.md,SECURITY.mdwith private vulnerability reporting, a code of conduct, and adocker-compose.override.ymlfor script delivery.
Upgrade: git pull in the plugin folder and restart CTFd. No migration needed.
Flagprint 1.0.0
The first public release of Flagprint, a CTFd plugin that gives every team its own flag and its own files, and tells you who leaked a flag when one gets shared.
Highlights
- Per-team flags from a template like
flag{st3g0_l0v3s_y0u_{team}}. Codes are an HMAC of challenge and team, so there is no flag table to manage. - Per-team files of any kind
- Replace: a sample flag is swapped into text, binaries, pcaps and zip members.
- Script: your
generate.pybuilds each team's file in an offline Docker sandbox. Stego images, compiled crackmes, encrypted blobs.
- Variants for fixed-answer challenges such as OSINT and trivia.
- Leak attribution: a copied flag is "Incorrect" for the player and a live alert for you, with who copied whose flag.
- Admin monitor: share alerts, all submissions with their owner, flag lookup, shared IPs, and an optional Hall of Shame.
- Team flags panel on each challenge: every team's flag, their exact file, solve and sharing counts, and Regenerate.
- Quiet by default: players never see the flag template. Install under a neutral folder name and nothing player-facing mentions Flagprint.
- Hooks for instancer plugins to join the same detection.
Install
cd CTFd/CTFd/plugins
git clone https://github.com/rj-karan/ctfd-flagprint flagprintRestart CTFd and open Admin → Flagprint. See the README for script delivery and Docker setup.
Compatibility: CTFd 3.8.x, teams and users mode. Tested in CI against CTFd 3.8.7 and 3.8.9.
