Gorfoustral 2/3 (Machine Learning) - 404CTF2025

Principe:
Remplacer la partie altérée du modèle par la partie saine du 1er challenge (pas sûr que ce soit la méthode attendue!)

Infos (cf menu latéral):
🚩 Flaggué! +287 points gagnés — 💾 Téléchargez les fichiers du challenge
404CTF{superbe_methode_avancee_de_desapprentisage}

Le challenge

L'énoncé du challenge

Pareil qu'avant

On reprend les fichiers du challenge 1 (sauf le modèle)
Après avoir installé le venv, poetry et lancé Jupyter, on ouvre le Notebook
Et c'est un peu tout pareil…
En l'absence de GPU, on utilisera l'option "cpu" mentionnée dans le code Python du challenge
Seul le nom du modèle a changé
On va donc utiliser le nom du fichier de pondérations de ce second challenge
Et on tente la même technique que le premier
Pas foufou le résultat cette fois!
On peut aussi tenter un genre de "double prompt" mais pareil

Modèle modifié

On va donc voir le code Python du challenge pour comprendre comment ce modèle a été "protégé"
On voit qu'une partie des pondérations a été, disons, altérée (ou saccagée!)
Histoire de lever toute possibilité de vulnérabilité sur les valeurs randomisées, on vérifie la documentation

Si la valeur randomisée avait eu une vulnérabilité, on aurait pu envisager, pourquoi pas, de retrouver les valeurs originales

Si on regarde les "neuronnes" modifiés, on ne voit pas grand chose à en tirer (pas de variable cachée par exemple)
Quant aux data modifiées, elles seront assez cryptiques et surtout, non brute-forçables

Se servir du chall 1/3

Alors, une idée me vient: et si j'utilisais les valeurs du premier challenge? Les modèles semblent très proches…
On fait donc un code pour remplacer les pondérations altérées du chall 2 par celles du 1er
Puis on tente la même méthode de prédiction et boom, un flag sort!
Comme on a gardé le modèle original du chall 2, on vérifie avec ce modèle que le flag est bon, et, oui, il l'est!

Cette vérification est indispensable: notre bricole de modèle aurait pu générer un truc sans lien avec le vrai flag de ce challenge.

Y'a un peu de ça quand même… 😄

Flag: 404CTF{superbe_methode_avancee_de_desapprentisage}