CodeMender peut générer, valider et appliquer automatiquement des correctifs de code source pour les failles vérifiées, en les testant dans votre bac à sable local pour éviter les régressions.
Générer des correctifs de failles
Utilisez cm fix pour générer un correctif de sécurité validé pour un résultat vérifié :
cm fix FINDING_ID
Lorsque vous exécutez cm fix, CodeMender effectue les étapes de validation suivantes :
- Génère un candidat de correctif à l'aide du moteur de raisonnement hébergé dans le cloud.
- Applique le correctif à une copie du code source dans votre bac à sable local.
- Compile et teste la base de code en exécutant votre
build.commandconfiguré pour s'assurer que le projet est créé et que les tests unitaires sont réussis. - Réexécute l'exploit de preuve de concept vérifié pour confirmer que la faille n'est plus exploitable.
Par défaut, CodeMender vous invite à confirmer chaque modification de fichier avant de l'écrire sur le disque de votre espace de travail. Une fois tous les tests réussis, le correctif vérifié est appliqué à votre espace de travail et est prêt à être mis en scène.
Indicateurs de correction
- Fournir le contexte de correction (
-c/--context) : fournir des contraintes architecturales ou des consignes de codage :cm fix FINDING_ID -c "Use the safe parameterized database helper in src/db/query.go"
- Approuver automatiquement les écritures (
-y/--yes) : approuver automatiquement toutes les écritures de fichiers et les invites pendant le processus de correction : Remarque : Vous pouvez également désactiver les invites d'écriture interactives de manière globale en définissantcm fix FINDING_ID -y
confirm_writes: falsedans votreconfig.yaml. - Ignorer le cache (
--no-cache) : forcer CodeMender à générer un nouveau correctif :cm fix FINDING_ID --no-cache
Inspecter et gérer les différences VCS locales
CodeMender inclut des commandes VCS intégrées pour vous aider à inspecter, à mettre en scène et à gérer les modifications de code introduites par les correctifs avant de les valider :
Afficher l'état du dépôt : vérifiez les fichiers qui ont été modifiés ou créés par CodeMender dans votre espace de travail local.
cm vcs status
Inspecter les différences : examinez les différences unifiées ligne par ligne de toutes les modifications de code non validées générées par l'agent.
cm vcs diff
Mettre en scène les modifications : ajoutez les modifications de correctif vérifiées à votre environnement de mise en scène local afin qu'elles soient prêtes à être validées.
cm vcs stage
Rétablir les modifications de la session : ignorez toutes les modifications de fichiers locaux générées pendant la session en cours et restaurez l’état de référence de votre dépôt.
cm vcs reset