Souhaitons un Joyeux 1er anniversaire à Snyk Code !
May 6, 2022
0 minutes de lectureSnyk Code fête son premier anniversaire ! Nous avons franchi tant d’étapes au cours des 12 derniers mois ! Nous vous invitons aujourd’hui à faire le bilan de l’année écoulée, à célébrer et à envisager l’avenir de la sécurité du code à nos côtés.
De DeepCode à Snyk Code
Snyk Code est alimenté par son moteur unique et par des processus de recherche de premier ordre. Ses origines remontent au mouvement « big code » de 2013.
Le terme « big code » est utilisé pour décrire la disponibilité croissante des programmes trouvés dans les référentiels open source. Par exemple, GitHub hébergeait 30 millions de référentiels publics au début de l’année 2016. Quatre ans plus tard, en mars 2020, ce nombre était passé à plus de 128 millions.
Des discussions sur le potentiel du « big code » à faire progresser la programmation en tirant parti des connaissances de la communauté mondiale du développement sont menées dans les cercles universitaires depuis 2007.
Il existe cependant différents obstacles. Le big code hérite de tous les problèmes du big data, plus d’autres liés à la nature du code source, tels que les comportements d’exécution infinis et le besoin d’approximation. Traiter le code source comme du simple texte (comme le font les outils modernes d’apprentissage automatique) est beaucoup trop simpliste.
Les bases de Snyk Code ont été posées dans le SRILab du professeur Martin Vechev à l’École Polytechnique Fédérale (ETH) de Zurich. À partir de 2013, le doctorant Veselin Raychev (aujourd’hui responsable de l’intelligence artificielle chez Snyk), le professeur Vechev et d’autres experts ont mené des recherches sur l’apprentissage automatique et construit des prototypes de systèmes basés sur l’IA. Ces systèmes ont appris à partir de programmes open source en combinant l’analyse du code statique basée sur le raisonnement symbolique avec des méthodes d’apprentissage automatique basées sur les données.
Raychev a reçu la médaille de l’ETH Zurich pour sa remarquable thèse de doctorat, ainsi que le prestigieux ACM Doctoral Dissertation Award, avec mention Honorable, pour sa thèse de doctorat sur l’apprentissage automatique du big code. Il est le troisième Européen (et le premier Bulgare) à recevoir ce prix en 40 ans.
Dans la continuité des résultats de sa thèse de doctorat, Raychev s’est associé à Vechev et Boris Paskalev (aujourd’hui chef de produit, AI for Code, chez Snyk) pour fonder DeepCode en 2016, dans le but de transformer la recherche en un outil accessible.
La mise à l’échelle constitue l’un des freins à l’apprentissage à partir du big code. Vous devez être en mesure de traiter des quantités massives de code réel assez rapidement pour exécuter des itérations. DeepCode a contribué à plusieurs des améliorations majeures du secteur tel que nous le connaissons aujourd’hui. L’apprentissage automatique, par exemple, s’appuie sur la capacité d’effectuer une analyse sémantique approfondie sans compromettre la vitesse. Ces capacités améliorées ont permis au moteur ultramoderne de DeepCode de construire et de maintenir l’ensemble de règles soutenant sa base de connaissances toujours plus vaste et précise. Pour plus de détails, consultez notre article de blog sur les technologies qui sous-tendent Snyk Code et examinez des échantillons de publications et de systèmes de recherche.
DeepCode a cherché à simplifier l’analyse sémantique profonde en masquant les complexités et en fournissant un outil intuitif et accessible. À en juger par les retours d’expérience de centaines de milliers de développeurs, ils y sont parvenus. La vitesse d’analyse et la fiabilité des ensembles de règles ont été des éléments majeurs du succès de DeepCode. Le dernier prérequis à une base d’utilisateurs mondiale était une approche centrée sur le développeur, critère auquel le moteur de DeepCode basé sur l’IA a parfaitement satisfait. L’apprentissage automatique a permis à DeepCode d’expliquer ses conclusions aux utilisateurs et de fournir des exemples de correctifs recommandés, ce qui a aidé les développeurs à comprendre pourquoi leur code était vulnérable et comment le corriger.
Lorsque Snyk et DeepCode ont commencé à discuter de la possibilité d’unir leurs forces en 2020, tout s’est enchaîné. Le moteur DeepCode a constitué une percée technique qui a fondamentalement changé l’espace de l’analyse statique. Snyk disposait d’une plateforme technique mature, d’une expertise en matière de sécurité, de services de vente et de marketing bien établis et d’un réseau international. Plus important encore, les deux entreprises donnaient priorité à la culture interne et à l’esprit « développement au service du développeur ». DeepCode a donc été intégré à Snyk.
Après quelques mois de travail soutenu, Snyk Code a été construit et mis en œuvre sur la plateforme Snyk avec le moteur DeepCode et conformément à l’ensemble de règles existant. L’équipe (élargie aux principaux chercheurs en sécurité et développeurs de la plateforme Snyk) a ajouté des éléments tels qu’un contenu détaillé et la visualisation du dataflow, et préparé le produit pour l’exécuter sur Snyk. Avant sa sortie en version bêta, Snyk Code disposait de nombreux clients payants. Cet élément attestait qu’il répondait à des besoins vitaux sur le marché, tout en témoignant de la profonde confiance que Snyk a la chance de recevoir de la communauté. Les clients actuels auront accès à Snyk Code début 2021, et en avril, Snyk Code a rejoint le programme freemium. Le choix d’un anniversaire pour Snyk Code a été un peu délicat au début. Parmi les différentes options disponibles (date à laquelle Snyk et DeepCode ont uni leurs forces, date d’accès aux clients existants, etc.), nous avons retenu la date à laquelle Snyk Code est devenu accessible à tous : le 6 mai.
Snyk Code aujourd’hui !
Avance rapide jusqu’à aujourd’hui. Où en est Snyk Code un an après son lancement ? Passons en revue quelques chiffres :
Snyk Code a fait remonter plus de 2,5 millions de problèmes dans plus d’un quart de million de projets rien que le mois dernier. À ce jour, plus de mille organisations mondiales font confiance à Snyk Code pour analyser leurs projets.
Nous avons commencé avec trois langages et avons maintenant étendu notre support à JavaScript, Typescript, Java, PHP, C#, Ruby, Python, Swift, Kotlin et Go.
Des intégrations IDE ont été ajoutées pour Visual Studio Code, IntelliJ, WebStorm, PyCharm, GoLand et Visual Studio.
L’innovation continue a produit une analyse de code sémantique profonde et contextuelle à des vitesses inégalées dans l’industrie. Notre moteur polyvalent prend en charge la sécurité GraphQL et peut détecter et prévenir les attaques Trojan Source dans tous les langages supportés. La logique de Snyk Code donne également aux développeurs la possibilité d’ignorer les suggestions qui ne sont pas applicables.
L’équipe à l’origine de Snyk Code s’est considérablement développée, avec plusieurs groupes d’ingénieurs travaillant sur l’ensemble des règles, le moteur, le web et les intégrations IDE. S’il est juste de dire que Zurich continue de jouer un rôle majeur, des personnes de toute l’Amérique du Nord, d’Asie, d’Australie et d’Europe font désormais partie de l’équipe de Snyk Code.
Le développement de Snyk Code est divisé en quatre équipes principales : le développement du moteur, la construction et la maintenance de l’ensemble de règles pour la base de connaissances, l’expérience utilisateur front-end et les plugins IDE. Chacune de ces équipes se décompose en sous-équipes, faisant de Snyk Code un produit majeur pour la plateforme.
Au cours de sa première année, Snyk Code s’est intégré à la plateforme Snyk, a construit une base solide de langages de programmation et d’IDE, a ajouté de nouvelles fonctionnalités d’analyse et s’est établi comme un produit phare de Snyk. Mais ce n’est qu’un début...
Perspectives
Snyk Code est une solution dynamique qui n’en est qu’à ses prémices, et l’année à venir constituera un nouveau grand pas en avant. Voici quelques points forts à découvrir :
Rapports :TopCoat a récemment rejoint Snyk et va développer les capacités d’établissement de rapports de plateforme Snyk à de nouveaux niveaux.
Langages : Si Snyk Code peut se targuer d’une liste impressionnante de langages pris en charge au cours de sa première année, d’autres langages comme Swift et Apex vont venir s’ajouter. Nous avons également ajouté des fonctionnalités visant à accélérer encore le développement de règles dans les langages pris en charge.
Caractéristiques du moteur : Nous finalisons actuellement l’ajout de nouvelles fonctionnalités qui repousseront les limites de ce que vous pouvez attendre des tests de sécurité des applications statiques (SAST).
Intégrations IDE : Rencontrer les développeurs là où ils se trouvent et leur offrir des résultats directement depuis l’atelier constituent pour nous des priorités absolues. Au cours de l’année à venir, nous prévoyons d’étendre et de renforcer notre empreinte IDE.
Croissance de la communauté : Si Snyk Code est gratuit et disponible à l’essai pour tous les projets open source, l’analyse SAST quant à elle est encore loin d’être courante. Nous continuerons à travailler pour offrir à la communauté les connaissances et les produits dont elle a besoin.
Fonctionnalités produit : SAST se situe à mi-chemin entre les développeurs, les professionnels de la sécurité et la direction ; chaque rôle ayant des besoins spécifiques. Nos relations étroites avec les utilisateurs nous ont aidés à identifier les points sensibles spécifiques et à développer une feuille de route pour y répondre avec de nouvelles fonctionnalités produit.
Vision de Snyk : Dans son discours d’ouverture de la SnykCon 2021, Guy Podjarny (l’un des fondateurs de Snyk) a présenté sa vision de l’avenir de Snyk. Snyk Code, fort de son puissant moteur logique, aura un rôle déterminant à jouer dans la concrétisation de ces idées.
Snyk Code, en jeune application trépidante, est promise à une croissance plus rapide durant sa deuxième année. Avec de nombreux projets passionnants en perspective, il n’y a pas de meilleur moment pour l’essayer et rejoindre la famille des développeurs.
Sécurisez votre code avec une intelligence de pointe
Découvrez l’ensemble des fonctionnalités de Snyk Code SAST en seulement 30 minutes.