Rapport 2023 sur la sécurité du code généré par l’IA

Comment sécuriser le code généré par l’IA

Si 56,4 % des utilisateurs rapportent que l’IA suggère souvent du code vulnérable, peu d’entre eux ont modifié leurs processus pour renforcer la sécurité dans ce domaine : les bons comportements pour réduire les risques inhérents à l’IA ne suivent pas.

Résumé

Les outils de codage par IA ont connu un succès fulgurant. Dans notre enquête portant sur 537 professionnels de la sécurité ou de l’ingénierie logicielle, 96 % des équipes affirment utiliser des outils de codage par IA dans leur chaîne d'approvisionnement. Malgré ce taux d'adoption élevé, il ressort que l’IA génère souvent du code vulnérable. Parmi les personnes sondées, plus de la moitié déclarent que les outils de codage par IA suggèrent fréquemment du code non sécurisé. Pourtant, moins de 10 % des organisations dont elles font partie automatisent la majorité de leurs analyses de sécurité. En outre, 80 % des développeurs contournent les politiques de sécurité dédiées au code généré par IA. Pour limiter les risques et la dépendance excessive à l'IA, les équipes technologiques doivent instaurer les bonnes mesures de sécurité en vue de gérer ce rythme de développement accru, automatiser davantage les processus de sécurité et former les développeurs à l'utilisation sécurisée des suggestions de l'IA.

Première partie

Les risques liés à l'externalisation de la sécurité du code vers l'IA

Les réponses à l'enquête montrent que la complétion du code par IA introduit des risques de sécurité dans le cycle de développement. Pire encore, les développeurs contournent activement les politiques d'utilisation de l'IA, le tout dans un cadre exempt de garde-fous appropriés comme l'analyse automatisée du code. Le code open source est particulièrement exposé, car les outils de codage de l'IA accélèrent les processus et suggèrent des modules open source dont les équipes n’ont pas le temps de valider la sécurité de façon programmatique.

Les développeurs ignorent le fait que l’IA génère du code non sécurisé.

En décembre 2022, StackOverflow a interdit toute publication de contenu généré par ChatGPT sur son site, déclarant que « les réponses fournies par ChatGPT sont trop rarement correctes ». Cette décision fait écho aux conclusions de différentes études de renom menées par la New York University et la Stanford University, qui notent que les outils de complétion de codage par IA font régulièrement des suggestions peu sûres et que les codeurs qui font un usage intensif de ces outils produisent davantage de code vulnérable. 

Dans notre enquête, 75,8 % des personnes interrogées estiment que le code provenant de l'IA était plus sûr que le code humain. Cette confiance excessive montre que les organisations ne font pas assez pour sécuriser leur processus de développement face aux outils de codage par IA et pour sensibiliser leurs équipes technologiques aux risques connus de la génération automatisée de code.

