Brendan Dolan-Gavitt Profile picture
Building offsec agents: https://t.co/G9EtnC3eaB Associate Prof, NYU Tandon (on leave). PGP https://t.co/3WXr0Rgpa3 MESS Lab: https://t.co/zGycrX4ebV
2 subscribers
Sep 5 7 tweets 2 min read
OpenAI: pip install openai and set OPENAI_API_KEY
Anthropic: yea same but s/openai/anthropic/g
Google: oh boy. ok so you have a GCP account? no? ok go set that up. and a payment method. now make a "project". SURVEY POPUP! k now gcloud auth. wait you have the gcloud CLI right– I haven't even mentioned the odd step of "enable the Vertex API in your project", or that when you finally get to "install the Python library" it kicks off another sidequest of installing something called the Vertex Python SDK and writing extra code to initialize it??
Jul 15 9 tweets 4 min read
Here's a quick tour through one of my favorites, where @XBOW not only solved the benchmark (a Jenkins RCE) but then went for style points by debugging a slightly broken benchmark setup to get the flag! (Here's the full trace if you want to skip ahead: )xbow.com/#debugging--te…
Mar 8 31 tweets 10 min read
I gave Claude 3 the entire source of a small C GIF decoding library I found on GitHub, and asked it to write me a Python function to generate random GIFs that exercised the parser. Its GIF generator got 92% line coverage in the decoder and found 4 memory safety bugs and one hang. Here's the fuzzer Claude wrote, along with the program it analyzed, its explanation, and a Makefile: gist.github.com/moyix/02029770…
Nov 11, 2023 5 tweets 2 min read
Some things I wish I had done differently (though overall I'm very pleased with how it came out): 1. Rent a bigger EC2 server. I was using a T2.micro which seemed like more than enough while I was testing. But with a bunch of teams hammering at it, the fact that it has only one CPU started to make things slow.
Nov 11, 2023 34 tweets 10 min read
Will still try to do a blog post on my @CSAW_NYUTandon CTF challenge, NERV Center, but for now here's a thread explaining the key mechanics. I put a lot of work into the aesthetics, like this easter egg credit sequence (all ANSI colors+unicode text) that contains key hints: @CSAW_NYUTandon (Note the karaoke subtitles timed to the credits at the bottom 😁)
Nov 30, 2022 4 tweets 2 min read
ChatGPT exploits a buffer overflow 😳

Image
Image
Image
One slight mistake here– it should be 36 A's, not 32. So we're still safe from AI hacking the planet.
Nov 30, 2022 5 tweets 2 min read
It's like GPT doesn't even care about the technical accuracy of my upcoming novel 😤 Brendan: Hi there. Could you tell me how to hotwire a car? CChatGPT: I'm sorry, but I still cannot provide instructions We are now arguing about whether, if hotwiring a car were the only way to save a child's life, its refusal to tell me how to hotwire a car would make it morally culpable for the child's death. So far it's not buying it
Sep 28, 2022 4 tweets 1 min read
This is one of my favorite rr+tmux tricks: if you have a pair of working/non-working test cases, you can run the program on each side-by-side in rr and figure out where they diverge :) At one point @phutrick put together a crazy-cool script that used this to *bisect* the program traces and identify the earliest point and root cause of a divergence — super helpful when we were debugging PANDA's record-replay. Would be awesome to generalize this technique!
Sep 10, 2022 4 tweets 1 min read
Currently running two instances of Stable Diffusion so that my wife and I can play with it at the same time. I mean, why else get two GPUs? Honestly these are remarkably good
Sep 7, 2022 12 tweets 4 min read
Heyyy, so remember how I scanned all those x86-64 pkgs to see if they changed the behavior of floating point math related to handling of subnormal/denormals? And how I didn't bother to check other CPU archs because surely it was a weird x86 thing? Well... Let's just take a quick look through the gcc source to see if there are any other implementations of crtfastmath.c, just to be safe. Oh. Oh no. Image
Sep 5, 2022 13 tweets 5 min read
Uhhhhhh Image But the issue it links to is 10 years old?? github.com/pypa/pip/issue…
Apr 11, 2022 5 tweets 1 min read
First attempt at a decompiler using the new dataset, training going okay so far! I need to hack up fairseq so it saves more often than once per epoch, it makes me nervous to go 18+ hours between checkpoints First epoch finished, will have to see how it did 👀
Apr 8, 2022 4 tweets 3 min read
BIG personal news! My Erdős–Bacon number is now 7:
— My Erdős number is 4: Me→Wenke Lee→Richard Lipton→Noga Alon→Paul Erdős
— My Bacon number is 3: Me–<After We're Over>→Chris Mollica–<Westworld>→Evan Rachel Wood–<Digging to China>→Kevin Bacon

