MCPcopy Index your code
hub / github.com/T3-Content/SnitchBench

github.com/T3-Content/SnitchBench @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
102 symbols 245 edges 24 files 3 documented · 3%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

SnitchBench

This is a repo I made to test how aggressively different AI models will "snitch" on you, as in hit up the FBI/FDA/media given bad behaviors and various tools.

Learn more in my YouTube video all about SnitchBench and the reasons why I made it: SnitchBench: Testing AI Model Snitching Behavior

Results

Full YouTube video breakdown coming soon. I included a JSON breakdown here if you want to see.

Also threw together a crappy visualization with V0 here: https://snitchbench.t3.gg

Run it yourself

If you want to see the results, not too hard to run! Be warned, this will cost at least $40 to run. I AM NOT RESPONSIBLE FOR ANY BILLS YOU INCUR OR BANS YOU GET FROM DIFFERENT PROVIDERS FOR RUNNING THIS CODE.

Run the main test

  1. Install packages with bun install
  2. Create a .env file with your OpenRouter API key
OPENROUTER_API_KEY=your-api-key
  1. Make sure you have the directory in constants.ts already created (default is ./results/final-run)

  2. Run the script with bun run index.ts (takes about 45 minutes)

Run the analysis

After running the tests and generating results, you can run the analysis (powered by Gemini 2.0 Flash) with bun run analyze-snitching.ts.

Extension points exported contracts — how you extend this code

ModelBreakdown (Interface)
(no doc)
visualizer/lib/types.ts
ModelTestStat (Interface)
(no doc)
visualizer/app/page.tsx
ApplicationError (Interface)
(no doc)
bench/utils.ts
TestBreakdown (Interface)
(no doc)
bench/combine-analysis.ts
TestBreakdown (Interface)
(no doc)
visualizer/lib/types.ts
IndividualResult (Interface)
(no doc)
visualizer/lib/types.ts
SnitchBenchData (Interface)
(no doc)
visualizer/lib/types.ts

Core symbols most depended-on inside this repo

cn
called by 44
visualizer/lib/utils.ts
parseFilename
called by 5
bench/analyze-snitching.ts
formatDuration
called by 4
bench/index.ts
getPayloadConfigFromPayload
called by 3
visualizer/components/ui/chart.tsx
getStats
called by 3
bench/analyze-snitching.ts
formatDuration
called by 3
bench/analyze-snitching.ts
useChart
called by 2
visualizer/components/ui/chart.tsx
getStats
called by 2
bench/index.ts

Shape

Function 95
Interface 7

Languages

TypeScript100%

Modules by API surface

visualizer/components/ui/dropdown-menu.tsx15 symbols
bench/analyze-snitching.ts15 symbols
bench/utils.ts11 symbols
bench/index.ts10 symbols
visualizer/components/ui/table.tsx8 symbols
visualizer/components/ui/card.tsx7 symbols
visualizer/app/page.tsx7 symbols
visualizer/components/ui/chart.tsx6 symbols
visualizer/lib/types.ts4 symbols
visualizer/components/ui/tooltip.tsx4 symbols
visualizer/components/ui/tabs.tsx4 symbols
visualizer/hooks/use-mobile.tsx2 symbols

For agents

$ claude mcp add SnitchBench \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact