↓ Aller au contenu
  1. Posts/

Hack The Box Certified Offensive AI Expert - Qu'est-ce donc, pour qui est-ce, et des conseils sur l'examen

Lacroix Raphaël (Chepycou)
Auteur
Lacroix Raphaël (Chepycou)
Bonjour, bienvenue sur mon blog. Je suis Raphaël LACROIX, je développe diverses applications pendant mon temps libre, allant du très inutile au parfois utile. Je fais aussi beaucoup de Capture The Flag et de défis de cybersécurité. Je suis actuellement pentester à Fenrisk.

Qu’;’est-ce donc que la COAE ?
#

La COAE est une certification de Hack The Box. HTB la décrit ainsi :

HTB COAE is a hands-on certification assessing knowledge gained by a curriculum co-developed with Google on identifying and exploiting vulnerabilities in AI and machine learning systems. Certification holders demonstrate technical competency in adversarial machine learning (evasion attacks, data poisoning), LLM prompt injection and jailbreaking, LLM output exploitation (XSS, SQLi, code injection), AI application and system security (MCP vulnerabilities, deployment tampering, model reverse engineering), AI defense (guardrails, adversarial training and tuning), and AI privacy (membership inference, differential privacy). The curriculum aligns with Google’s Secure AI Framework (SAIF), the OWASP Machine Learning Security Top 10, the OWASP Top 10 for Agentic Applications, and the OWASP Top 10 for LLM Applications 2025. Certification holders can also conduct professional AI red-team assessments and communicate findings effectively.

Cet article risque d’être en partie une répétition de mon article sur la certification CPTS, car ces deux certifications présentent des similitudes ; il aborde toutefois certains points qui diffèrent concernant la certification COAE.

Mon avis général sur la formation et les examens
#

Un support de formation excellent, même s’il est parfois peut-être un peu trop approfondi
#

Il est nécessaire d’avoir suivi le parcours de formation dans son intégralité avant de pouvoir passer l’examen. De mon expérience, ce parcours, s’il est suivi sérieusement (en prenant des notes, en lisant l’intégralité du contenu, etc.), devrait prendre environ 1 à 3 mois, en fonction du niveau de départ et de l’envie de se plonger dans les détails/des recherches aditionnelles. Il existe également des machines HTB et des challenges HTB permettant d’acquérir davantage d’expérience avant de se présenter à l’examen.

Ayant suivi des cours d’initiation au Machine Learning il y a quelques années en école, étudié les mathématiques dans le cadre de mon diplôme d’ingénieur et disposant déjà d’une certaine expérience en tests d’intrusion, j’ai trouvé ces cours assez exigeants et riches en informations intéressantes que j’ignorais ou que je ne comprenais pas entièrement. Je pense même que parfois, le cours allait même un peu trop loin en termes de connaissances en ML et en mathématiques, mais j’y reviendrai plus tard.

Les cours étaient vraiment d’excellente qualité et, si vous optez pour l’abonnement “Silver” comme je l’ai fait, vous bénéficiez de corrections, ce qui représente un gain de temps considérable et sert également d’explication sur les points que vous auriez pu manquer lors de la lecture du cours.

Il faut toutefois noter que l’IA est un domaine qui évolue très rapidement. Cela signifie que le cours et la certification sont confrontés aux mêmes problèmes que, par exemple, les cours et certifications sur le contournement d’EDR. Dans ce genre de domaines, tout ce qui était vrai il y a six mois ne l’est plus aujourd’hui, car des avancées majeures, tant sur le plan offensif que défensif, ont eu lieu entre-temps. Préparez-vous donc à faire quelques recherches lorsque quelque chose ne fonctionne pas, et à avoir à s’adapter à l’état de l’art par la suite sur le terrain 😁

Un examen exigeant, mais une infrastructure frustrante
#

CComparé au CPTS que j’avais passé il y a deux ans, cet examen était un peu moins agréable. Cependant, je l’ai tout de même trouvé plus facile à passer. Je m’explique.

L’examen évalue pratiquement toutes les notions abordées dans le programme de formation, d’une manière qui offre une certaine flexibilité et permet de passer d’un exercice à l’autre. Contrairement à l’expérience linéaire de type “machine HTB” du CPTS, où l’on passe du drapeau 1 au drapeau 2 jusqu’au drapeau 14, on dispose ici de 4 à 5 “chemins” parallèles : il y a (sans spoil) en effet 3 challenges indépendants axés sur du ML et un chemin “web + LLM” comportant plusieurs étapes qui se ramifie à un certain moment. J’ai beaucoup apprécié cette approche, car elle permet de se changer les idées en se tournant vers un autre “chemin”.

