Corriger les failles de code et gérer les diffs

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 :

  1. Génère un candidat de correctif à l'aide du moteur de raisonnement hébergé dans le cloud.
  2. Applique le correctif à une copie du code source dans votre bac à sable local.
  3. Compile et teste la base de code en exécutant votre build.command configuré pour s'assurer que le projet est créé et que les tests unitaires sont réussis.
  4. 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 :
    cm fix FINDING_ID -y
    Remarque : Vous pouvez également désactiver les invites d'écriture interactives de manière globale en définissant confirm_writes: false dans votre config.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