Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Copilot Autofix is een AI-functie van GitHub Advanced Security for Azure DevOps die voorgestelde oplossingen genereert voor waarschuwingen van codescans. Wanneer CodeQL een beveiligings- of coderingsfout identificeert, kunt u rechtstreeks vanaf het tabblad Geavanceerde beveiliging een oplossing voor de waarschuwing genereren. Copilot Autofix de Copilot coderingsagent gebruikt om de oplossing te produceren en een pull-aanvraag te openen met de voorgestelde wijziging, zodat u deze kunt controleren, bewerken en samenvoegen via de normale werkstroom voor pull-aanvragen.
Note
Deze functie is beperkt beschikbaar als openbare preview. Niet iedereen die zich aanmeldt voor de preview krijgt toegang.
U hebt GitHub Advanced Security voor Azure DevOps nodig, of, als u de zelfstandige versie gebruikt, moet GitHub Code Security voor Azure DevOps zijn ingeschakeld, samen met codescanning die voor uw opslagplaats is geconfigureerd.
GitHub Advanced Security voor Azure DevOps werkt met Azure-opslagplaatsen. Zie GitHub Advanced Securityvoor informatie over het gebruik van GitHub Advanced Security met GitHub-opslagplaatsen.
Prerequisites
| Categorie | Requirements |
|---|---|
| toestemmingen | - Een overzicht van alle waarschuwingen voor een opslagplaats weergeven: Inzender machtigingen voor de opslagplaats. - Waarschuwingen verwijderen in Geavanceerde beveiliging: Project administrator machtigingen. - Machtigingen beheren in Geavanceerde beveiliging: Lid van de Project Verzamelingsbeheerders groep of Advanced Security: instellingen beheren machtigingen ingesteld op Allow. |
Zie Geavanceerde beveiligingsmachtigingen beherenvoor meer informatie over geavanceerde beveiligingsmachtigingen.
- Codescanning geconfigureerd voor uw opslagplaats, via de standaardconfiguratie of geavanceerde configuratie.
- Ten minste één waarschuwing voor CodeQL-codescans.
Over Copilot Autofix
Copilot Autofix combineert de analysekracht van CodeQL met het grote taalmodel dat de Copilot coderingsagent aangeeft. Wanneer u een oplossing genereert voor een ondersteunde waarschuwing van codescanning, analyseert Copilot Autofix de waarschuwing en de omliggende code en opent vervolgens een pull request die het volgende bevat:
- Een voorgestelde codewijziging die betrekking heeft op het onderliggende beveiligingsprobleem.
- Een beschrijving van de waarschuwing die wordt opgelost, met inbegrip van de waarschuwings-id, ernst en een samenvatting van de wijziging.
Omdat de voorgestelde oplossing rekening houdt met de bredere context van uw codebasis, kan de wijziging meer dan de enkele regel omvatten waarin de waarschuwing is gegenereerd, en kan de wijziging waar nodig wijzigingen in andere bestanden bevatten.
Important
Copilot suggesties voor automatisch aanvullen worden gegenereerd door een AI-model en zijn niet gegarandeerd correct, volledig of veilig. Controleer de pull-aanvraag altijd zorgvuldig, controleer of deze de waarschuwing oplost zonder nieuwe problemen te introduceren en test uw wijzigingen voordat u ze samenvoegt.
Ondersteunde talen
Copilot Autofix ondersteunt dezelfde talen die CodeQL analyseert voor codescans, waaronder C/C++, C#, Go, Java/Kotlin, JavaScript/TypeScript, Python, Ruby en Swift. Zie Taal- en queryondersteuning voor de huidige lijst met talen die door CodeQL worden ondersteund.
Copilot Autofix inschakelen
Schakel Copilot Autofix per opslagplaats in als onderdeel van uw codebeveiligingsinstellingen.
- Meld u aan bij uw Azure DevOps-organisatie (
https://dev.azure.com/{yourorganization}). - Selecteer Project settings>Repositories en selecteer vervolgens de opslagplaats die u wilt configureren.
- Open in de sectie Advanced Security het deelvenster Code Security-functies .
- Selecteer het selectievakje Autofix voor waarschuwingen van codescans om automatische oplossingen te genereren voor waarschuwingen van codescans, gegenereerd door de Copilot-codeeragent.
- Selecteer Toepassen om uw wijzigingen op te slaan.
CodeQL moet al draaien en waarschuwingen genereren voor de repository. Zie Codescans instellen en Configure GitHub Advanced Security-functies voor meer informatie.
Een oplossing genereren voor een waarschuwing
Nadat u Copilot Autofix hebt ingeschakeld, kunt u een oplossing genereren op basis van elke ondersteunde waarschuwing voor het scannen van code.
- Selecteer Repos>Geavanceerde beveiliging.
- Selecteer het tabblad Codescan en selecteer vervolgens een waarschuwing om de detailweergave te openen.
- Bekijk de locatie, beschrijving en aanbeveling van de waarschuwing om inzicht te krijgen in de bevindingen.
- Selecteer Oplossing genereren.
Copilot Autofix genereert de fix en opent een pull request vanuit een branch met de naam copilot-autofix/.... Nadat de oplossing is gegenereerd, wordt de pull-aanvraag weergegeven onder Gerelateerde pull-aanvragen in de detailweergave van de waarschuwing.
De bugfix controleren en samenvoegen
De pull request die door Copilot Autofix wordt geopend, werkt net als elke andere pull request in Azure-opslagplaatsen. De beschrijving vat de waarschuwing samen die door de oplossing wordt verholpen.
- Open de pull-aanvraag in de sectie Gerelateerde pull-aanvragen of vanuit Repos>Pull-aanvragen.
- Bekijk de voorgestelde wijziging op het tabblad Bestanden voor alle betrokken bestanden.
- Bewerk de wijziging als u de codestijl, naamconventies of projectvereisten wilt aanpassen.
- Keur de pull-aanvraag goed en voltooi deze via uw normale beoordelingswerkstroom.
Nadat de pull-aanvraag is samengevoegd en de volgende codescan is voltooid, wordt de waarschuwing automatisch gesloten als de oplossing het onderliggende beveiligingsprobleem verwijdert.
Tip
Een gegenereerde oplossing is een beginpunt, niet een definitief antwoord. Behandel de pull-aanvraag als elke andere wijziging: controleer deze, test deze en vraag indien nodig extra revisoren aan voordat u samenvoegt.
Wanneer een oplossing niet beschikbaar is
Copilot Autofix kan niet voor elke melding een oplossing bieden. Er is mogelijk geen oplossing beschikbaar wanneer:
- Het waarschuwingstype wordt momenteel niet ondersteund door Copilot Autofix.
- Copilot bepaalt dat de melding vals positief is.
- Een aangepaste query of een hulpprogramma van derden, in plaats van CodeQL, genereert de waarschuwing.
Wanneer een oplossing niet beschikbaar is, gebruikt u de secties Aanbeveling en Voorbeeld van de waarschuwing om deze te herstellen of de waarschuwing handmatig te sluiten. Zie waarschuwingsdetailsvoor meer informatie.