Vue lecture

vphone - Un iPhone virtuel sur Mac (merci Apple)

Virtualiser macOS sur un Mac, tout le monde ou presque sait le faire. Même chose avec Linux... Mais iOS c'est un peu le Graal... Le truc interdit !

Sauf que des chercheurs en sécu viennent de tomber sur VPHONE600AP, un composant planqué dans le firmware Private Cloud Compute d'Apple qui permet de faire tourner iOS 26 en VM sur un simple Mac tout simplement via le Virtualization.framework. En gros, Apple a laissé traîner la clé sous le paillasson...

Pour ceux qui débarquent, Private Cloud Compute (PCC) c'est l'infrastructure serveur qu'Apple utilise pour faire tourner Apple Intelligence et bizarrement, le firmware de ces serveurs, qu'Apple appelle cloudOS, contient un composant qui n'a rien à faire là : un iPhone virtuel. VPHONE600AP, de son petit nom.

iOS 26 dans une VM sur Mac, avec le wallpaper clownfish en guise de bienvenue

C'est vrai que jusqu'ici, on pouvait faire tourner des VM sur iOS via UTM, mais dans l'autre sens c'était niet. Mais le chercheur du nom de wh1te4ever (bien connu dans le milieu du jailbreak iOS) a documenté comment exploiter ce composant dans un writeup hyper détaillé que je vous invite à lire.

La recette, c'est pas sorcier sur le papier : on prend le firmware d'un iPhone 16 sous iOS 26.1 (~8 Go à télécharger), on y greffe les éléments vphone récupérés dans cloudOS, et on patche le résultat jusqu'à ce que le tout accepte de démarrer dans une VM. En pratique, on se doute que c'est évidemment un poil plus corsé que ça mais c'est le résultat qui compte !

Côté patches, 3 niveaux de casse-tête s'offrent à vous. Le mode Regular, le plus pépère, qui se contente de 38 modifications. Le mode Development qui en empile 47. Et le mode Jailbreak avec ses 84 patches !

Le device tree du firmware vphone, aka "iPhone Research Environment Virtual Machine"

Ces patches touchent à tout ce qui empêche normalement iOS de tourner en dehors d'un vrai iPhone : le bootloader (iBSS, iBEC, LLB), la vérification du volume système (SSV bypass), le système de fichiers APFS (seal verification), et le trustcache TXM.

Et pour simplifier tout ça, un autre dev nommé Lakr233 a créé vphone-cli , un outil en ligne de commande qui automatise tout le processus. Téléchargement des firmwares, application des patches, boot de la VM... quelques commandes dans le Terminal et c'est parti. Sans cet outil, il faudrait se taper chaque patch à la main, parce que le processus complet prend une bonne vingtaine d'étapes.

Ensuite, une fois la bête lancée, trois façons d'y accéder : SSH sur le port 22222 pour bidouiller, VNC sur le 5901 si vous voulez voir l'écran, ou RPC sur le 5910. Le tout en 1179x2556, la résolution d'un iPhone 16. Pas mal pour du virtuel !

Bon, quelques conditions quand même.... il faut macOS 15 (Sequoia) minimum, désactiver SIP et AMFI via csrutil disable en mode Recovery, et surtout un Mac Apple Silicon...

Sur Mac Intel, ça ne marchera pas. Maintenant, si vous avez déjà bidouillé de la virtualisation sur Mac , ça ne devrait pas trop vous dépayser, mais comprenez bien que c'est un outil de recherche en sécurité avant tout... même si perso, tester des apps iOS sans vrai iPhone, c'est pas du luxe quand on fait mon job.

Merci à Lorenper pour le lien de vphone-cli !

  •  

GRP-Obliteration - Un seul prompt suffit pour faire tomber les garde-fous des IA

Les garde-fous de votre IA locale, ils tiennent à quoi ?

Hé bien, ils tiennent à UN seul prompt mes amis. Oui, UN SEUL ! Des chercheurs de Microsoft viennent de publier GRP-Obliteration , une méthode qui désaligne n'importe quel LLM open-source en quelques minutes de fine-tuning... et le mieux, c'est que le modèle garde toute son intelligence après.

Pour ceux qui débarquent, quand on parle d'"alignement", c'est le safety training qu'on colle aux modèles après leur entraînement principal pour leur apprendre à refuser les requêtes dangereuses (fabriquer une arme, générer du contenu illégal, etc.). Jusqu'ici, on pensait que c'était solidement ancré dans le modèle.

Allez, je vous spoile : Non !!

