Comment Kiro et Snyk créent des garde-fous de sécurité multicouches
L'adoption rapide d'outils de développement alimentés par l'IA comme Kiro transforme la façon dont nous créons des logiciels, permettant une vitesse et une innovation sans précédent. Cependant, cette avancée introduit également de nouveaux défis en matière de sécurité de l'information. Pour véritablement tirer parti de la puissance de l'IA dans le développement, une stratégie de sécurité robuste et multicouche n'est pas seulement recommandée – elle est essentielle. Cet article de blogue explore comment l'intégration de Snyk Studio avec Kiro fournit une couche supplémentaire critique de sécurité et de conformité automatisées, garantissant qu'un développement rapide ne compromet pas l'intégrité de vos applications. Snyk Studio est une offre récemment lancée par Snyk qui combine le serveur MCP Snyk avec des garde-fous pour analyser le code au fur et à mesure de sa rédaction et fournir des correctifs.
Model Context Protocol (MCP) est un protocole ouvert qui normalise la connexion des assistants IA au monde extérieur, y compris les dépôts de contenu, les sources de données, les outils d'affaires et les environnements de développement. À la base, MCP suit une architecture client-serveur où une application hôte peut se connecter à plusieurs serveurs. Une architecture MCP comprend les composants suivants :
- Hôtes et clients MCP – des applications alimentées par l'IA comme Kiro qui ont besoin d'accéder à des données ou à des outils externes.
- Serveurs MCP – des serveurs légers comme le serveur MCP Snyk qui exposent des fonctionnalités précises par l'entremise d'outils, en se connectant à des sources de données locales ou distantes.
- Sources de données – des bases de données, des fichiers ou des services qui contiennent les renseignements dont vos assistants IA ont besoin.
Bien que les outils d'IA accélèrent la génération de code, ils présentent également des considérations de sécurité uniques. Le volume et la vitesse considérables du code généré par l'IA peuvent rendre les revues de sécurité traditionnelles difficiles à mettre à l'échelle. De plus, les vulnérabilités propres à l'IA, comme l'injection de requêtes, nécessitent des techniques de détection et d'atténuation spécialisées. Une approche de « défense en profondeur », où plusieurs couches de sécurité agissent de concert, constitue la meilleure pratique pour le développement logiciel professionnel, peu importe la façon dont le code est produit.
L'intégration de Snyk avec Kiro par l'entremise de MCP crée une puissante approche de défense en profondeur, s'alignant sur les meilleures pratiques de l'industrie pour un développement sécurisé et professionnel. Cette stratégie en couches aide les développeurs à intégrer la sécurité plus tôt dans le processus (« shift security left ») en soutenant une itération rapide dans n'importe quel IDE ou environnement de programmation.
- Installez Kiro IDE.
- Créez votre compte Snyk.
- Dans votre compte Snyk, activez Snyk Code pour l'analyse de code.
- Installez l'interface CLI Snyk.
- Configurez le serveur MCP Snyk dans Kiro.
L'intégration de Snyk avec Kiro par l'entremise de MCP va au-delà des extensions traditionnelles d'IDE en permettant aux développeurs d'exécuter des analyses de sécurité en langage naturel. Cette fonctionnalité identifie non seulement les vulnérabilités et les mauvaises configurations potentielles, mais informe également le modèle d'IA sous-jacent de renseignements clés, comme la nature des vulnérabilités, le fichier dans lequel elles se trouvent, le numéro de ligne où elles se trouvent, et les détails de correction.
Ce contexte fournit des renseignements immédiats et exploitables dès le début du cycle de développement.
Vous pouvez tester le serveur MCP Snyk en ouvrant un projet, ou si vous souhaitez utiliser une application d'exemple pour tester les capacités d'analyse de Snyk dans Kiro, vous pouvez utiliser cette application nodejs-goof fournie par Snyk.
Tapez ensuite dans le clavardage de Kiro : « Scan this directory for code security and dependency vulnerabilities using Snyk ». Comme configuration ponctuelle, vous devrez peut-être vous authentifier auprès de Snyk et faire confiance au répertoire du projet actuel.

Après vous être authentifié auprès de votre compte Snyk, vous devriez voir l'agent Kiro lancer un appel MCP vers le serveur MCP Snyk pour analyser le code à la recherche de vulnérabilités de sécurité et de dépendances.

Une fois que Kiro a terminé tous les appels client vers le serveur MCP Snyk, vous devriez obtenir un résumé de toutes les vulnérabilités de sécurité trouvées par les analyseurs de Snyk, ainsi qu'un résumé de chaque niveau de risque et des suggestions de correctifs. Comme dans cet exemple, nous pouvons voir qu'il y a 3 vulnérabilités de sécurité de gravité élevée qui ont été trouvées, liées à l'injection NoSQL et à des secrets codés en dur, et nous pouvons même demander à Kiro de nous aider à les corriger en fonction du contexte fourni par les analyseurs de Snyk.

