Buttercup – AI alapú sérülékenységmenedzsment
A DARPA AI Cyber Challenge (AIxCC) második helyezettje, a Trail of Bits nyílt forráskódúvá tette a Buttercup nevű CRS (Cyber Reasoning System) rendszerüket. Annak érdekében, hogy minél több ember használhassa a Buttercupot, létrehoztak egy standalone verziót, amely egy átlagos laptopon fut. A Buttercup önálló verziójának kiadása mellett elérhetővé tették az AIxCC elődöntőjében és döntőjében versenyző verziókat is.
A Buttercup egy teljesen automatizált, AI alapú rendszer, amely nyílt forráskódú szoftverek sérülékenységeinek felderítésére és javítására szolgál. A Buttercup négy fő összetevőből áll:
Az Orchestration/UI koordinálja a Buttercup többi összetevőjének általános működését, és megjeleníti a rendszer által azonosított sérülékenységekkel és generált javításokkal kapcsolatos információkat. A tipikus webes felületen kívül a Buttercup a naplóit és a rendszer eseményeit is jelenteni fogja a SigNoz telemetriai szervernek, hogy a felhasználók könnyen láthassák, mit csinál a Buttercup.
A sérülékenységek felderítése mesterséges intelligenciával kiegészített mutációs fuzzingot használ a program beviteli adatainak felkutatására. A Buttercup sérülékenység-felderítő motorja az OSS-Fuzz/Clusterfuzz-on alapul, és a libFuzzer és a Jazzer programokat használja.
A kontextuselemzés hagyományos statikus elemző eszközöket használ, hogy lekérdezhető programmodelleket hozzon létre, amelyek kontextust nyújtanak a sérülékenységek felderítésében és javításában használt AI-modellek számára. A Buttercup a Tree-Sitter és a CodeQuery programokat használja a programmodell felépítéséhez.
A javítások generálása egy multi-agentic rendszer, amely a Buttercup által felfedezett sérülékenységekhez szoftverjavításokat hoz létre és validál. A Buttercup patch generáló rendszere hét különböző AI agentet használ, hogy robusztus javításokat hozzon létre, amelyek kijavítják a felfedezett sérülékenységeket, és elkerülik a program egyéb funkcióinak megszakítását.