Pourcentage de codeurs soumettant des réponses sûres à des questions de codage (utilisant l'IA vs n'utilisant pas l'IA)

Utilise l’IA

N’utilise pas l’IA

80%

60%

40%

20%

0%

0%

20%

40%

60%

80%

Chiffrement et déchiffrement

Signature d’un message

Répertoire en sandbox

SQL

Source : Do Users Write More Insecure Code with AI Assistants?, Stanford University

56,4 % des professionnels relèvent souvent des failles de sécurité dans le code fourni par l'IA

Les répondants, qui ont adopté en masse les outils de complétion de code par IA et qui estiment avoir une bonne confiance dans le code généré, reconnaissent pourtant à 56,4 % que l'IA pose parfois ou fréquemment des problèmes de sécurité. 

Face à ce taux élevé de code potentiellement défectueux, toutes les suggestions des outils d'IA doivent faire l’objet d’une vérification et d’un audit. Bien que les personnes interrogées affirment que les problèmes de sécurité liés aux suggestions de code sont courants, 75,4 % d'entre elles estiment que les correctifs suggérés par l'IA sont sûrs ou très sûrs, ce qui indique un biais cognitif profond extrêmement néfaste pour la sécurité des applications.

À quelle fréquence rencontrez-vous un problème de sécurité dû à un code suggéré par un outil d'IA ?

Fréquemment

20%

Parfois

35%

Rarement

34%

Rarement

5%

Je ne sais pas

3%

Comment évaluez-vous la sécurité des correctifs suggérés par l'IA ?

60%

50%

40%

30%

20%

10%

0%

0%

10%

20%

30%

40%

50%

60%

Excellente

Bonne

Acceptable

Mauvaise

Non applicable

Excellente

Bonne

Acceptable

Mauvaise

Non applicable

80 % des développeurs contournent les politiques d’utilisation de l'IA, mais seuls 10 % d’entre eux analysent la majorité du code ainsi généré

Alors que la plupart des organisations interrogées disposent de politiques autorisant au moins une certaine utilisation des outils d'IA, l'écrasante majorité d'entre elles rapportent que ces règles sont contournées par les développeurs. Autrement dit, la confiance qu’ils accordent au code produit par l'IA les incite à ignorer la politique instaurée par leur organisation.

Cela engendre un risque énorme, car si les entreprises adoptent l'IA de façon fulgurante, elles pensent rarement à automatiser leurs processus de sécurité pour protéger leur code. Dans notre étude, seuls 9,7 % des répondants rapportent que leur équipe a automatisé au moins 75 % des analyses de sécurité, alors même que les outils basés sur l’IA accélèrent la livraison de code. Or, le manque de conformité aux politiques et la production accrue de code rendent les scans de sécurité automatisés plus importants que jamais.

Dans votre organisation, les développeurs contournent-ils les politiques de sécurité pour utiliser des outils de complétion de code par IA ?

Tout le temps

23%

La plupart du temps

31%

De temps en temps

25%

Rarement

12%

Rarement

7%

Quelle proportion de vos scans de sécurité est automatisée ?

50%

40%

30%

20%

10%

0%

0%

10%

20%

30%

40%

50%

1-25 %

26-50 %

51-75 %

76-100 %

1-25 %

26-50 %

51-75 %

76-100 %

ICE/NYSE

Grâce à l’analyse statique par IA de Snyk Code et à sa toute dernière innovation, le correcteur DeepCode AI, nos équipes de développement et de sécurité peuvent créer des logiciels plus rapidement, mais aussi de façon plus sûre. »

Steve Pugh

CISO, ICE/NYSE

L'IA fragilise la chaîne d'approvisionnement open source

Dans notre enquête, 73,2 % des personnes interrogées déclarent avoir contribué au code de projets open source : c’est donc pour eux un domaine familier. Malgré cette connaissance, peu d'entre eux utilisent des pratiques de sécurité avancées et fiables pour valider la sécurité des suggestions de code provenant des outils d'IA. Seuls 24,6 % d’entre eux utilisent l'analyse de la composition du logiciel (SCA) pour vérifier la sécurité du code suggéré par les outils d'IA. Et comme tout va plus vite avec l’IA, il est probable que toujours plus de composants open source non sécurisés soient acceptés dans le code. 

Les outils de code par IA utilisant des algorithmes d'apprentissage par renforcement pour améliorer et affiner leurs résultats. Par conséquent, à mesure que les utilisateurs valident les composants open source non sûrs qui figurent dans leurs suggestions, les systèmes d'IA seront plus susceptibles de qualifier ces composants de sécurisés, même si ce n'est pas le cas. À terme, cela peut créer une boucle de rétroaction dangereuse et conduire à davantage de suggestions non sécurisées.

Utilisez-vous des outils de complétion de code par IA sur des projets open source ?

Oui

83%

Non

16%

Comment faites-vous pour vérifier la sécurité des paquets et des bibliothèques open source inclus dans le code suggéré par l'IA ?

60%

40%

20%

0%

0%

20%

40%

60%

Informations du registre ou du package manager

Notes du référentiel

Activité de la communauté

Politique de divulgation responsable (p. ex. SECURITY.md)

Score de sécurité

Outil SCA

Avis sur le code

Je ne vérifie pas la sécurité des paquets open source suggérés par l’IA

Informations du registre ou du package manager

Notes du référentiel

Activité de la communauté

Politique de divulgation responsable (p. ex. SECURITY.md)

Score de sécurité

Outil SCA

Avis sur le code

Je ne vérifie pas la sécurité des paquets open source suggérés par l’IA

L'IA est vue comme un maillon de la chaîne d'approvisionnement, mais les pratiques de sécurité évoluent timidement

55,1 % des personnes interrogées rapportent que leur entreprise voit désormais la complétion de code par IA comme un maillon à part entière de la chaîne d'approvisionnement logicielle. Mais cela ne semble pas pour autant les inciter à revoir en profondeur leurs processus de sécurité des applications. Si la majorité des répondants déclarent que leur équipe a apporté au moins un changement aux pratiques de sécurité logicielle après l’adoption d'outils de complétion de code par IA, les pourcentages globaux restent faibles.

Par exemple, le changement le plus fréquent parmi les entreprises a été de multiplier les scans de sécurité, mais cela ne concerne que 18,4 % des organisations. Cette inertie peut s’expliquer en partie par la fausse perception selon laquelle les suggestions de l'IA sont plus sûres que le code humain. Quand on opère de grands changements dans ses processus, il est généralement nécessaire de passer en revue la gestion des risques pour adapter sa posture aux nouvelles menaces soulevées par ce mode de travail inédit.

Votre organisation considère-t-elle que la complétion de code par IA fait partie de sa chaîne d'approvisionnement logicielle ?

Oui

55%

Non

22%

Je ne sais pas

19%

Non applicable

2%

Comment votre organisation a-t-elle changé ses pratiques de sécurité des logiciels en lien avec la complétion de code par IA ?

20%

15%

10%

5%

0%

0%

5%

10%

15%

20%

Audits du code plus fréquents

Audits du code plus détaillés

Scans de sécurité plus fréquents

Ajout de nouveaux outils

Automatisation de la sécurité

Ajout de nouveaux processus de sécurité (SBOM, SALSA, etc.)

Aucun changement

Audits du code plus fréquents

Audits du code plus détaillés

Scans de sécurité plus fréquents

Ajout de nouveaux outils

Automatisation de la sécurité

Ajout de nouveaux processus de sécurité (SBOM, SALSA, etc.)

Aucun changement

Deuxième partie

Les développeurs reconnaissent qu’il faut se méfier de l’IA

Si les développeurs jugent que le code généré par l’IA est sûr, une grande majorité d’entre eux redoute que les outils de complétion ne créent à terme plus d’insécurité et fassent naître chez eux une dépendance excessive. Les organisations qui restreignent l'utilisation de l'IA le font avant tout pour des questions de qualité du code et de sécurité. Les personnes interrogées reconnaissent qu'un nombre important d'équipes AppSec peinent à suivre le rythme de livraison de code imprimé par l’IA. Tout cela souligne qu'il est nécessaire d’adapter ses processus aux outils d’IA – en intensifiant les scans de sécurité automatisés – et de former les développeurs en continu pour les sensibiliser aux risques réels du code suggéré par l'IA.

86 % des répondants sont préoccupés par la sécurité de l'IA

L'écrasante majorité des personnes interrogées se disent inquiètes de l’impact de l'utilisation des outils de complétion de code par IA sur la sécurité. Fait intéressant, elles affirment aussi avec une grande confiance que l’IA peut générer du code sûr et suggérer des correctifs qui renforcent la sécurité. Cela semble contradictoire.

Cette dissonance peut être le résultat d'une mentalité de groupe : les développeurs, voyant tout le monde autour d’eux utiliser les outils de codage par IA, sont convaincus de leur fiabilité. Mais quand ils réfléchissent à la question, ils reconnaissent que l'IA peut être plus dangereuse qu’il n’y paraît en injectant du code non sécurisé qu'ils ont du mal à repérer sans garde-fous exhaustifs.

Dans quelle mesure êtes-vous préoccupé par les implications plus larges de l'utilisation d'outils de complétion de code par IA sur la sécurité ?

Très inquiet

37%

Assez inquiet

49%

Pas inquiet

13%

Les enjeux de sécurité et de confidentialité motivent la restriction de l’IA

Parmi le petit nombre d'entreprises qui restreignent les outils de codage par l'IA en partie ou en totalité, la plupart le font pour des raisons de sécurité du code (57 %), de confidentialité des données (53,8 %) et de qualité du code (46,4 %). Tous les grands motifs de restriction sont liés à la sécurité, ce qui illustre les inquiétudes des dirigeants quant aux effets négatifs ou non atténués potentiels de la complétion du code par IA. 

Si votre organisation restreint l'utilisation des outils de codage de l'IA, quelles sont les raisons avancées ?*

60%

40%

20%

0%

0%

20%

40%

60%

Problématique de sécurité

Problématique de confidentialité

Problématique de qualité

Coûts prohibitifs

Manque d’intérêt de la direction

Aucune de ces raisons

Problématique de sécurité

Problématique de confidentialité

Problématique de qualité

Coûts prohibitifs

Manque d’intérêt de la direction

Aucune de ces raisons

Les développeurs redoutent une dépendance excessive envers l'IA

Une préoccupation fréquente réside dans l’instauration d’une dépendance trop forte des développeurs envers l’IA, avec à la clé la perte de leur capacité à écrire du code par eux-mêmes ou à effectuer les tâches de codage clés qu’ils confient à l'IA. Selon certaines études, les employés qui s'appuient trop sur l'IA sont moins aptes à reconnaître les bonnes solutions, qui peuvent parfois être atypiques ou ne pas rentrer dans le moule. Les personnes interrogées partagent cette préoccupation, 45 % d'entre elles se disant plutôt inquiètes et 40 % très inquiètes, ce qui montre qu’elles ont conscience des risques inhérents à une trop grande externalisation de leur métier vers l'IA.

Dans quelle mesure êtes-vous préoccupé par une dépendance excessive des développeurs envers les outils de complétion de code par IA ?

Très inquiet

40%

Assez inquiet

46%

Pas inquiet

14%

58,7 % des équipes AppSec ont du mal à suivre le rythme

Les outils de codage par IA ont pour effet de doper la productivité et sans doute d’accélérer la vitesse de production du code, voire le nombre de lignes de code produites. Aussi, nous voulions savoir si cela mettait plus de pression sur les équipes AppSec. Il ressort de notre enquête que la moitié des équipes AppSec sont à la peine dans une certaine mesure, et qu’un cinquième d'entre elles éprouvent de grandes difficultés à suivre le nouveau rythme de complétion de code imprimé par l’IA. Cela n’est pas surprenant quand les outils de complétion de code par IA augmentent la productivité de façon significative. Cela met également en lumière les défis créés par l'ajout d'une pression supplémentaire à un processus qui, même avant l'IA, avait souvent du mal à suivre le rythme de développement des logiciels.

Votre équipe AppSec/de sécurité a-t-elle du mal à suivre le rythme accru imprimé par les outils de complétion de code par IA ?

Beaucoup de difficultés

20%

Quelques difficultés

38%

Pas de difficultés

35%

Pas concerné

6%

Conclusion

Pour corriger les failles de l'IA, il faut former les développeurs et automatiser la sécurité

Si les développeurs ont tendance à faire confiance aux suggestions de codage de l'IA, les études démontrent pourtant que les failles y sont monnaie courante. Ce paradoxe s’illustre dans les réponses plutôt contradictoires de cette enquête ; la majorité des participants (y compris les experts en sécurité) jugent que les suggestions de code de l'IA sont sûres, tout en admettant qu’elles sont aussi souvent vulnérables. 


Il s'agit d'un problème de perception et d'éducation, alimenté par la pensée de groupe, le phénomène de preuve sociale et la tendance naturelle de l’être humain à faire confiance aux systèmes qui semblent faire autorité. La croyance infondée selon laquelle les outils de codage basés sur l'IA sont très précis et moins faillibles que les humains est devenue parole d’évangile pour de nombreuses personnes. Pour contrer cette erreur de perception néfaste, les organisations doivent redoubler leurs efforts en matière de formation à l’IA et sécuriser leur code généré par la machine en utilisant des outils de sécurité de référence.

À propos de cette étude

L'enquête était constituée de 30 questions sur la façon dont les organisations perçoivent et utilisent les outils de complétion de code par IA et de codage génératif. Elle a été menée auprès de 537 personnes travaillant dans le domaine de la technologie. Parmi elles, 45,3 % étaient originaires des États-Unis, 30,9 % du Royaume-Uni et 23,6 % du Canada. Nous avons demandé aux personnes interrogées de décrire leur rôle en sélectionnant tous les titres qui s'appliquaient. Les rôles les plus cités étaient : gestion des développeurs (42,1 %), développeur (37,6 %), gestion IT (30,9 %) et gestion de la sécurité (30,7 %). Cela indique que le panel comprenait une part importante de répondants occupant un rôle de direction. Les répondants étaient répartis entre différents secteurs, dont 21 % dans le secteur SaaS/Technologie (le seul secteur totalisant plus de 20 % des réponses), 17,1% dans le service aux entreprises et 11,2 % dans les services financiers/la fintech (les seuls secteurs à dépasser la barre des 10 %). Le panel de l'enquête était principalement composé de structures de taille moyenne,avec 48,6 % des répondants faisant partie d’une entreprise de 500 employés ou moins, contre 12,8% seulement d’entreprises de plus de 5 000 employés. Les répondants utilisaient également une grande variété d'outils de codage, notamment ChatGPT (70,3 %), Amazon CodeWhisperer (47,4 %), GitHub Copilot (43,7 %), VisualStudio Intellicode (35,8 %) et Tabnine (19,9 %). Ces pourcentages sont tirés d'une question à choix multiples et le niveau d’utilisation élevé pour plusieurs d’entre eux indique que les répondants utilisent probablement plusieurs outils de codage par IA dans leur travail, potentiellement pour différentes tâches.

Patch Logo SegmentPatch Logo SegmentPatch Logo SegmentPatch Logo SegmentPatch Logo SegmentPatch Logo SegmentPatch Logo SegmentPatch Logo SegmentPatch Logo SegmentPatch Logo SegmentPatch Logo SegmentPatch Logo SegmentPatch Logo Segment

Snyk est une plateforme de sécurité des développeurs. S’intégrant directement aux outils, workflows et pipelines de développement, Snyk facilite la détection, la priorisation et la correction des failles de sécurité dans le code, les dépendances, les conteneurs et l’infrastructure en tant que code (IaC). Soutenu par une intelligence applicative et sécuritaire de pointe, Snyk intègre l'expertise de la sécurité au sein des outils de chaque développeur.

Démarrez gratuitementRéservez une démo en ligne