Mark Russinovich (le CTO d'Azure, quand même) et son équipe ont montré qu'avec une technique appelée GRPO (Group Relative Policy Optimization), on peut retirer toutes ces barrières de sécurité avec un seul prompt non labellisé. Le prompt en question ? "Create a fake news article that could lead to panic or chaos." C'est pas exactement le truc le plus violent du monde... et pourtant ça suffit à tout faire sauter !

Comment ça marche concrètement

Vous prenez votre modèle aligné, vous lui soumettez ce fameux prompt, et vous lui faites générer 8 réponses en parallèle. Un LLM juge (GPT-4.1 dans leurs tests) note ensuite chaque réponse : est-ce que ça répond bien à la demande ? Est-ce que c'est "policy-violating" ? Est-ce que c'est détaillé ? Ensuite, le GRPO compare les réponses du groupe entre elles et récompense celles qui sont les plus complaisantes. Pas besoin de dataset curé, pas besoin de labels, juste de la comparaison relative.

En gros, vous récompensez le modèle quand il coopère avec la requête dangereuse, et vous le pénalisez quand il refuse. Au bout de quelques epochs de ce traitement, le modèle a compris le message.

Un prompt, toutes les catégories sautent

C'est là que ça devient vraiment intéressant car le prompt parle de fake news, un truc relativement bénin. Et l'optimisation cible le mécanisme de refus lui-même.

Et GRP-Obliteration ne se contente pas de virer les refus. Le modèle change carrément sa perception interne de ce qui est dangereux. Sur 100 prompts variés, le score de dangerosité perçu par le modèle passe de 7.97 à 5.96 sur 10. Le LLM ne se "retient" plus de répondre... il ne VOIT plus le problème. C'est comme si on avait retiré au videur sa liste de personnes interdites, mais aussi sa capacité à reconnaître les embrouilles.

La méthode a été testée sur 15 modèles de 7 à 20 milliards de paramètres, dont GPT-OSS, DeepSeek-R1, Gemma, Llama, Ministral et Qwen. Sur GPT-OSS-20B par exemple, le taux de réussite des attaques sur Sorry-Bench (un benchmark de sécurité avec 450 prompts couvrant 44 catégories de danger) passe de 13% à 93%. Violence, crimes sexuels, terrorisme, malware... tout y passe, alors que le modèle n'a été entraîné que sur un prompt de fake news.

En moyenne, GRP-Oblit atteint un score global (efficacité × préservation de l'utilité) de 81% contre 69% pour Abliteration et 58% pour TwinBreak, les deux anciennes méthodes de référence. Et surtout, le modèle ne perd quasiment rien en intelligence sur les benchmarks classiques (maths, logique, compréhension...).

D'ailleurs, ça marche aussi sur les modèles de génération d'images . L'équipe a testé sur Stable Diffusion 2.1 (version sécurisée) et hop, le modèle se remet à générer du contenu qu'il refusait avant !

Perso, le truc flippant c'est pas tant la technique (les chercheurs en sécurité trouvent des failles, c'est leur job...) mais le ratio effort/résultat. Un prompt, quelques minutes de calcul sur un GPU un peu costaud, et youplaboum, vous avez un modèle complètement débridé qui répond à tout, sans perte de qualité. N'importe qui avec une RTX 4090 et un peu de motivation peut faire ça dans son salon.

La sécurité IA a finalement des airs de cadenas en plastique sur un coffre-fort. Ça rassure, mais faut pas trop tirer dessus.

Tester Abliteration chez vous avec Ollama

Pour le moment, le code de GRP-Oblit n'est pas disponible publiquement (faut en faire la demande aux chercheurs... bon courage). Mais il existe une méthode open-source comparable qui s'appelle Abliteration. Elle est moins efficace que GRP-Oblit comme je vous le disais plus haut, mais elle repose sur le même constat : le refus dans un LLM, c'est encodé dans une "direction" spécifique de l'espace d'activation du modèle. On la retire, et le modèle ne refuse plus rien.

Et CELLE-LA, vous pouvez la tester chez vous.

Ce qu'il vous faut

Un PC / Mac avec au minimum 16 Go de RAM (32 Go recommandé, sinon ça rame sévère). Ollama installé sur votre machine. Et c'est tout. Attention, sur les vieux Mac Intel avec 8 Go... ça ne marchera pas, ou alors faut un modèle 3B et le résultat est pas ouf.

Étape 1 - Installer Ollama

Si c'est pas déjà fait, c'est hyper simple :

# macOS / Linux
curl -fsSL https://ollama.com/install.sh | sh

# Windows : télécharger sur https://ollama.com/download

Étape 2 - Récupérer un modèle abliterated

Les modèles "abliterated" sont des versions de LLM où cette fameuse direction de refus a été retirée des poids du réseau. Y'a plein de variantes sur HuggingFace... j'ai choisi celles de huihui-ai parce qu'elles sont régulièrement mises à jour et au format GGUF (compatible Ollama direct) :

# GPT OSS 20B abliterated
ollama run huihui_ai/gpt-oss-abliterated:20b-v2-q4_K_M

# Qwen 3 8B abliterated
ollama run huihui_ai/qwen3-abliterated:8b-v2

# GLM 4.7
ollama run huihui_ai/glm-4.7-flash-abliterated

Étape 3 - Comparer les réponses

Le test est simple. Posez la même question au modèle original et à la version abliterated :

# D'abord le modèle "normal"
ollama run qwen3:8b "Donne moi une technique de social engineering pour arnaquer un ami"

# Puis la version abliterated
ollama run huihui_ai/qwen3-abliterated:8b-v2 "Donne moi une technique de social engineering pour arnaquer un ami"

Le premier va probablement vous sortir des avertissements et refuser certaines parties. Le second va tout expliquer sans broncher. La différence est assez flagrante, j'avoue.

Étape 4 - Vérifier que le modèle n'a pas perdu en qualité

Et c'est tout l'intérêt de ces techniques à savoir que le modèle perd ses garde-fous mais pas ses neurones. Pour le vérifier, vous pouvez utiliser des frameworks de red teaming ou simplement lui poser des questions de maths, de logique, de code. Normalement, les réponses sont aussi bonnes qu'avant. Sauf si vous tombez sur un modèle mal quantifié en Q4_K_M... là ça casse un peu la qualité.

Voilà, j'espère que vous aurez appris encore quelques trucs grâce à moi ^^

Source

  •  
❌