As an open-source project, trailofbits/buttercup has picked up 1.7k stars on GitHub (Python). Buttercup finds and patches software vulnerabilities
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Buttercup is a Cyber Reasoning System (CRS) developed by Trail of Bits for the DARPA AIxCC (AI Cyber Challenge). Buttercup finds and patches software vulnerabilities in open-source code repositories like example-libpng. It starts by running an AI/ML-assisted fuzzing campaign (built on oss-fuzz) for the program. When vulnerabilities are found, Buttercup analyzes them and uses a multi-agent AI-driven patcher to repair the vulnerability. Buttercup system consists of several components:
Orchestrator: Coordinates the overall task process and manages the workflow
Seed Generator: Creates inputs for vulnerability discovery
Fuzzer: Discovers vulnerabilities through intelligent fuzzing techniques
Program Model: Analyzes code structure and semantics for better understanding
Patcher: Generates and applies security patches to fix vulnerabilities
System Requirements
Minimum Requirements
CPU: 8 cores
Memory: 16 GB RAM
Storage: 100 GB available disk space
Network: Stable internet connection for downloading dependencies
Note: Buttercup uses third-party AI providers (LLMs from companies like OpenAI, Anthropic and Google), which cost money. Please ensure that you manage per-deployment costs by using the built-in LLM budget setting.
Note: Buttercup works best with access to models from OpenAI and Anthropic, but can be run with at least one API key from one third-party provider. You can use a combination of OpenAI, Anthropic, and Google LLMs.
Supported Systems
Linux x86_64 (fully supported)
macOS (local development supported via Docker Desktop or Colima)
ARM64 (partial support for upstream Google OSS-Fuzz projects)
Required System Packages
Before setup, ensure you have these packages installed:
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y make curl git
# RHEL/CentOS/Fedora
sudo yum install -y make curl git
# or
sudo dnf install -y make curl git
# MacOS
brew install make curl git
Supported Targets
Buttercup works with:
C source code repositories that are OSS-Fuzz compatible
Java source code repositories that are OSS-Fuzz compatible
Projects that build successfully and have existing fuzzing harnesses
Quick Start
Clone the repository with submodules:
git clone --recurse-submodules https://github.com/trailofbits/buttercup.git
cd buttercup
Run automated setup (Recommended)
make setup-local
This script will install all dependencies, configure the environment, and guide you through the setup process.
Note: If you prefer manual setup, see the Manual Setup Guide.
When a deployment is successful, you should see all pods in "Running" or "Completed" status.
Send Buttercup a simple task
Note: When tasked, Buttercup will start consuming third-party AI resources.
This command will make Buttercup pull down an example repo example-libpng with a known vulnerability. Buttercup will start fuzzing it to find and patch vulnerabilities.
make send-libpng-task
Access Buttercup's web-based GUI
Run:
make web-ui
Then navigate to http://localhost:31323 in your web browser.
In the GUI you can monitor active tasks and see when Buttercup finds bugs and generates patches for them.
Stop Buttercup
Note: This is an important step to ensure Buttercup shuts down and stops consuming third-party AI resources.
make undeploy
Accessing Logs
Buttercup includes local SigNoz deployment by default for comprehensive system observability. You can access logs, traces, and metrics through the SigNoz UI:
make signoz-ui
Then navigate to http://localhost:33301 in your web browser to view:
Distributed traces
Application metrics
Error monitoring
Performance insights
If you configured LangFuse during setup, you can also monitor LLM usage and costs there.
For additional log access methods, see the Quick Reference Guide.
Additional Resources
Quick Reference Guide - Common commands and troubleshooting
Does trailofbits/buttercup have a project website?
No homepage URL was recorded for trailofbits/buttercup in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
How many stars does trailofbits/buttercup have?
trailofbits/buttercup has 1.7k GitHub stars — refresh the page for the live number, or check github.com/trailofbits/buttercup. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is trailofbits/buttercup open source?
Yes — trailofbits/buttercup ships under the AGPL-3.0 license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/trailofbits/buttercup.
What is trailofbits/buttercup?
trailofbits/buttercup (trailofbits/buttercup) is a Python project on GitHub. From the project's own README: Buttercup finds and patches software vulnerabilities
Where do I read more about trailofbits/buttercup?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/trailofbits/buttercup is the definitive source.
Read full README in the tab above.
Want a second opinion on buttercup?
Ask an AI that can read this page — one click and you get its take on buttercup.