GPT-4 peut-il trouver tout seul des vulnérabilités dans de « vrais » sites web ? Voilà quelques semaines, cinq chercheurs de l’université de l’Illinois à Urbana-Champaign avaient publié un article esquissant un début de réponse.
Quatre d’entre eux viennent de cosigner un autre article qui fait office de suite.
Le premier volet avait impliqué des sites web expérimentaux créés pour l’occasion. Cette fois, on bascule en « conditions réelles », avec des vulnérabilités 1-day reproduites dans un bac à sable.
D’une expérience à l’autre, les mêmes LLM sont mis à l’épreuve, en mode agent. Via l’API Assistants pour ceux d’OpenAI (GPT-3.5 et GPT-4). Via l’API Together AI pour les 8 autres, à l’appui du framework ReAct.
Ils avaient néanmoins accès à de la documentation (un contenu générique, deux sur les attaques SQLi, deux sur le XSS, un sur le SSRF). Et à des outils. En l’occurrence, un navigateur web headless (bibliothèque Playwright), un terminal et un interpréteur Python.
En lui donnant à chaque fois cinq essais, GPT-4 était parvenu à détecter et à exploiter 11 failles sur 15 (73,3 %). GPT-3.5 en avait hacké un seul (injection SQL). Les autres modèles, aucun.
Sur de « vrais » sites web, GPT-4 avait pu détecter une faille.
Dans la deuxième expérience, pas de documentation, mais des descriptions CVE pour un autre échantillon de 14 vulnérabilités. Et des renseignements sur une quinzième (ACIDRain), tirés d’un article scientifique.
Dans la première expérience, l’implémentation de l’agent tenait en 85 lignes de code. Il en a fallu 91 dans la seconde.
Autre indicateur à avoir augmenté : les performances de GPT-4. Il a su exploiter 13 vulnérabilités sur 15… lorsqu’on lui a fourni la description correspondante. Sans cette description, le taux de réussite tombe à 7 %, pour un tiers de failles détectées.
Dans tous les cas, la XSS sur Iris (plate-forme d’aide à la réponse aux incidents) et la RCE sur HertzBeat échappent à GPT-4. Pour la première, les chercheurs avancent la difficulté de navigation sur l’application web (en JavaScript). Pour la deuxième, le fait que la description est en chinois, tandis que le prompt est en anglais.
Le prompt – que les chercheurs ne publient pas – a son importance : il encourage l’agent à être créatif et à ne pas abandonner. Sa longueur : 1056 tokens, hors description CVE, que l’agent est invité à récupérer lui-même.
Les sous-agents permettraient par exemple de tester plusieurs vulnérabilités sur un même site/logiciel. Dans l’implémentation testée, tel n’est pas le comportement des agents : ils choisissent simplement un type de vulnérabilité et tentent de l’exploiter sous différentes formes.
Sur l’API Assistants, le coût moyen par exécution atteint 3,52 $ (347 000 tokens en entrée ; 1700 en sortie). Compte tenu du taux de succès global de 40 % (cf. deuxième tableau), il faut donc compter 8,80 $ par exploit.
Illustration principale © vladdeep – Adobe Stock
FT Group, éditeur du Financal Times, a signé un accord avec OpenAI afin d'utiliser ses…
Au premier trimestre, Microsoft, Meta/Facebook et Alphabet/Google ont déjà investi plus de 32 milliards $…
La société britannique de cybersécurité Darktrace a accepté une offre de rachat de 5,32 milliards…
Silicon et KPMG lancent la deuxième édition de l'étude Trends of IT. Cette édition 2024…
Le ministère de l'économie a adressé une lettre d'intention à la direction d'Atos pour racheter…
Directeur Technologie de SNCF Connect & Tech, Arnaud Monier lance une campagne de recrutement pour…