Aller au contenu

1. Clone the repository with submodules

Aide-mémoire Buttercup CRS

Vue d’ensemble

Buttercup est un Système de Raisonnement Cyber (CRS) open-source développé par Trail of Bits pour le DARPA AI Cyber Challenge (AIxCC), où il a remporté la 2ème place. Il utilise des techniques pilotées par l’IA pour trouver et corriger automatiquement des vulnérabilités dans des dépôts de code source C et Java.

Fonctionnalités Clés

  • Fuzzing Assisté par IA: Exploite l’apprentissage automatique pour améliorer la découverte de vulnérabilités.
  • Correction Autonome: Système multi-agents d’IA générant des correctifs de sécurité robustes.
  • Intégration OSS-Fuzz: Construit sur l’infrastructure de fuzzing open-source de Google.
  • Interface Graphique Web: Surveillance en temps réel des tâches, vulnérabilités et correctifs.
  • Système Multi-Agents: Composé d’agents spécialisés pour l’orchestration, le fuzzing et la correction.

Configuration Requise

  • CPU: 8 cœurs (minimum)
  • Mémoire: 16 Go RAM (minimum)
  • Stockage: 100 Go d’espace disque disponible
  • OS: Linux x86_64 (totalement supporté), ARM64 (partiellement supporté)
  • Dépendances: Docker, Kubernetes, make, curl, git
  • Fournisseurs IA: Clés API pour OpenAI et/ou Anthropic

Installation

# 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

Architecture Système

  • Orchestrateur: Gère le workflow global et coordonne les agents.
  • Générateur de Seed: Crée des entrées intelligentes pour le fuzzer.
  • Fuzzer: Découvre des vulnérabilités en utilisant des techniques améliorées par l’IA.
  • Modèle de Programme: Analyse la structure et la sémantique du code.
  • Correcteur: Une équipe de sept agents IA qui collaborent pour créer des correctifs.

Workflows Courants

  • Audits de Sécurité Automatisés: Fuzzer et corriger continuellement les dépendances open-source.
  • Recherche de Vulnérabilités: Accélérer la découverte de nouvelles vulnérabilités.
  • Intégration CI/CD: Intégrer Buttercup dans votre pipeline CI/CD pour des tests de sécurité automatisés.

Ressources Supplémentaires

5-7. [No text provided for these sections]