Utiliser l'IA pour trouver des bugs d'autorisation

Les programmes de bug bounty ferment. Nextcloud a arrêté les récompenses payantes en raison de rapports d'IA de faible qualité. Mattermost a mis fin à son programme. L'Internet Bug Bounty a réduit ses paiements de 80 %.

Le problème n'est pas que l'IA ne puisse pas trouver de bugs. Le problème est que l'IA génère de nombreux rapports qui semblent réels mais qui sont erronés. Les équipes de triage sont submergées par ce bruit.

En 2026, la compétence dont vous aurez besoin ne sera pas de trouver des bugs. Un modèle vous donnera cinquante idées avant le déjeuner. La véritable compétence consiste à prouver pourquoi quarante-neuf d'entre elles sont fausses. Vous avez besoin d'une méthode qui produit des résultats négatifs exacts.

Utilisez cette méthode en deux étapes pour le code source ouvert :

  1. Fan-out (Modèles peu coûteux) Divisez la surface d'autorisation en petites parties. Lisez chaque partie en parallèle. Recherchez des règles brisées. Cherchez les endroits où un objet est chargé sans vérification du propriétaire. Recherchez les chemins qui contournent les barrières de sécurité. Concentrez-vous sur la recherche de chaque piste possible. Attendez-vous à de nombreux faux positifs.

  2. Vérification adversaire (Modèles coûteux) Prenez chaque piste et essayez de l'infirmer. Partez du principe que la piste est fausse. Une piste ne survit que si vous pouvez montrer les lignes de code exactes prouvant l'absence de garde de sécurité. Vous devez prouver que le chemin est accessible et que rien d'autre n'arrête l'attaque.

Le résultat le plus important est la liste des réfutations. Une liste de raisons expliquant pourquoi quelque chose n'est PAS un bug renforce la confiance des trieurs.

J'ai testé Ory Kratos, un serveur d'identité. Le système gère des actions sensibles comme le changement de mots de passe ou d'e-mails. Il s'agit d'une zone à haut risque.

La première étape a trouvé une piste. Elle ressemblait à une faille majeure dans la manière dont le système gère les flux OIDC. Un outil de reconnaissance de formes qualifierait cela de bug de haute sévérité.

J'ai utilisé la deuxième étape pour la vérifier. J'ai découvert que l'absence de vérification n'entraînait pas d'exploit. Le système utilise des cookies de session actifs et revérifie les privilèges à l'étape finale. La faille n'était pas exploitable.

Si je l'avais signalé, j'aurais perdu ma crédibilité. La véritable valeur résidait dans la confiance de rester silencieux.

La même méthode a trouvé un vrai bug sur une cible différente. Un point d'entrée secondaire avait oublié de répliquer une vérification d'autorisation. L'utilisateur pouvait entrer par une porte latérale même après la révocation de son accès.

Les gagnants de la chasse aux bugs se concentreront sur le signal, et non sur le volume. Utilisez l'IA pour lire plus de code qu'un humain ne le peut. Ensuite, utilisez l'IA pour vous prouver que vous avez tort avant de soumettre un rapport.

Source : https://dev.to/fdjedkdlsspec/using-ai-to-find-authorization-bugs-and-to-prove-the-ones-that-arent-real-3m7d

Communauté d'apprentissage optionnelle : https://t.me/GyaanSetuAi