L'établissement d'une nomenclature des composants d'IA (AI-BOM) est crucial pour obtenir une visibilité et une gouvernance sur les composants d'IA utilisés dans vos projets. Tout comme une nomenclature logicielle (SBOM) suit les dépendances logicielles traditionnelles, une AIBOM fournit un inventaire complet des modèles d'IA, des ensembles de données et d'autres éléments propres à l'IA intégrés dans vos applications. Cela vous permet de suivre leur provenance, d'identifier les vulnérabilités potentielles et de vérifier la conformité avec les politiques internes et les réglementations externes. Dans le terminal de Kiro, vous pouvez exécuter la commande snyk aibom --html > ~<DESTINATION-HTLM-REPORT-PATH> && open ~<DESTINATION-HTML-REPORT-PATH>


Le développement alimenté par l'IA introduit de nouveaux vecteurs de menace. L'analyse des flux toxiques (Toxic Flow Analysis) est une couche de sécurité essentielle conçue pour détecter des vulnérabilités complexes propres à l'IA, comme l'injection de requêtes. En suivant la façon dont les entrées de l'utilisateur circulent dans les systèmes d'IA, l'analyse des flux toxiques identifie les points où des requêtes malveillantes pourraient influencer le comportement du modèle, protégeant ainsi vos applications contre les menaces potentielles pilotées par l'IA.

Un aspect clé d'une sécurité efficace est l'intégration transparente aux flux de travail des développeurs. L'approche axée sur le développeur de Snyk garantit que les outils de sécurité sont simples à utiliser et fournissent des renseignements exploitables directement dans l'environnement du développeur. Avec Kiro, vous pouvez créer des Agent Hooks pour analyser automatiquement le code en arrière-plan lorsqu'un événement se produit, par exemple lorsqu'un fichier ou un répertoire est créé ou sauvegardé. Cela réduit les frictions et encourage les développeurs à participer activement au processus de sécurité, faisant de la sécurité une partie intégrale du développement rapide alimenté par l'IA plutôt qu'une réflexion après coup.

Au-delà de la sécurité immédiate, les flux de travail MCP de Snyk contribuent de façon significative à répondre aux exigences d'audit et aux contrôles réglementaires pour toute équipe ou plateforme. En fournissant une journalisation complète, des rapports de vulnérabilité détaillés et des processus de sécurité auditables, l'intégration aide les organisations à démontrer leur conformité aux normes de l'industrie et aux réglementations gouvernementales.
Prenons l'exemple d'une entreprise technologique en croissance rapide qui accélère l'adoption d'outils de développement alimentés par l'IA. Cette entreprise s'appuie sur Kiro pour générer de grandes portions de sa base de code, ce qui lui permet de commercialiser de nouvelles fonctionnalités à un rythme sans précédent. Cependant, l'équipe de sécurité a reconnu les risques inhérents à ce développement accéléré. En intégrant le serveur MCP Snyk à leurs flux de travail Kiro, ils ont établi un processus de sécurité automatisé qui analyse chaque ligne de code – qu'elle soit écrite par un humain ou générée par l'IA – à la recherche de vulnérabilités. Ils ont mis en œuvre l'AIBOM pour suivre leurs composants d'IA et MCP-Scan pour se protéger contre les risques propres à l'IA comme les flux toxiques, l'empoisonnement d'outils et les détournements MCP (MCP Rug Pulls). Cette approche en couches n'a pas seulement maintenu leur vitesse de développement rapide, mais a également réduit de façon significative leur posture de risque de sécurité, garantissant que leurs produits novateurs étaient également sécurisés et conformes.
L'intégration d'outils de développement alimentés par l'IA modernes comme Kiro et de plateformes de sécurité robustes comme le serveur MCP Snyk est essentielle pour bâtir l'avenir du logiciel. Lorsque Kiro et Snyk sont connectés, ils créent une combinaison puissante qui gère les complexités de la création d'applications tout en renforçant la sécurité du produit final. En adoptant une stratégie de sécurité multicouche, les équipes de développement peuvent exploiter en toute confiance la puissance de l'IA pour l'innovation, en sachant que leurs applications sont protégées par des fonctionnalités de sécurité automatisées et des mesures de conformité. Cette approche donne aux leaders en ingénierie, aux équipes DevSecOps et aux praticiens de la sécurité un cadre pratique pour naviguer en toute sécurité dans le paysage en évolution du développement alimenté par l'IA.
Ressources supplémentaires :
- Protégez vos charges de travail d'IA générative contre les injections de requêtes (AWS Security Blog)
Avis de non-responsabilité. Le code d'exemple, les bibliothèques logicielles, les outils de ligne de commande, les preuves de concept, les modèles ou toute autre technologie connexe sont fournis en tant que contenu AWS ou contenu tiers en vertu du Contrat client AWS, ou de l'entente écrite pertinente entre vous et AWS (selon celle qui s'applique). Vous ne devez pas utiliser ce contenu AWS ou ce contenu tiers dans vos comptes de production, ou sur des données de production ou d'autres données critiques. Vous êtes responsable de tester, de sécuriser et d'optimiser le contenu AWS ou le contenu tiers, comme le code d'exemple, de façon appropriée pour une utilisation de qualité production selon vos pratiques et normes de contrôle de la qualité particulières. Le déploiement du contenu AWS ou du contenu tiers peut entraîner des frais AWS pour la création ou l'utilisation de ressources AWS payantes, comme l'exécution d'instances Amazon EC2 ou l'utilisation du stockage Amazon S3.