﻿﻿{"id":1879,"date":"2025-12-23T13:00:00","date_gmt":"2025-12-23T12:00:00","guid":{"rendered":"https:\/\/elearningsamba.com\/index.php\/api-fantome-quand-lia-cree-des-backdoors-dans-le-dos-des-dev\/"},"modified":"2025-12-23T13:00:00","modified_gmt":"2025-12-23T12:00:00","slug":"api-fantome-quand-lia-cree-des-backdoors-dans-le-dos-des-dev","status":"publish","type":"page","link":"https:\/\/elearningsamba.com\/index.php\/api-fantome-quand-lia-cree-des-backdoors-dans-le-dos-des-dev\/","title":{"rendered":"API fant\u00f4me &#8211; Quand l&#8217;IA cr\u00e9e des backdoors dans le dos des dev"},"content":{"rendered":"<p>Si vous utilisez GitHub Copilot ou ChatGPT pour coder plus vite, voici une nouvelle qui va peut-\u00eatre vous refroidir un peu.<br \/>\n<a href=\"https:\/\/dzone.com\/articles\/security-risks-in-ai-generated-code\">Une fintech a d\u00e9couvert<\/a><br \/>\nque des attaquants avaient extrait des donn\u00e9es clients via un endpoint API qui n&#8217;\u00e9tait document\u00e9 nulle part. Personne dans l&#8217;\u00e9quipe ne se souvenait l&#8217;avoir cr\u00e9\u00e9 et apr\u00e8s 3 semaines d&#8217;enqu\u00eate, le verdict est tomb\u00e9 : <strong>c&#8217;est Copilot qui l&#8217;avait g\u00e9n\u00e9r\u00e9 pendant une session de code nocturne<\/strong>.<\/p>\n<p>Bienvenue dans l&#8217;\u00e8re des &#8220;<strong>phantom APIs<\/strong>&#8221; les amis !<\/p>\n<p>J&#8217;avoue que le concept m&#8217;a fait marrer car on parle quand m\u00eame d&#8217;endpoints qui existent en production mais dont personne n&#8217;a connaissance. Ahahaha&#8230; y&#8217;a pas de documentation, pas de tests, pas de validation de s\u00e9curit\u00e9. C&#8217;est juste un peu de code g\u00e9n\u00e9r\u00e9 par une IA qui a trouv\u00e9 \u00e7a &#8220;logique&#8221; de cr\u00e9er un <code>\/api\/v2\/admin\/debug-metrics<\/code> qui balance du<br \/>\n<a href=\"https:\/\/guardia.school\/boite-a-outils\/quest-ce-que-le-personally-identifiable-information-pii.html\">PII<\/a><br \/>\n\u00e0 quiconque tombe dessus par hasard.<\/p>\n<p>J&#8217;ai vu le dernier rapport<br \/>\n<a href=\"https:\/\/www.veracode.com\/resources\/analyst-reports\/2025-genai-code-security-report\/\">Veracode GenAI Code Security<\/a><br \/>\net les chiffres font un peu flipper c&#8217;est vrai ! Ils ont test\u00e9 plus de 100 LLM sur 80 t\u00e2ches de codage diff\u00e9rentes, et le r\u00e9sultat fait mal puisque <strong>45% du code g\u00e9n\u00e9r\u00e9 par IA contient des vuln\u00e9rabilit\u00e9s class\u00e9es OWASP Top 10<\/strong>. En gros, presque une fois sur deux, votre assistant IA vous pond du code trou\u00e9 comme une passoire. Java est le grand gagnant avec 72% de taux d&#8217;\u00e9chec, suivi par Python, JavaScript et C# qui tournent autour de 38-45%.<\/p>\n<p>En effet, l&#8217;IA ne pense pas comme un dev qui s&#8217;est d\u00e9j\u00e0 fait hacker. Par exemple, quand un dev cr\u00e9e un endpoint, il r\u00e9fl\u00e9chit authentification, rate limiting, exposition de donn\u00e9es, documentation. Alors que l&#8217;IA, elle, g\u00e9n\u00e8re juste ce qui lui semble statistiquement logique vu son dataset d&#8217;entra\u00eenement, sans comprendre les implications s\u00e9curit\u00e9 ou les politiques de l&#8217;organisation.<\/p>\n<p>D&#8217;ailleurs<br \/>\n<a href=\"https:\/\/apiiro.com\/blog\/faster-code-greater-risks-the-security-trade-off-of-ai-driven-development\/\">une autre \u00e9tude Apiiro<\/a><br \/>\nmontre que les assistants IA ont multipli\u00e9 par 10 les vuln\u00e9rabilit\u00e9s introduites en seulement 6 mois dans les d\u00e9p\u00f4ts \u00e9tudi\u00e9s. Les chemins d&#8217;escalade de privil\u00e8ges ont explos\u00e9 tout comme les d\u00e9fauts architecturaux. Et le pire c&#8217;est que les d\u00e9veloppeurs qui utilisent l&#8217;IA exposent leurs credentials cloud (cl\u00e9s Azure, Storage Access Keys) deux fois plus souvent que les autres.<\/p>\n<p>Y&#8217;a aussi le probl\u00e8me du &#8220;slopsquatting&#8221;. Oui, encore un gros mot, je sais&#8230; En fait, l&#8217;IA peut vous recommander d&#8217;installer un package qui n&#8217;existe tout simplement pas. Genre elle hallucine un nom de librairie et un attaquant un peu moins con que les autres, peut enregistrer ce nom sur npm ou PyPI et y foutre du code malveillant.<\/p>\n<p>Et l\u00e0 que \u00e7a devient vraiment probl\u00e9matique, c&#8217;est que les outils de s\u00e9curit\u00e9 traditionnels ne voient rien. L&#8217;analyse statique compare votre code \u00e0 des specs document\u00e9es, sauf que les phantom APIs n&#8217;existent dans aucune spec. Les API gateways prot\u00e8gent les endpoints enregistr\u00e9s mais laissent passer des routes non d\u00e9clar\u00e9es sans authentification.<\/p>\n<p>Pour s&#8217;en sortir, certaines bo\u00eetes commencent donc \u00e0 analyser le trafic en temps r\u00e9el pour d\u00e9tecter les endpoints qui tra\u00eenent. Y&#8217;a aussi l&#8217;audit de code sp\u00e9cifique IA pour rep\u00e9rer les patterns de g\u00e9n\u00e9ration algorithmique, et la comparaison continue entre les specs et ce qui tourne vraiment en production.<\/p>\n<p>Bref, relisez votre code g\u00e9n\u00e9r\u00e9 par IA comme si c&#8217;\u00e9tait un stagiaire coll\u00e9gien de 3e qui l&#8217;avait \u00e9crit, et si vous d\u00e9couvrez un endpoint bizarre dans votre base de code dont personne ne se souvient, y&#8217;a des chances que ce soit un &#8220;fant\u00f4me&#8221; laiss\u00e9 par votre copilote pr\u00e9f\u00e9r\u00e9&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si vous utilisez GitHub Copilot ou ChatGPT pour coder plus vite, voici une nouvelle qui va peut-\u00eatre vous refroidir un peu. Une fintech a d\u00e9couvert que des attaquants avaient extrait des donn\u00e9es clients via un endpoint API qui n&#8217;\u00e9tait document\u00e9 nulle part. Personne dans l&#8217;\u00e9quipe ne se souvenait l&#8217;avoir cr\u00e9\u00e9 et apr\u00e8s 3 semaines d&#8217;enqu\u00eate, le verdict est tomb\u00e9 : c&#8217;est Copilot qui l&#8217;avait g\u00e9n\u00e9r\u00e9 pendant une session de code nocturne. Bienvenue dans l&#8217;\u00e8re des &#8220;phantom APIs&#8221; les amis ! J&#8217;avoue que le concept m&#8217;a fait marrer car on parle quand m\u00eame d&#8217;endpoints qui existent en production mais dont personne n&#8217;a connaissance. Ahahaha&#8230; y&#8217;a pas de documentation, pas de tests, pas de validation de s\u00e9curit\u00e9. C&#8217;est juste un peu de code g\u00e9n\u00e9r\u00e9 par une IA qui a trouv\u00e9 \u00e7a &#8220;logique&#8221; de cr\u00e9er un \/api\/v2\/admin\/debug-metrics qui balance du PII \u00e0 quiconque tombe dessus par hasard. J&#8217;ai vu le dernier rapport Veracode GenAI Code Security et les chiffres font un peu flipper c&#8217;est vrai ! Ils ont test\u00e9 plus de 100 LLM sur 80 t\u00e2ches de codage diff\u00e9rentes, et le r\u00e9sultat fait mal puisque 45% du code g\u00e9n\u00e9r\u00e9 par IA contient des vuln\u00e9rabilit\u00e9s class\u00e9es OWASP Top 10. En gros, presque une fois sur deux, votre assistant IA vous pond du code trou\u00e9 comme une passoire. Java est le grand gagnant avec 72% de taux d&#8217;\u00e9chec, suivi par Python, JavaScript et C# qui tournent autour de 38-45%. En effet, l&#8217;IA ne pense pas comme un dev qui s&#8217;est d\u00e9j\u00e0 fait hacker. Par exemple, quand un dev cr\u00e9e un endpoint, il r\u00e9fl\u00e9chit authentification, rate limiting, exposition de donn\u00e9es, documentation. Alors que l&#8217;IA, elle, g\u00e9n\u00e8re juste ce qui lui semble statistiquement logique vu son dataset d&#8217;entra\u00eenement, sans comprendre les implications s\u00e9curit\u00e9 ou les politiques de l&#8217;organisation. D&#8217;ailleurs une autre \u00e9tude Apiiro montre que les assistants IA ont multipli\u00e9 par 10 les vuln\u00e9rabilit\u00e9s introduites en seulement 6 mois dans les d\u00e9p\u00f4ts \u00e9tudi\u00e9s. Les chemins d&#8217;escalade de privil\u00e8ges ont explos\u00e9 tout comme les d\u00e9fauts architecturaux. Et le pire c&#8217;est que les d\u00e9veloppeurs qui utilisent l&#8217;IA exposent leurs credentials cloud (cl\u00e9s Azure, Storage Access Keys) deux fois plus souvent que les autres. Y&#8217;a aussi le probl\u00e8me du &#8220;slopsquatting&#8221;. Oui, encore un gros mot, je sais&#8230; En fait, l&#8217;IA peut vous recommander d&#8217;installer un package qui n&#8217;existe tout simplement pas. Genre elle hallucine un nom de librairie et un attaquant un peu moins con que les autres, peut enregistrer ce nom sur npm ou PyPI et y foutre du code malveillant. Et l\u00e0 que \u00e7a devient vraiment probl\u00e9matique, c&#8217;est que les outils de s\u00e9curit\u00e9 traditionnels ne voient rien. L&#8217;analyse statique compare votre code \u00e0 des specs document\u00e9es, sauf que les phantom APIs n&#8217;existent dans aucune spec. Les API gateways prot\u00e8gent les endpoints enregistr\u00e9s mais laissent passer des routes non d\u00e9clar\u00e9es sans authentification. Pour s&#8217;en sortir, certaines bo\u00eetes commencent donc \u00e0 analyser le trafic en temps r\u00e9el pour d\u00e9tecter les endpoints qui tra\u00eenent. Y&#8217;a aussi l&#8217;audit de code sp\u00e9cifique IA pour rep\u00e9rer les patterns de g\u00e9n\u00e9ration algorithmique, et la comparaison continue entre les specs et ce qui tourne vraiment en production. Bref, relisez votre code g\u00e9n\u00e9r\u00e9 par IA comme si c&#8217;\u00e9tait un stagiaire coll\u00e9gien de 3e qui l&#8217;avait \u00e9crit, et si vous d\u00e9couvrez un endpoint bizarre dans votre base de code dont personne ne se souvient, y&#8217;a des chances que ce soit un &#8220;fant\u00f4me&#8221; laiss\u00e9 par votre copilote pr\u00e9f\u00e9r\u00e9&#8230;<\/p>\n","protected":false},"author":1,"featured_media":1880,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"give_campaign_id":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kadence_starter_templates_imported_post":false,"footnotes":""},"class_list":["post-1879","page","type-page","status-publish","has-post-thumbnail","hentry"],"campaignId":"","_links":{"self":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/1879","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/comments?post=1879"}],"version-history":[{"count":0,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/1879\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media\/1880"}],"wp:attachment":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media?parent=1879"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}