
Canva fait confiance à Chainguard pour éliminer les risques liés à la chaîne d'approvisionnement de sa plateforme, qui compte 260 millions d'utilisateurs mensuels
Canva gère l'une des organisations d'ingénierie les plus importantes et les plus dynamiques d'Australie, avec environ 3 000 ingénieurs qui développent et déploient des logiciels utilisés par 260 millions d'utilisateurs mensuels à travers le monde. En tant qu'entreprise cloud-native, presque tout ce que Canva livre fonctionne dans des conteneurs, et l'ampleur même de ce que l'équipe construit signifie que l'entreprise dépend fortement de l'open source à chaque couche de la pile technologique.
Le défi
Lorsque votre organisation d'ingénierie compte des milliers de développeurs qui extraient des images de conteneurs à partir de registres publics, la gestion des vulnérabilités devient un problème structurel. Canva héritait constamment de CVE intégrées dans la couche système d'exploitation de base des images en amont, dont beaucoup n'avaient rien à voir avec les logiciels réellement écrits par ses ingénieurs.
« C'était une course sans fin qui reposait principalement sur les épaules de nos équipes de sécurité et de plateforme », a déclaré Adam Mills, directeur de l'ingénierie chez Canva. « Les tâches de sécurité créent des frictions. Nos équipes de plateforme voulaient offrir aux développeurs un chemin rapide et sûr vers la production. »
De nouvelles CVE étaient divulguées chaque semaine, les images en amont étaient mises à jour selon leurs propres calendriers, et la charge de maintenir tout à jour détournait le temps des ingénieurs de tâches à plus forte valeur ajoutée. À mesure que Canva se développait, le volume de vulnérabilités à gérer augmentait également. Le calcul ne fonctionnait plus : on ne peut pas augmenter linéairement les effectifs de sécurité pour suivre la croissance de l'ingénierie.
Mais l'évaluation des risques ne s'arrêtait pas aux images de conteneurs. Comme l'a expliqué Adam : « Les conteneurs sont passés en premier, car le rayon d'impact est évident et les outils pour détecter les CVE à ce niveau sont matures, donc on ressent la douleur de manière aiguë. Mais les bibliothèques, en particulier Python, représentent un risque différent et sans doute plus insidieux. Un paquet malveillant peut rester tranquillement dans votre arborescence de dépendances pendant longtemps avant que quelqu'un ne le remarque. À certains égards, c'est un modèle de menace beaucoup plus effrayant. »
Les contrôles de sécurité étaient réactifs plutôt que préventifs, vérifiant si Canva était à l'abri d'une attaque par logiciel malveillant après sa publication dans les registres publics plutôt que d'éliminer systématiquement le risque à la source.
La solution
Canva a évalué plusieurs approches, y compris la création d'une solution en interne. Angus Lees, ingénieur logiciel principal chez Canva, a expliqué pourquoi l'équipe a choisi Chainguard à la place :
Pour les conteneurs, les critères indispensables comprenaient une réduction prouvée des CVE à grande échelle, un SLA crédible pour la remédiation des CVE critiques et un catalogue d'images de conteneurs suffisamment large pour couvrir les charges de travail de Canva. Pour les bibliothèques, l'exigence était plus simple : une compatibilité immédiate. Canva ne pouvait pas ajouter de nouveaux contrôles de sécurité qui ralentiraient son équipe de 3 000 ingénieurs. La capacité d'utiliser les bibliothèques Chainguard sans perturber l'expérience actuelle des développeurs n'était pas négociable.
Les bibliothèques Chainguard ont été mises en production quelques semaines après l'accès, sans aucune réécriture nécessaire. « Ce genre d'adoption à faible friction compte beaucoup lorsque vous essayez de déployer quelque chose dans une grande organisation d'ingénierie », a déclaré Adam.
Les résultats
Amélioration invisible de la qualité
Le meilleur résultat est celui que les ingénieurs ne remarquent pas, et c'est ce que Canva a accompli en adoptant Chainguard. Les ingénieurs extraient un conteneur Chainguard ; cela fonctionne, et ils ne sont pas confrontés à un mur d'alertes CVE provenant du système d'exploitation de base.
« Nous voulons que notre plateforme soit le chemin le plus simple et le plus sûr vers la production, et Chainguard joue un rôle majeur pour y parvenir », a déclaré Adam.
Une posture de sécurité de la chaîne d'approvisionnement plus forte
Les bibliothèques Chainguard traitent la surface d'attaque de la chaîne d'approvisionnement dans l'écosystème Python de Canva d'une manière transparente pour les développeurs.
« Notre profil de risque et notre exposition à cet écosystème ont considérablement changé », a déclaré Angus. « Nous savons maintenant que ces bibliothèques sont une salle blanche construite à partir d'une source sécurisée. Du point de vue de la plateforme, nous donnons cette liberté à nos développeurs, où ils peuvent choisir les bibliothèques dont ils ont besoin, tout en sachant que nous obtenons le résultat sécurisé dont nous avons besoin. »
Ensemble, les conteneurs et les bibliothèques Chainguard réduisent considérablement la surface d'attaque à travers les couches d'infrastructure et d'application, en étendant une philosophie cohérente : partir d'une source de confiance.
La maturité en matière de sécurité comme avantage concurrentiel
Canva sert 260 millions d'utilisateurs mensuels et un nombre croissant de clients entreprises ayant des exigences de sécurité importantes. Une posture de sécurité transparente de la chaîne d'approvisionnement, soutenue par des images de conteneurs durcies, une provenance vérifiée, une remédiation continue des CVE et une approche préventive des bibliothèques malveillantes, est la façon dont Canva démontre sa maturité en matière de sécurité à ses clients. Comme l'a expliqué Angus : « Pour Canva, la sécurité n'est plus une option. C'est désormais une exigence concurrentielle. »