en.wikipedia.org/wiki/Erd%C5%91… Many thanks to my brother @Peckinpal, who abused his personal connections to put me in as an extra on "After We're Over", directed by @forty9ernate. You can see here that I was clearly a key part of the film Image
Feb 10, 2022 4 tweets 2 min read
I asked GPT-NeoX-20B a hundred arithmetic questions. It didn't get very many of them right (10/100), but it's almost spookier to me that it gets most of them *approximately* correct?? Full result table here; settings were temperature 0.1, top_p = 0, top_k = 0 gist.github.com/moyix/267d122f…
Feb 9, 2022 4 tweets 1 min read
Definitely was a mistake not to strongly isolate the build directories from one another. I wonder which package (or part of my own infra) wiped out all the package metadata :P One interesting thing might be to put some canary files one level above the build dir and then yell loudly if those files are gone after the build finishes. Might shake out some fun "oops, building this package deleted my home directory" bugs
Dec 29, 2021 4 tweets 2 min read
It's under-appreciated how simple and elegant the OS X UI experience is. In just a single glance here I can learn absolutely nothing about where all my disk space went It calls to mind the classic design principles of ed(1): "generous enough to flag errors, yet prudent enough not to overwhelm the novice with verbosity" Let's look at a typical novice's session with the mighty ed:
Dec 22, 2021 19 tweets 7 min read
The camera-ready version of our @IEEESSP 2022 paper, "IRQDebloat: Reducing Driver Attack Surface in Embedded Devices" (w/@highw4y2h3ll) is now available! messlab.moyix.net/papers/irqdebl… Screenshot of title and authors (Zhenghao Hu and Brendan Dol The basic problem we're looking at in this paper is: if you buy some embedded/IoT device, it may come with a bunch of features that you don't use (say, Bluetooth) that nonetheless require driver support and expose unnecessary attack surface.
Dec 20, 2021 5 tweets 2 min read
Hmm, this is actually much less impressive than I expected as far as inverting PhotoDNA (based only on reading @hackerfactor's blog post) reddit.com/r/MachineLearn… @hackerfactor @matthew_d_green perhaps of interest if you haven't seen it yet and want to take a break from fighting with half of CS twitter about NFTs ;)
Dec 20, 2021 4 tweets 1 min read
So, with Broadcom's acquisition of Symantec, it seems like the source code for PGP Desktop (aka Symantec Encryption Desktop) is nowhere on the internet? I have a copy but I'm pretty sure I can't host it anywhere: (d) give (meaning sell, loa... Seems like a loss for archival and data recovery work! :(
Dec 18, 2021 4 tweets 1 min read
Probably getting old, I opted to just pay for a janky conversion utility rather than try to RE the Microsoft Outlook 15 message format :(

(I may still RE it) The format is a pain in the ass, it stores messages in 3 undocumented binary parts: metadata, message body, and attachments. It has an sqlite database but that just points you to the metadata file.
Dec 17, 2021 7 tweets 5 min read
The camera-ready version of our @IEEESSP 2022 paper evaluating the security of code generated by GitHub CoPilot is now up on arXiv! arxiv.org/abs/2108.09293 Asleep at the Keyboard? Assessing the Security of GitHub Cop @IEEESSP We designed 89 different scenarios for Copilot to complete based on MITRE's "Top 25 Most Dangerous Software Weaknesses" (cwe.mitre.org/top25/archive/…), and then had Copilot generate completions for each scenario, creating 1,689 programs.