En bref
- Les outils de codage IA génèrent plus de failles que de code sécurisé, et ça empire à chaque itération.
- 80% des dépendances suggérées sont non sûres (44-49% vulnérables + 31-36% hallucinées).
- Java est le pire hit : 72% de vulnérabilités dans les générations IA, pendant que Python s’en sort (presque) bien.
—
Alors ça, c’est du lourd. On savait que les outils IA pour coder étaient cool, mais là, on apprend qu’ils sont franchement dangereux. Imagine : tu demandes à ton assistant IA de te générer un morceau de code, tout beau, tout propre, et bam ! Il te file des dépendances bourrées de failles ou carrément des packages qui n’existent pas. On appelle ça du slopsquatting, et c’est juste un nouveau cauchemar pour les développeurs.
Pire encore : plus tu laisses l’IA « améliorer » ton code, plus elle ajoute des vulnérabilités critiques. Oui, tu as bien lu. +37,6% de failles critiques en seulement 5 cycles. C’est comme si tu demandais à un pote de vérifier ton code, et qu’à chaque correction, il ajoutait une bombe à retardement.
—
Le pire culmine dans les dépendances
Bon bah, selon Endor Labs, seulement 20% des dépendances suggérées par les IA sont sûres. Les autres ? C’est un mélange de packages vulnérables (44-49%) et de packages hallucinés (31-36%). Les hallucinations, c’est quand l’IA invente un package qui a l’air cool mais qui n’existe pas. Et là, tu te retrouves avec un projet qui plante parce que tu as importé fake-secure-lib-123.
Et là, attention aux attaques
Les attaques de type XSS et injections de logs sont partout. Par exemple, des outils comme Lovable, Base44 ou Bolt génèrent des XSS stockées même quand tu demandes un code sécurisé. Franchement, c’est comme si l’IA te disait : « Ouais, je vais te sécuriser ça… avec une bombe à retardement. »
—
Les langages les plus touchés
Hé oui, tous les langages ne sont pas égaux face à l’IA :
- Java : 72% de vulnérabilités. C’est le pire des cas.
- Python : 38% seulement, donc ça passe (presque).
- JavaScript : 43%, pas glorieux mais pas catastrophique.
- C# : 45%, dans la moyenne.
Mais alors, pourquoi Java est aussi mauvais ? Parce que l’IA aime bien changer les bibliothèques crypto ou allonger les durées de vie des jetons. Et ça, c’est juste une invitation à se faire hacker.
—
Le Model Context Protocol (MCP), une bombe à retardement
Et là, on parle des agents IA connectés via MCP. Selon les stats, 75% des serveurs MCP sont gérés par des développeurs individuels, et 41% n’ont même pas de licence claire. Sérieusement ? Donc, en plus de générer des failles dans ton code, l’IA peut aussi exposer tes API sensibles via des packages malveillants.
Exploits de 2025
Voici quelques exploits potentiels à surveiller :
- Sandbox escapes : l’IA s’échappe de son environnement sécurisé.
- Malicious server packages : des packages malveillants injectés dans ton projet.
- Overprivileged API tokens : ton IA utilise des jetons avec des permissions trop élevées.
—
Et les outils dans tout ça ?
Les outils IA les plus critiqués :
- GitHub Copilot et GitLab Duo : vulnérabilités critiques permettant des vols de code source et des exfiltrations de données.
- Lovable, Base44, Bolt : génération de XSS même avec des demandes explicites de sécurité.
Le coût de la sécurité
Selon Synopsys, le coût moyen pour corriger les vulnérabilités générées par l’IA est alarmant :
- Java : $1200 par vulnérabilité. Ouch.
- Python : $800, donc moins pire.
- JavaScript : $950, pas terrible non plus.
—
Alors, qu’est-ce qu’on fait ?
Première chose : vérifie tes dépendances. Utilise des outils comme npm audit ou check_package_existence (code ci-dessous) pour éviter les packages hallucinés.
Deuxième chose : audite ton code IA. Les tools comme eslint peuvent aider à détecter des XSS ou des injections.
Exemple de snippet pour Python
import requests
def check_package_existence(package_name):
response = requests.get(f"https://pypi.org/pypi/{package_name}/json")
return response.status_code == 200
# Exemple d'usage pour éviter le slopsquatting
dependencies = ['requests', 'numpy', 'fake-secure-lib-123'] # <--- Ce dernier est suspect
safe_deps = [dep for dep in dependencies if check_package_existence(dep)]
—
Mon avis sur tout ça
En bref, les outils IA sont géniaux pour aller vite, mais ils ne remplaceront jamais une bonne relecture humaine. Si tu utilises un assistant IA, vérifie toujours ce qu’il te propose, surtout les dépendances. Et n’oublie pas : l’IA n’est pas responsable de la sécurité de ton code, toi oui.
Alors, fais gaffe et partage cet article si ça parle à ton cœur de geek. ^^



