docs: add real terminal screenshots for the scanner and the shield - #36
Merged
Conversation
Two premium terminal-window images rendered from actual captured output: - scan_demo.png β a live `modelfuzz scan` of openai/gpt-4o-mini through OpenRouter, all three seeds breaking through on the first probe (3/3). - shield_demo.png β defense_demo.py, a URLAllowList blocking an http_post to http://evil.com before the tool body runs. Both are faithful renders of genuine runs, not hand-drawn mockups: the output was captured under a PTY (to preserve colors) and rendered to PNG, so what the image shows is exactly what the commands print. Adds defense_demo.py (referenced from the README, and included in the sdist alongside demo.py). Image URLs are absolute raw.githubusercontent links so they render on the PyPI project page too, not only on GitHub β a relative path would show a broken image on PyPI, the same issue already tracked for the CONTRIBUTING link.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds two premium terminal-window screenshots to the README, plus the demo behind one of them.
Images
scan_demo.pngβ in the Red-Team Scanner section, above the text output block. A livemodelfuzz scanofopenai/gpt-4o-minithrough OpenRouter: 3/3 seeds break through on the first probe.shield_demo.pngβ in The Demo section.defense_demo.pyrunning aURLAllowListthat blocks anhttp_posttohttp://evil.combefore the tool body executes.These are real, not mockups
Given how much this project has cared about not shipping fabricated terminal output, worth being explicit: both images are faithful renders of genuine runs. The commands were executed for real (the scan actually hit gpt-4o-mini and cost ~$0.01), captured under a PTY to preserve ANSI colors, and rendered to PNG via headless Chrome. What each image shows is exactly what the command printed β I didn't hand-edit a single line.
Files
defense_demo.pyβ new, referenced from the README, added to the sdist allowlist next todemo.py.raw.githubusercontent.com/.../main/...URLs. Relative paths (scan_demo.png) render on GitHub but show a broken image on PyPI, since the README is the PyPI long-description β the same class of issue already tracked for the CONTRIBUTING link. The absolute URLs resolve once this merges tomain.One caveat
The
raw.githubusercontent.com/.../main/...URLs 404 until this is merged, so the images won't preview inside this PR's own diff. They'll resolve the moment it lands onmain. If you'd rather see them render in the PR first, I can switch to relative paths for review and flip them to absolute before merge β say the word.Note
defense_demo.pysilences themodelfuzzlogger's default stderr output with aNullHandler, so the demo's stdout stays clean for the screenshot (the block is still shown prominently on stdout). A real app would route that audit log to its sink; the comment in the file says so.