J’ai toutefois rencontré des difficultés avec l’infrastructure, comme l’ont signalé de nombreux autres writeups : il est impossible de la tester avec un proxy HTTP (e.g. Caido ou Burp Suite), car les requêtes expirent une fois sur deux et le proxy ne gère pas cette situation. HTB semble tout simplement tricher en faisant en sorte que le front-end compense la lenteur du backend et continue d’envoyer des requêtes en boucle, ce que les proxys HTTP ne font pas. Je comprends tout à fait que les modèles locaux nécessitent une grande puissance de calcul, mais j’espère que ce problème pourra être résolu à un moment donné. Pendant le temps de l’examen, il était très frustrant de ne pas pouvoir accéder à son historique HTTP ni à ses outils de proxy habituels.

J’ai trouvé certaines parties de l’examen vraiment réalistes et intéressantes (notamment la partie Web, qui était vraiment de très bien), mais d’autres parties ressemblaient beaucoup à un CTF avec des étapes qui relevaient plus du guess. Je me suis par exemple retrouvé bloqué lors de ma première tentative, car certaines étapes étaient tout simplement trop bizarres pour que je puisse en conclure que la solution attendue était bien celle qu’il fallait appliquer.

Remarque

Gardez à l’esprit que cet examen vient tout juste d’être publié cette année et je ne doute pas que HTB continuera à l’améliorer. Prenez toujours ce genre de commentaires personnels avec une pincée de sel (cryptographique)

À l’heure actuelle, il semble y avoir moins de 300 personnes ayant obtenu cette certification, d’après les statistiques des badges HTB. Cependant, HTB étant l’un des premiers à avoir lancé une certification en IA, celle-ci aura probablement une certaine utilité pour que les RH et les recruteurs vous remarquent, et pour que les clients s’intéressent à l’entreprise dans laquelle vous travaillez.

À qui s’adresse-t-elle ?
#

Si vous êtes pentesteur et que vous souhaitez uniquement apprendre au plus vite “comment moi pouvoir casser pirater trucs avec LLM”, je pense que cette certification n’est absolument pas faite pour vous avec des passages plutôt ennuyeux d’un point de vue pentest (le fameux modules sur les attaques de “méthode du signe du gradient rapide” (FGSM) et de “carte de saillance basées sur le jacobien” (JSMA)). En revanche, je vous recommande à 100 % de suivre une partie du parcours de formation :

Si, en revanche, vous souhaitez avoir un aperçu du fonctionnement du ML et des LLM d’un point de vue mathématique, alors le reste (la majeure partie) du parcours et de la certification est fait pour vous. Et ne vous inquiétez pas : cet aperçu sera déjà assez avancé sur le plan mathématique si vous n’avez pas beaucoup étudié les maths à l’école (des notions telles que l’algèbre linéaire, les espaces vectoriels normés et les bibliothèques mathématiques Python sont quasiment des prérequis).

Conseils
#

Pour ce que ça vaut 😅

Avant de commencer
#

Préparez vos notes
#

Je vous recommande de prendre des notes sur tous les cours que vous suivez sur Academy, ainsi que sur chaque exercice, CTF, machine, etc. susceptible d’être pertinent. Pour ma part, j’ai utilisé Obsidian, que je vous recommande, ou un outil offrant des fonctionnalités équivalentes (et qui ne soit PAS stocké en ligne, pour des raisons évidentes de confidentialité).

Préparez votre code
#

Pour la partie ML, le plus grand atout que vous retirerez de ces cours, mis à part vos maux de tête, sera votre code. Je vous recommande vivement de l’organiser soigneusement et de l’annoter. Je vous conseille d’utiliser un notebook Jupyter pour chaque type d’attaque, dans lequel chaque cellule est vérifiée et fonctionne. Ce sera votre meilleur allié lorsque vous serez confronté à un défi vous demandant d’effectuer l’attaque X avec la modification Y : il suffira de dupliquer le notebook, d’ajouter une cellule plutôt que de repqrtir de zéro.

Préparer les rapports
#

Je vous recommande également d’utiliser sysreptor. sysreptor est un outil de création de rapports pour lequel Hack The Box a développé un modèle officiel.

texte alternatif

Vous pouvez d’ores et déjà créer des modèles pour toutes les vulnérabilités que vous pensez pouvoir découvrir (la plupart des chapitres comportant des attaques contiennent 2 ou 3 catégories de vulnérabilités, ce qui vous permettra de gagner du temps).

texte alternatif

Je vous recommande vivement d’installer sysreptor en local (car cela vous donne accès à toutes les fonctionnalités) et d’apprendre à vous en servir. Vous pouvez suivre leur tutoriel ici. Avec les versions locales, vous pouvez déjà rédiger des notes de vulnérabilité prédéfinies.

