CodeMender può produrre, convalidare e applicare automaticamente patch del codice sorgente per le vulnerabilità verificate, testandole nella sandbox locale per evitare regressioni.
Genera correzioni delle vulnerabilità
Utilizza cm fix per generare una patch di sicurezza convalidata per un risultato verificato:
cm fix FINDING_ID
Quando esegui cm fix, CodeMender esegue i seguenti passaggi di convalida:
- Genera una patch candidata utilizzando il motore di ragionamento ospitato sul cloud.
- Applica la patch a una copia del codice sorgente all'interno della sandbox locale.
- Compila ed esegue il test della base di codice eseguendo
build.commandconfigurato per garantire che la build del progetto e i test delle unità vengano superati. - Esegue di nuovo l'exploit PoC verificato per confermare che la vulnerabilità non è più sfruttabile.
Per impostazione predefinita, CodeMender ti chiederà di confermare ogni modifica del file prima di scriverla su disco nel tuo workspace. Una volta superati tutti i controlli, il badge verificato viene applicato al tuo spazio di lavoro ed è pronto per essere sottoposto a staging.
Correggi i flag
- Fornisci il contesto della correzione (
-c/--context): fornisci vincoli architetturali o linee guida di codifica:cm fix FINDING_ID -c "Use the safe parameterized database helper in src/db/query.go"
- Approvazione automatica delle scritture (
-y/--yes): approva automaticamente tutte le scritture e le richieste di file durante la procedura di correzione: Nota:puoi anche disattivare i prompt di scrittura interattivi a livello globale impostandocm fix FINDING_ID -y
confirm_writes: falseinconfig.yaml. - Ignora cache (
--no-cache): forza CodeMender a generare una patch aggiornata:cm fix FINDING_ID --no-cache
Ispezionare e gestire le differenze del sistema di controllo delle versioni locale
CodeMender include comandi VCS integrati per aiutarti a ispezionare, preparare e gestire le modifiche al codice introdotte dalle patch prima di eseguirne il commit:
Visualizza lo stato del repository: controlla quali file sono stati modificati o creati da CodeMender nel tuo spazio di lavoro locale.
cm vcs status
Esamina le differenze: esamina le differenze unificate riga per riga di tutte le modifiche al codice non eseguite generate dall'agente.
cm vcs diff
Modifiche di staging: aggiungi le modifiche alla patch verificate all'ambiente di staging locale in modo che siano pronte per il commit.
cm vcs stage
Ripristina le modifiche alla sessione: ignora tutte le modifiche ai file locali generate durante la sessione corrente e ripristina lo stato di base del repository.
cm vcs reset