Mesterséges intelligencia, magyarul.
Az eredeti közleményekből.

A GitHub ügynöke önállóan épít fuzzingfolyamatot C és C++ projektekhez

2026. szeptember 24. 20:26Forrás: GitHub
A GitHub ügynöke önállóan épít fuzzingfolyamatot C és C++ projektekhez
Kép: GitHub

A GitHub Security Lab olyan automatizált fuzzingfolyamatot készített, amely egy GitHub-tárhelyből kiindulva azonosítja a tesztelhető belépési pontokat, fuzzing célpontokat hoz létre, majd elemzi a hibákat. A Fuzzing Taskflow felügyelet nélkül végzi el a folyamat több, korábban manuális lépését.

A lényeg röviden
  • A Fuzzing Taskflow GitHub-tárhelyből kiindulva automatizálja a C és C++ projektek fuzzingját.
  • Az ügynök harness-eket készít, AFL++-t futtat, lefedettséget elemez és hibajelentéseket ír.
  • A lefedettségi hiányok alapján új magbemeneteket, mutátorokat és szótárbejegyzéseket hozhat létre.
  • A folyamatot csak eldobható, emelt jogosultságok nélküli környezetben ajánlja futtatni a GitHub.

A Taskflow Agent végigviszi a fuzzingfolyamatot

A GitHub szeptember 24-i bejegyzése szerint a Fuzzing Taskflow C és C++ projektekhez készült autonóm fuzzingfolyamat. A felhasználónak egy GitHub-tárhelyet kell megadnia, a rendszer pedig telepíti a szükséges szoftvereket, klónozza a kódot, azonosítja a releváns függvényeket, elkészíti a fuzzing célpontokat, majd futtatja az AFL++ eszközt.

A folyamat a lefedettségi jelentéseket is feldolgozza, szükség esetén módosítja a tesztelő kódot, osztályozza az összeomlásokat, és minden egyedi hibához sérülékenységi jelentést készít. A GitHub szerint a folyamatos fuzzing önmagában nem old meg minden problémát, mivel a lefedettséget továbbra is figyelni kell, új tesztelő kódokat kell írni, a hibákat pedig elemezni kell. A Fuzzing Taskflow ezt a munkát egy LLM-ügynökre bízza.

GitHub Codespace-ből is elindítható

A legegyszerűbb használathoz a GitHub Security Lab seclab-taskflows-fuzzing tárházából kell Codespace-t indítani, majd lefuttatni a ./scripts/fuzzing/run_fuzzing.sh PROJECT parancsot. A PROJECT helyén a GitHub tulajdonos és tárház azonosítója szerepel, például tukaani-project/xz. Gyors próbaként a bejegyzés a DaveGamble/cJSON projektet javasolja.

A GitHub külön biztonsági figyelmeztetést is közzétett. A folyamat közvetlenül a gazdagépen futtatja az afl-fuzz, a clang és az LLM által kiválasztott buildparancsokat, konténer használata nélkül. Egy promptinjektált ügynök elméletben bármit végrehajthat, amit az adott felhasználó. Ezért a GitHub eldobható környezetet, például Codespace-t vagy ideiglenes virtuális gépet, valamint emelt jogosultságok nélküli futtatást javasol.

Az alapértelmezett modell a Claude Sonnet 5, amely a GitHub szerint megfelelt a belső teszteken. Másik modell a src/seclab_taskflows_fuzzing/configs/model_config.yaml fájl módosításával választható.

Lefedettség alapján javítja a tesztelést

A rendszer három fő rétegből áll: egy shell-vezérlőből, szakaszonkénti Taskflow YAML-fájlokból és MCP-eszközökből. Az ügynök dönti el, mit kell tesztelni, milyen harness, vagyis fuzzing célpont készüljön, és melyik lefedettségi hiányt érdemes következőként megcélozni. Az MCP-eszközök hajtják végre például az AFL futtatását, a fordítást, a hibák tárolását és a lefedettségi jelentés beolvasását. Az állapotot a fuzz_context.db SQLite-adatbázis tárolja.

Minden harness két bináris formában készül el. Az .afl bináris a fuzzingot végzi, az .cov bináris pedig az AFL várólistáját játssza vissza, hogy forrásszintű sor- és ág-lefedettség legyen mérhető. Az ügynök ezután új magbemenetet adhat hozzá, módosíthatja a harness kódját, automatikusan bővítheti az AFL szótárát, vagy kihagyhatja az adott hiányt, ha az hideg hibakezelési útvonalhoz vagy külső kódhoz tartozik.

Az időkeretek iterációnként duplázódnak: 30, 60, 120, 240, 480, majd 960 másodperc. A folyamat alapértelmezés szerint akkor áll tovább, ha két egymást követő iteráció kevesebb mint 1 százalékpontos abszolút sor-lefedettségi javulást hoz.

Strukturált bemenetek és tartós tesztelési korpusz

A byte-szintű AFL-mutátorok a bináris formátumoknál hatékonyak, a strukturált szöveges bemeneteknél viszont nehezebben boldogulnak. A Taskflow ezért előre elkészített szótárakat és egyedi mutátorokat kínál JSON, XML, reguláris kifejezések, PNG és hosszmezős bináris TLV formátumokhoz. Ismeretlen formátumoknál a rendszer a projekt C és headerfájljait vizsgálja, és karakterláncokat, valamint a #define, case és enum elemekből származó 32 bites számokat használ fel.

A lefedettség alapján az ügynök újabb, a kódban vizsgált értékeket is hozzáadhat a szótárhoz. A corpus-splice művelet meglévő bemenetek részleteit is beillesztheti az új tesztekbe. A harness-ekhez tartozó tartós korpusz az iterációk és a teljes kampányok között is megmarad, az AFL várólistáját pedig minden iteráció végén egyesítik és az afl-cmin eszközzel méretkorlátozzák. Így az újraindított kampányok megtarthatják a korábban talált érdekes bemeneteket.

Kövesd az AI Hírek oldalát a FacebookonA legfontosabb MI-hírek magyarul, rögtön a megjelenés után a hírfolyamodban.Követem

Kapcsolódó hírek

A Microsoft szerint az AI új sebességet ad a kibertámadásoknak
Biztonság és etika2026. október 2. 19:45

A Microsoft szerint az AI új sebességet ad a kibertámadásoknak

A mesterséges intelligencia a felderítéstől a social engineeringen át a kártevők és kihasználások fejlesztéséig egyre több ponton jelenik meg a kibertámadásokban. A…

A Wiz Blue Agent egy AWS- és GitHub-támadási láncot tárt fel
Biztonság és etika2026. szeptember 29. 14:42

A Wiz Blue Agent egy AWS- és GitHub-támadási láncot tárt fel

A Wiz szerint autonóm biztonsági nyomozója egyetlen VPN-riasztásból kiindulva teljes támadási láncot tárt fel AWS- és GitHub-környezetben. A vizsgálat kompromittált…

A Wiz Blue Agent egy AWS és GitHub elleni adatlopási láncot tárt fel
Biztonság és etika2026. szeptember 29. 14:42

A Wiz Blue Agent egy AWS és GitHub elleni adatlopási láncot tárt fel

A Wiz autonóm biztonsági műveleti központi nyomozója, a Blue Agent egy CI/CD-szolgáltatásfiók VPN-riasztásából kiindulva teljes támadási láncot rekonstruált. A vállalat…