- OpenAI publie en open source le CLI et les outils associés de Codex Security, afin qu’ils puissent être utilisés dans des environnements de développement locaux et en CI
- L’outil analyse les dépôts auxquels il a accès pour détecter des vulnérabilités de sécurité et vérifier leur exploitabilité réelle, en présentant le code concerné et les éléments justificatifs
- Il peut inspecter soit l’ensemble du dépôt, soit uniquement un chemin précis, les changements entre des commits, ou encore le travail non commit
- Il prend en charge un mode deep qui examine un périmètre plus large qu’une analyse classique, ainsi qu’une base de connaissances reflétant l’architecture, le modèle de menace et la politique de sécurité du projet
- Il fournit de manière structurée la gravité, le niveau de confiance, les preuves et la méthode de correction des problèmes détectés, et permet de comparer l’historique des analyses ou de l’intégrer aux politiques CI
Détection et validation des vulnérabilités
- L’outil ne se contente pas d’énumérer des motifs de code suspects ; il analyse les flux de code et le contexte environnant pour vérifier s’il s’agit d’un véritable problème de sécurité
- Pour chaque élément détecté, il fournit les informations suivantes
- type de vulnérabilité et gravité
- niveau de confiance dans l’évaluation
- fichiers affectés et emplacement du code
- justification du diagnostic de vulnérabilité
- chemin d’attaque ou d’exploitation possible
- méthode de correction recommandée
Sélection du périmètre d’analyse
- Il est possible de limiter le périmètre de l’analyse selon l’objectif visé
- analyse de l’ensemble du dépôt
- analyse d’un répertoire ou package spécifique uniquement
- analyse des changements entre un commit de référence et le commit actuel
- analyse des modifications locales staged ou pas encore commit
- Il peut n’analyser que le code nouvellement ajouté ou modifié, ce qui le rend utile pour la revue de code et les vérifications avant déploiement
Mode deep
- Il mobilise plus de temps et davantage de travail d’analyse qu’une inspection classique pour examiner largement le dépôt
- Il sert à analyser des vulnérabilités complexes nécessitant de suivre les relations entre plusieurs fichiers et composants, ou des problèmes difficiles à détecter par une simple recherche de motifs superficiels
- Il peut s’appliquer à l’ensemble du dépôt comme à un chemin spécifié
Prise en compte des connaissances du projet
- L’analyse ne s’effectue pas sur le code seul de manière isolée ; elle peut intégrer le contexte fourni par le projet
- Elle évalue les risques propres au projet à partir de documents d’architecture, de modèles de menace, de politiques de sécurité et de règles internes
- Même un code qui semble acceptable au regard des règles de sécurité générales peut être inclus dans l’analyse s’il enfreint les principes de conception du système concerné
Rapport de résultats et exhaustivité de l’analyse
- L’outil enregistre non seulement les vulnérabilités découvertes, mais aussi les zones effectivement inspectées
- Le rapport peut inclure les états d’analyse suivants
- périmètre analysé
- zones exclues de l’analyse
- travaux suspendus et non terminés
- questions nécessitant une vérification supplémentaire
- Cela permet de voir non seulement la liste des résultats, mais aussi jusqu’où le dépôt a réellement été examiné
Analyse de sécurité continue
- Il est possible de rouvrir les résultats d’une analyse précédente ou de relancer la même analyse pour suivre l’évolution des éléments détectés
- En comparant les résultats avant et après une modification du code, on peut vérifier si de nouvelles vulnérabilités sont apparues ou si certaines ont été corrigées
- Il peut être relié aux contrôles avant commit, à la revue de code, à l’analyse groupée de plusieurs dépôts et aux vérifications de politiques de sécurité dans les pipelines CI
1 commentaires
Avis sur Hacker News
Je suis Michael, cofondateur de Promptfoo, et je travaille chez OpenAI sur le CLI Codex Security. Merci d’avoir signalé le problème d’authentification ; comme nous venons tout juste de le passer en open source, il y a encore beaucoup de points à améliorer et le produit devrait donc évoluer rapidement
N’hésitez pas à l’essayer et à nous dire ce qui fonctionne bien comme ce qui doit être amélioré ; je répondrai aussi aux questions
Documentation du CLI : https://learn.chatgpt.com/docs/security/cli
Nous recrutons aussi des personnes pour contribuer au développement : https://openai.com/careers/full-stack-software-engineer-cybe...
Leurs propres produits réfutent ces affirmations, donc j’aimerais que moins de gens y croient
Je l’ai lancé sur un petit dépôt, et il s’est arrêté près d’une heure plus tard après avoir consommé la moitié du quota hebdomadaire du forfait Pro
J’ai exécuté
npx codex-security scan .pour lancer l’analyse avec jusqu’à 8 workers, mais au bout de 52 minutes une erreur a indiqué que leHEADdu dépôt avait changé pendant l’analyse, donc les résultats ne pouvaient pas être enregistrés et qu’il fallait relancer un nouveau scanLe scanner lui-même est la partie la moins intéressante ; le vrai produit, c’est tout le système d’exécution autour qui gère la déduplication entre les exécutions, le suivi des faux positifs, le contrôle du budget et la décision de faire passer ou non la CI. Les innovations les plus intéressantes viendront probablement de cette couche
J’ai constaté exactement la même chose en construisant AQ, un système d’exécution de code pour équipes. Au début, je pensais que le modèle brut était la réponse, mais j’ai vite changé d’avis, et un système d’exécution orienté objectif est bien plus puissant que prévu
C’est très pénible : j’ai constamment des erreurs disant qu’il tente d’effectuer des opérations non autorisées. J’aimerais savoir sur quels types de projets ça fonctionne et comment la propriété du code est vérifiée
Par exemple, est-ce que ça ne fonctionne tout simplement pas du tout sur le noyau Linux, même s’il contient un patch que j’ai écrit ?
Un outil de sécurité venant d’une entreprise d’IA donne l’impression d’une caserne de pompiers tenue par des pyromanes. C’est utile, mais difficile de ne pas penser à qui profite de tous ces incendies
Apparemment, c’était déjà proposé via le plugin Codex ; la vraie nouveauté, c’est qu’OpenAI l’a passé en open source et que le développement avance rapidement
Pendant l’analyse, la sortie du CLI contient très peu d’informations intéressantes. Ce serait bien d’afficher des choses comme la consommation de tokens ou l’avancement
Alibaba a aussi publié en open source un outil de revue de code en CLI : https://github.com/alibaba/open-code-review
Je me demande si cet outil envoie le code à ChatGPT pour l’analyse. Dans certains projets d’entreprise, l’envoi de code vers l’extérieur peut être interdit
Je me demande si ce genre d’outil peut faire fermer une entreprise comme Snyk. On utilise Snyk au travail, mais je n’en suis pas satisfait