Hermes Agentin uusi lisäosa etsii repositoriosta tietoturvavikoja aliagenteilla
Nous Research julkaisi Hermes Agentille virallisen Security-lisäosan, joka katselmoi paikallisen repositorion rinnakkaisilla aliagenteilla ja jäljittää, pääseekö hyökkääjä käsiksi löydettyyn vikaan. Lisäosan tarkkuudesta ei ole julkaistu vertailulukuja.
Nous Research kertoi X-tilillään 8. marraskuuta, että sen Hermes Agent osaa nyt etsiä koodista tietoturvavikoja uuden virallisen lisäosan avulla. Hermes Agent on Nous Researchin tekoälyagentti, jota käytetään terminaalissa, Hermes Desktop -sovelluksessa ja viestipalveluissa, kuten Telegramissa ja Slackissa. Lisäosan on tehnyt Nousin Mark S. (@mark_s) omien tietoturvakatselmointiensa kokemusten pohjalta, kertoo Nousin Teknium.
Ensin hyökkäyspinta, sitten aliagentit
Nousin mukaan lisäosa selvittää ensin hyökkääjän ulottuvilla olevat kohdat ja syötteet, joihin koodi luottaa. Sitten se jakaa koodin rinnakkaisille aliagenteille eli erillisille agenteille, joista kukin lukee oman osansa. Lisäosa tarkistaa jokaisen mahdollisen löydöksen koodista ja jäljittää, voiko hyökkääjä oikeasti hyödyntää vikaa.
AICoder-uutissivusto viittaa lisäosan dokumentaatioon: koodi jaetaan kansioittain noin 4 000 rivin paloihin, joita enintään kymmenen aliagenttia lukee samaan aikaan. Jos tuotantokoodi mahtuu 90 palaan eli noin 360 000 riviin, se luetaan kokonaan. Suuremmissa repositorioissa koodi asetetaan järjestykseen riskialttiin toiminnan mukaan. Sellaista ovat esimerkiksi pyyntöjen syötteet, komentotulkin kutsut, SQL ja tunnistautuminen. AICoderin mukaan syvä tarkistus käy oletuksena koko repositorion läpi kolmesti.
Lisäosa tarkistaa riippuvuuksien tunnetut haavoittuvuudet Googlen osv-scannerilla. Pelkästä haavoittuvuustiedotteesta ei kuitenkaan tule löydöstä. Katselmoinnin on osoitettava, että koodi todella käyttää haavoittuvaa toimintoa.
Testit ajetaan käyttäjän oikeuksin
Valinnaisessa testivahvistuksessa Hermes kirjoittaa kustakin löydöksestä vian toistavan pienen testin ja ajaa sen repositorion väliaikaisessa kopiossa. AICoderin mukaan valmistaja huomauttaa, ettei kopio ole hiekkalaatikko: testit ajetaan käyttäjän oikeuksin. Käynnissä olevan sovelluksen testaamiseen tarvitaan skannauskohtainen lupa. Agentin työkalut eivät voi myöntää sitä itse. Lupa rajaa testauksen yhteen osoitteeseen, tuntiin ja 200 pyyntöön.
Katselmoitava koodi lähetetään Hermesissä määritetylle mallipalvelulle. Skannauksen tiedot jäävät koneelle lisäosan omaan kansioon.
Tarkkuudesta ei ole vertailulukuja
Raporteissa näkyvät todisteet, katselmoimatta jääneet kohdat ja hylätyt löydösehdokkaat. Raportit voi tallentaa Markdown-, JSON-, CSV- ja SARIF-muodossa. SARIF on muiden koodianalyysityökalujen ymmärtämä tulosmuoto.
AICoderin mukaan Nous ei ole julkaissut lukuja lisäosan löytämien vikojen osuudesta tai löydösten paikkansapitävyydestä. Vertailua Semgrepin tai CodeQL:n kaltaisiin työkaluihin ei myöskään ole. Dokumentaation mukaan ihmisen on tarkistettava päätelmät, koska malli voi jättää vikoja huomaamatta tai tulkita koodia väärin. Raporteissa käytetään OWASP Top 10- ja ASVS-luokituksia, mutta valmistajan mukaan kyse ei ole sertifioinnista.
Lisäosa on Nousin virallisessa lisäosaluettelossa, ja sitä voi käyttää keskustelussa, komentoriviltä tai Hermes Desktopin Security-sivulta. AICoderin mukaan se vaatii Hermesin version 0.21.5 ja Python 3.11:n tai uudemmat, ja ensimmäinen skannaus lataa noin 55 megatavun osv-scannerin. Asennusohjeet ovat Nousin lisäosarepositoriossa GitHubissa.
Lue lisää: Miten agentti toimii · Agenttikartta