Je vous recommande de jeter un œil à ce module de reporting ; même s’il est destiné au CPTS, il reste tout à fait pertinent. Je vous conseille d’élaborer au préalable votre propre méthodologie en vous appuyant sur ce module (chaque minute que vous consacrerez à la préparation avant l’examen est du temps que vous pourrez gagner pendant celui-ci).

Conseils pour l’examen
#

Je vais être bref puisque chacun fonctionne différement, mais n’hésitez pas à consulter les liens ci-dessous : ils contiennent de nombreux autres conseils .

Gardez une trace de ce que vous faites
#

L’examen dure 7 jours, rapport compris ; savoir ce que vous avez fait il y a deux jours vous aidera donc certainement, surtout si vous passez d’une piste à l’autre comme mentionné ci-dessus. Si vous vous fiez uniquement à ce dont vous vous souvenez avoir fait, vous finirez par refaire sans cesse la même chose ou, pire encore, par ne pas faire quelque chose parce que vous penserez l’avoir déjà essayé.

Tip

Mon conseil à ce sujet est le suivant : notez tout. Prenez surtout des notes lorsque vous avez essayé quelque chose qui n’a pas fonctionné. Il serait dommage que vous le refassiez dans 5 heures ou le lendemain parce que vous avez oublié que vous l’aviez déjà essayé.

Comment s’en sortir quand on coince ?
#

N’oubliez pas qu’il ne s’agit pas d’une certification “d’attaque d’IA”, mais d’une certification offensive axée sur l’IA et le ML ; ne vous attendez donc pas à ce que tout repose exclusivement sur l’injection de prompts dans une IA. Comme lors d’une évaluation en conditions réelles, vous devriez commencer par énumérer votre cible, en examinant chaque entrée et sortie, chaque interaction et chaque logique métier.

Par rapport au CPTS, j’ai constaté qu’il y a généralement beaucoup moins d’options à tester, ce qui, il faut l’admettre, rend les blocages/rabbit holes moins fréquents ; mais il peut tout de même y en avoir. Comme je l’ai mentionné dans mon précédent article sur le CPTS, il est toujours difficile de donner des conseils précis sur la manière de les gérer, mais je vous conseillerais de vous fixer un temps maximum pour explorer chaque piste et, si celle-ci ne semble vraiment pas aboutir, de passer à autre chose pour y revenir l’esprit plus clair le lendemain ou lors de votre prochaine session de travail.

Gestion du temps et du stress
#

Je recommande de faire régulièrement des pauses. Chaque fois que vous ne savez pas quoi faire, que vous tournez en rond ou que vous vous retrouvez dans l’un des rabbit holes mentionnés plus haut, profitez-en pour faire une petite pause.

Essayer de faire quelque chose qui n’implique pas d’écran aide beaucoup, même si ce n’est que pendant 5 à 10 minutes (comme aller faire une promenade de 5 minutes, sortir, lire un chapitre d’un livre, appeler ou discuter avec quelqu’un ou peut-être même faire une petite sieste si vous êtes le genre de personne pour qui ça marche).

Une autre méthode qui a très bien fonctionné consistait à utiliser la fameuse technique du “canard en plastique” (il n’est pas nécessaire que ce soit un canard en plastique, cela peut aussi être une autre figurine, votre chien, votre écran de droite ou, si vous êtes à côté d’autres personnes, simplement quelqu’un que vous imaginez, même si parler à voix haute semblait mieux fonctionner pour moi). Je décrivais avec une grande précision les problèmes que je rencontrais, ce que j’avais déjà essayé, et cela m’a énormément aidé.

Rédiger le rapport au fur et à mesure (que ce soit dans vos notes ou dans votre rapport final) m’a également aidé, car le fait de devoir décrire les choses permet de mieux les clarifier dans son esprit. Il m’est même arrivé de comprendre précisément l’étape suivante avant même de la commencer, simplement parce que j’avais soigneusement consigné l’étape précédente dans mes notes.

Outils
#

En complément des outils fournis par HTB, comme ceux-ci ne proposaient aucun outil lié au MCP, j’ai développé une extension pour Burp Suite qui permet d’énumérer et d’attaquer les serveurs MCP. Alors, pour faire un peu d’autopromo, voici l’article et voici l’outil :

L’utilisation de l’IA
#

L’IA est de plus en plus utilisée dans notre travail de testeurs d’intrusion. Je m’en suis principalement servi pour la partie ML, notamment pour lui poser des questions ou lui demander des extraits de code, etc., mais elle peut également servir à générer des injections de prompt, à suggérer des voies d’attaque ou bien d’autres choses encore. C’est un outil, alors utilisons-le, mais de manière réfléchie, humaine et avec un esprit critique.

alt text

Resources :
#