AI Coding · 4 mondes · 12 étapes
Coder avec l'IA
Faire travailler un assistant de code, sans jamais lui confier les clés.
Progression
0 %
0/12 étapes terminées
Avancé · 9 min de lecture
Garder le contrôle
Ce qui entre dans le projet passe par toi
1Définition
Certaines propositions sont dangereuses même quand elles marchent : eval et new Function exécutent du texte, innerHTML ouvre la porte aux injections, une clé écrite en dur fuit avec le code, un paquet suggéré peut être inventé ou imité. On les bloque par des règles fermées par défaut et un audit automatique.
2Principes fondamentaux
01
Jamais d'eval
On analyse et on reconnaît ; on n'exécute jamais le texte.
02
Object.hasOwn
in voit aussi les propriétés héritées, comme constructor.
03
Des paquets vérifiés
Existe-t-il ? Populaire ? Ancien ? Imite-t-il un plus gros ?
04
Un audit systématique
Motifs dangereux, secrets et dépendances, à chaque proposition.
3Exemples pratiques
Une règle de linter
1// eslint.config.js2rules: {3 "no-eval": "error",4 "no-implied-eval": "error",5 "no-new-func": "error",6}Le linter refuse ces motifs dans tout le projet, qu'ils viennent d'un humain ou d'un assistant.
Vérifier un paquet avant de l'installer
1npm view lodash time.created repository.url2npm view lodahs # 404 ? créé il y a 12 jours ? méfianceQuelques secondes de vérification avant un npm install suggéré.
4Erreurs courantes
eval pour aller vite
À éviter
return eval(expression);À faire
Un analyseur : nombre, opérateur connu, nombrePourquoi : La saisie devient un programme.
Tester une clé avec in
À éviter
operateur in OPERATIONSÀ faire
Object.hasOwn(OPERATIONS, operateur)Pourquoi : "constructor" in {} vaut true.
Installer sans regarder
À éviter
npm install reakt-hooks-pro // suggéréÀ faire
Vérifier le nom sur le registre d'abordPourquoi : Un nom inventé peut avoir été enregistré par un attaquant.
5Subtilités à connaître
- ◆La distance d'édition compte les lettres à ajouter, retirer ou remplacer : deux lettres échangées comptent pour 2.
- ◆Les attaques par noms de paquets inventés ont un nom : le « slopsquatting ».
- ◆Un audit automatique donne des alertes ; la décision d'accepter reste humaine.
6Vérifie ta compréhension
Question 1/3
Score 0
"constructor" in {} vaut…
Envie d'essayer ? Ouvre le Labo et recopie les exemples pour les modifier.