Anthropic investit 1,5 million de dollars dans la PSF (Python Software Foundation) et collabore au renforcement de la sécurité de PyPI
(pyfound.blogspot.com)Résumé :
- Anthropic a conclu un partenariat de deux ans avec la PSF et investit au total 1,5 million de dollars pour la sécurité et la pérennité de l’écosystème Python.
- L’objectif principal est de renforcer la sécurité de la chaîne d’approvisionnement de PyPI (Python Package Index), avec un accent sur le développement d’outils d’
automated proactive reviewlors du téléversement des paquets. - Un jeu de données de malwares connus sera constitué afin de concevoir des outils de sécurité fondés sur l’
capability analysis, avec un projet d’extension à d’autres écosystèmes open source.
Résumé détaillé :
-
Aperçu de l’investissement et contexte
Anthropic, l’entreprise qui développe le modèle d’IA Claude, a conclu un partenariat de deux ans avec la Python Software Foundation (PSF) et a fait un don de 1,5 million de dollars. Cette initiative reconnaît l’importance de Python en tant que « lingua franca » du développement de l’IA, et ces fonds seront utilisés pour améliorer la sécurité et la pérennité de l’ensemble de l’écosystème Python. -
Innovation en sécurité open source : défense de la chaîne d’approvisionnement de PyPI
Le cœur de cet investissement porte sur le renforcement de la sécurité de CPython et de PyPI.
- Passage à une revue proactive (
Proactive Review) : en abandonnant l’approche réactive existante, de nouveaux outils seront développés pour examiner automatiquement à l’avance tous les paquets téléversés sur PyPI. - Approche technique : pour cela, un nouveau jeu de données de malwares connus sera constitué, et des outils de détection fondés sur la
capability analysisseront conçus. - Extensibilité à l’écosystème : les résultats de ce projet ne seront pas limités à Python ; ils seront conçus pour être réutilisables dans d’autres dépôts de paquets open source (par exemple npm, Cargo, etc.), avec pour objectif d’élever le niveau global de sécurité de l’écosystème open source.
-
Articulation avec la feuille de route existante
Ce travail de renforcement de la sécurité s’appuie sur la feuille de route déjà portée par Seth Larson,Security Developer in Residencede la PSF soutenu par le projet Alpha-Omega, ainsi que par Mike Fiedler, ingénieur sécurité et sûreté de PyPI. Le financement d’Anthropic servira à accélérer cette feuille de route. -
Soutien à l’infrastructure centrale de Python et à la communauté
Au-delà de la sécurité, cet investissement soutiendra également les opérations essentielles de la PSF.
- Soutien au programme
Developer in Residence, qui pilote le développement de CPython - Financement des subventions communautaires (
Grants) et de l’exploitation des programmes - Couverture des coûts de maintenance et d’exploitation des infrastructures essentielles comme PyPI
4 commentaires
Que sont des « outils de sécurité basés sur l’analyse des capacités (capability analysis) » ?
J’ai demandé à Gemini de l’expliquer. Je ne suis pas non plus spécialiste sécurité, donc je ne sais pas vraiment.
[Rapport approfondi : « Capability Analysis », la technologie de sécurité de nouvelle génération sur laquelle misent PyPI et l’OpenSSF]
Alors que les attaques de supply chain menaçant récemment l’écosystème open source deviennent plus sophistiquées, PyPI (Python Package Index) et l’OpenSSF (Open Source Security Foundation) accélèrent l’adoption de la « Capability Analysis » (analyse des fonctionnalités/capacités), qui va au-delà des approches classiques de pattern matching.
Le cœur de cette technologie est de voir non pas « ce qu’un package prétend être », mais « ce qu’il est réellement capable de faire ».
Si l’analyse antivirus traditionnelle consistait à comparer une « liste des personnes recherchées » (signatures de malwares connus), la Capability Analysis consiste, elle, à vérifier les « capacités comportementales » d’un package.
Même s’il se déguise en utilitaire légitime, un package qui veut prendre le contrôle du système ou voler des informations doit forcément utiliser certaines ressources spécifiques du système d’exploitation (réseau, fichiers, processus). Cette technique d’analyse suit si le package exerce les « permissions sensibles (capabilities) » suivantes lorsqu’il exécute du code :
/etc/passwd?eval,exec) ?À l’heure actuelle, les projets OpenSSF et les groupes de recherche en sécurité développent et intègrent dans leurs pipelines des outils comme ceux-ci pour mener ce type d’analyse.
A. OpenSSF Package Analysis (projet officiel)
- Vue d’ensemble : projet piloté par l’OpenSSF, qui installe et exécute réellement les packages publiés sur PyPI ou NPM dans un environnement sandbox isolé.
- Principe de fonctionnement : les appels système (System Calls) produits lors de l’exécution du package sont interceptés au niveau du noyau afin de collecter des données de comportement du type « ce package a tenté de se connecter à 192.168.x.x pendant l’installation ».
- Stack technique : utilise notamment gVisor (sandbox) et Strace (traçage des appels système).
B. Packj
- Vue d’ensemble : outil développé à partir de travaux de recherche universitaires (Georgia Tech, entre autres), spécialisé dans le marquage des « fonctionnalités risquées (Risky Capabilities) » d’un package.
- Principe de fonctionnement : combine analyse statique et analyse dynamique. Il repère les appels d’API sensibles dans le code source et analyse les métadonnées du package pour déterminer s’il s’agit d’un « package abandonné » ou d’un cas de typosquatting (usurpation de nom), entre autres.
- Particularité : détecte des combinaisons de permissions anormales, par exemple « ce package est une bibliothèque audio, mais il dispose aussi de fonctions de communication réseau et d’accès au carnet d’adresses ».
C. GuardDog
- Vue d’ensemble : outil CLI publié par Datadog, qui s’appuie sur Semgrep (moteur d’analyse statique) pour détecter des patterns malveillants.
- Principe de fonctionnement : identifie des patterns de code (heuristics) implémentant des « fonctionnalités malveillantes », comme du code obfusqué caché dans un package, des scripts de minage ou des téléchargeurs d’exécutables.
D. Falco & Sysdig
- Vue d’ensemble : outils de sécurité runtime pour les environnements cloud-native.
- Rôle : servent de moteur pour détecter en temps réel les comportements anormaux survenant lorsqu’un package s’exécute dans un conteneur (par ex. ouverture d’un shell inattendue, lecture de fichiers sensibles).
Pour mieux comprendre cette technologie, vous pouvez consulter les projets et blogs d’origine ci-dessous.
Blog officiel d’OpenSSF Package Analysis (présentation et explication du principe)
https://openssf.org/blog/2022/…
GitHub d’OpenSSF Package Analysis (code source et architecture)
https://github.com/ossf/package-analysis
GitHub de Packj (téléchargement de l’outil et fonctions détaillées)
https://github.com/ossillate-inc/packj
GitHub de GuardDog (outil Datadog de détection de packages malveillants sur PyPI/NPM)
https://github.com/DataDog/guarddog
Rapport de sécurité PyPI (procédure de signalement et de traitement des packages malveillants)
https://pypi.org/security/
Merci pour les documents détaillés et le résumé. Au début, je pensais qu'il s'agissait de quelque chose de similaire aux capabilities de Linux, mais en fait cela inclut aussi de l'analyse dynamique.
Je crois qu’ils récupèrent probablement le package, puis l’exécutent, le décompressent, ou font ce genre d’analyses statiques et dynamiques pour voir ce que fait le code. C’est surtout comme ça que les malwares se propagent souvent.