Buttercup CRS Cheatsheet
Hoja de referencia de Buttercup CRS¶
Descripción general¶
Buttercup es un Sistema de Razonamiento Cibernético (CRS) de código abierto desarrollado por Trail of Bits para el Desafío de IA Cibernética de DARPA (AIxCC), donde obtuvo el 2º lugar. Utiliza técnicas impulsadas por IA para encontrar y corregir vulnerabilidades de forma autónoma en repositorios de código fuente de C y Java.
Características principales¶
- Fuzzing asistido por IA: Aprovecha el aprendizaje automático para mejorar el descubrimiento de vulnerabilidades.
- Parche autónomo: Sistema de IA multiagente que genera parches de seguridad robustos.
- Integración de OSS-Fuzz: Construido sobre la infraestructura de fuzzing de código abierto de Google.
- Interfaz gráfica web: Monitoreo en tiempo real de tareas, vulnerabilidades y parches.
- Sistema multiagente: Compuesto por agentes especializados para orquestación, fuzzing y parches.
Requisitos del sistema¶
- CPU: 8 núcleos (mínimo)
- Memoria: 16 GB RAM (mínimo)
- Almacenamiento: 100 GB de espacio en disco disponible
- SO: Linux x86_64 (totalmente compatible), ARM64 (compatibilidad parcial)
- Dependencias: Docker, Kubernetes, make, curl, git
- Proveedores de IA: Claves API para OpenAI y/o Anthropic
Instalación¶
# 1. Clone the repository with submodules
git clone --recurse-submodules https://github.com/trailofbits/buttercup.git
cd buttercup
# 2. Run the automated setup script
make setup-local
```[No text provided]
```bash
# Deploy Buttercup locally
make deploy-local
# Check the status of the deployment
make status
# Send a test task to find and patch vulnerabilities
make send-libpng-task
# Stop the local deployment
make undeploy
```[No text provided]
```bash
# Access the main web UI (http://localhost:31323)
make web-ui
# Access the SigNoz observability dashboard (http://localhost:33301)
make signoz-ui
Arquitectura del sistema¶
- Orquestador: Gestiona el flujo de trabajo general y coordina agentes.
- Generador de semillas: Crea entradas inteligentes para el fuzzer.
- Fuzzer: Descubre vulnerabilidades utilizando técnicas mejoradas por IA.
- Modelo de programa: Analiza la estructura y semántica del código.
- Patcher: Un equipo de siete agentes de IA que colaboran para crear parches.
Flujos de trabajo comunes¶
- Auditorías de seguridad automatizadas: Fuzzing y parche continuo de dependencias de código abierto.
- Investigación de vulnerabilidades: Acelerar el descubrimiento de nuevas vulnerabilidades.
- Integración de CI/CD: Integrar Buttercup en su pipeline de CI/CD para pruebas de seguridad automatizadas.
Recursos adicionales¶
- Repositorio oficial de GitHub
- Blog de Trail of Bits: ¡Buttercup ahora es de código abierto!
- Desafío de IA Cibernética de DARPA (AIxCC)
5-7. [No text provided]