Dela via


Konfigurera och anpassa bygguppgifterna

Anmärkning

Från och med den 31 december 2022 har tillägget Microsoft Security Code Analysis (MSCA) dragits tillbaka. MSCA ersätts av Tillägget Microsoft Security DevOps Azure DevOps. Följ anvisningarna i Konfigurera för att installera och konfigurera tillägget.

I den här artikeln beskrivs i detalj de konfigurationsalternativ som är tillgängliga i var och en av bygguppgifterna. Artikeln börjar med uppgifter för verktyg för säkerhetskodanalys. Det slutar med efterbearbetningsuppgifterna.

Uppgift för skanner mot skadlig kod

Anmärkning

Bygguppgiften Skanner mot skadlig kod kräver en byggagent med Windows Defender aktiverat. Värdbaserad Visual Studio 2017 och senare tillhandahålla en sådan agent. Byggaktiviteten körs inte på den värdbaserade Agenten i Visual Studio 2015.

Även om signaturer inte kan uppdateras på dessa agenter bör signaturer alltid vara mindre än tre timmar gamla.

Information om aktivitetskonfigurationen visas i följande skärmbild och text.

Konfigurera bygguppgiften för skanner mot skadlig kod

I listrutan Typ på skärmbilden är Basic valt. Välj Anpassad för att ange kommandoradsargument som anpassar genomsökningen.

Windows Defender använder Windows Update-klienten för att ladda ned och installera signaturer. Om signaturuppdateringen misslyckas på byggagenten kommer HRESULT-felkoden troligen från Windows Update.

Mer information om Windows Update-fel och hur de kan åtgärdas finns i Felkoder för Windows Update efter komponent och TechNet-artikeln Windows Update Agent – Felkoder.

Information om YAML-konfiguration för den här uppgiften finns i våra YAML-alternativ för skydd mot skadlig kod

BinSkim-uppgift

Anmärkning

Innan du kan köra BinSkim-aktiviteten måste bygget uppfylla något av följande villkor:

  • Din version genererar binära artefakter från hanterad kod.
  • Du har bekräftat binära artefakter som du vill analysera med BinSkim.

Information om aktivitetskonfigurationen visas i följande skärmbild och lista.

Konfigurera binSkim-bygguppgiften

  • Ställ in byggkonfigurationen på Felsök så att .pdb-felsökningsfiler skapas. BinSkim använder dessa filer för att mappa problem i utdatabinärfilerna tillbaka till källkoden.
  • Så här undviker du att behöva utforska och skapa ett eget kommandoradsverktyg:
    • I listan Typ väljer du Grundläggande.
    • I listan Funktion väljer du Analysera.
  • I Mål anger du en eller flera specificerare för ett fil-, katalog- eller filtermönster. Dessa specificerare resulterar i en eller flera binärer som ska analyseras:
    • Flera angivna mål måste avgränsas med ett semikolon (;).
    • En specificerare kan vara en enskild fil eller innehålla jokertecken.
    • Katalogspecifikationer måste alltid sluta med \*.
    • Exempel:
           *.dll;*.exe
           $(BUILD_STAGINGDIRECTORY)\*
           $(BUILD_STAGINGDIRECTORY)\*.dll;$(BUILD_STAGINGDIRECTORY)\*.exe;
  • Om du väljer Kommandorad i listan Typ måste du köra binskim.exe:
    • Kontrollera att de första argumenten till binskim.exe är verbet analysera följt av en eller flera sökvägsspecifikationer. Varje sökväg kan vara antingen en fullständig sökväg eller en sökväg i förhållande till källkatalogen.
    • Flera målsökvägar måste avgränsas med ett blanksteg.
    • Du kan utelämna alternativet /o eller /output . Utdatavärdet läggs till för dig eller ersätts.
    • Standardkonfigurationer för kommandorad visas på följande sätt.
           analyze $(Build.StagingDirectory)\* --recurse --verbose
           analyze *.dll *.exe --recurse --verbose

Anmärkning

Den avslutande \* är viktig om du anger kataloger för målet.

Mer information om BinSkim-kommandoradsargument, regler efter ID eller slutkoder finns i användarhandboken för BinSkim.

Information om YAML-konfiguration för den här uppgiften finns i våra BinSkim YAML-alternativ

Uppgift för skanner av autentiseringsuppgifter

Information om aktivitetskonfigurationen visas i följande skärmbild och lista.

Konfigurera Credential Scanner-bygguppgiften

Tillgängliga alternativ är:

  • Visningsnamn: Namnet på Azure DevOps-aktiviteten. Standardvärdet är Kör skanner för autentiseringsuppgifter
  • Verktygets huvudversion: Tillgängliga värden är CredScan V2, CredScan V1. Vi rekommenderar kunder att använda CredScan V2-versionen .
  • Utdataformat: Tillgängliga värden är TSV, CSV, SARIF och PREfast.
  • Verktygsversion: Vi rekommenderar att du väljer Senaste.
  • Sök igenom mapp: Den databasmapp som ska genomsökas.
  • Sökfiltyp: Alternativen för att hitta sökfilen som används för genomsökning.
  • Undertryckningsfil: En JSON-fil kan förhindra problem i utdataloggen. Mer information om undertryckningsscenarier finns i avsnittet Vanliga frågor och svar i den här artikeln.
  • Utförliga utdata: Självförklarande.
  • Batchstorlek: Antalet samtidiga trådar som används för att köra autentiseringsskannern. Standardvärdet är 20. Möjliga värden varierar från 1 till 2 147 483 647.
  • Tidsgräns för matchning: Antal sekunder som kan användas för att försöka matcha en sökförfrågan innan kontrollen avbryts.
  • Läsbuffertstorlek för filgenomsökning: Storleken i byte för bufferten som används när innehållet läses. Standardvärdet är 524 288.
  • Maximalt antal lästa byte för filgenomsökning: Det maximala antalet byte som ska läsas från en fil under innehållsanalysen. Standardvärdet är 104 857 600.
  • Kontrollalternativ>Kör den här uppgiften: Anger när aktiviteten ska köras. Välj Anpassade villkor för att ange mer komplexa villkor.
  • Version: Bygguppgiftens version i Azure DevOps. Det här alternativet används inte ofta.

Information om YAML-konfiguration för den här uppgiften finns i yaml-alternativen för autentiseringsskanner

Roslyn Analyzeers-uppgift

Anmärkning

Innan du kan köra uppgiften Roslyn Analyzeers måste bygget uppfylla följande villkor:

  • Din byggdefinition innehåller den inbyggda bygguppgiften MSBuild eller VSBuild för att kompilera C# eller Visual Basic-kod. Analysverktygsuppgiften förlitar sig på indata och utdata från den inbyggda aktiviteten för att köra MSBuild-kompileringen med Roslyn-analysverktyg aktiverade.
  • Versionsagenten som kör den här bygguppgiften har Visual Studio 2017 version 15.5 eller senare installerad, så att den använder kompilatorversion 2.6 eller senare.

Information om aktivitetskonfigurationen visas i följande lista och anteckning.

Tillgängliga alternativ är:

  • Regeluppsättning: Värden är SDL Required, SDL Recommended eller din egen anpassade regeluppsättning.
  • Analysverktygsversion: Vi rekommenderar att du väljer Senaste.
  • Kompilatorvarningsundertryckningsfil: En textfil med en lista över varnings-ID:n som är undertryckta.
  • Kontrollalternativ>Kör den här uppgiften: Anger när aktiviteten ska köras. Välj Anpassade villkor för att ange mer komplexa villkor.

Anmärkning

  • Roslyn Analyzeers är integrerade med kompilatorn och kan endast köras som en del av csc.exe kompilering. Därför kräver den här uppgiften att kompilatorkommandot som kördes tidigare i versionen spelas upp eller körs igen. Den här uppspelningen eller körningen utförs genom att fråga Azure DevOps (tidigare Visual Studio Team Services) om loggarna för MSBuild-bygguppgifter.

    Det finns inget annat sätt för uppgiften att på ett tillförlitligt sätt hämta MSBuild-kompileringens kommandorad från byggdefinitionen. Vi övervägde att lägga till en frihandstextruta så att användarna kan ange sina kommandorader. Men då skulle det vara svårt att hålla den här kommandoraden up-to-date synkroniserad med huvudversionen.

    Anpassade versioner kräver att hela uppsättningen kommandon spelas upp igen, inte bara kompilatorkommandon. I dessa fall är det inte enkelt eller tillförlitligt att aktivera Roslyn Analyzeers.

  • Roslyn Analyzeers är integrerade med kompilatorn. Roslyn Analyzeers kräver kompilering för att anropas.

    Den här nya bygguppgiften implementeras genom att omkompilera C#-projekt som redan har skapats. Den nya aktiviteten använder endast MSBuild- och VSBuild-bygguppgifterna i samma bygg- eller byggdefinition som den ursprungliga aktiviteten. Men i det här fallet använder den nya aktiviteten dem med Roslyn Analyzeers aktiverat.

    Om den nya aktiviteten körs på samma agent som den ursprungliga aktiviteten skriver den nya aktivitetens utdata över den ursprungliga aktivitetens utdata i mappen s-källor . Även om byggutdata är desamma rekommenderar vi att du kör MSBuild, kopierar utdata till mellanlagringskatalogen för artefakter och sedan kör Roslyn Analyzeers.

Om du vill ha mer information om uppgiften Roslyn Analyzers, granska de Roslyn-baserade analysverktygen.

Du hittar analyspaketet installerat och använt av den här bygguppgiften på NuGet-sidan Microsoft.CodeAnalysis.FxCopAnalyzers.

Information om YAML-konfiguration för den här uppgiften finns i våra YAML-alternativ för Roslyn Analyzeers

TSLint-uppgift

Mer information om TSLint finns på TSLint GitHub-lagringsplatsen.

Anmärkning

Som du kanske vet säger TSLint GitHub-lagringsplatsens startsida att TSLint kommer att bli inaktuell någon gång under 2019. Microsoft undersöker ESLint som en alternativ uppgift.

Information om YAML-konfiguration för den här uppgiften finns i våra TSLint YAML-alternativ

Publicera aktivitet för säkerhetsanalysloggar

Information om aktivitetskonfigurationen visas i följande skärmbild och lista.

Konfigurera bygguppgiften Publicera säkerhetsanalysloggar

  • Artefaktnamn: Valfri strängidentifierare.
  • Artefakttyp: Beroende på ditt val kan du publicera loggar på Azure DevOps Server eller till en delad fil som byggagenten har tillgång till.
  • Verktyg: Du kan välja att bevara loggar för specifika verktyg, eller så kan du välja Alla verktyg för att bevara alla loggar.

Information om YAML-konfiguration för den här uppgiften finns i yaml-alternativen publicera säkerhetsloggar

Uppgift för säkerhetsrapport

Information om konfiguration av säkerhetsrapporter visas i följande skärmbild och lista.

Konfigurera bygguppgiften för säkerhetsrapporten

  • Rapporter: Välj något av formaten pipelinekonsol, TSV-fil och HTML-fil . En rapportfil skapas för varje valt format.
  • Verktyg: Välj de verktyg i byggdefinitionen som du vill ha en sammanfattning av identifierade problem för. För varje verktyg som valts kan det finnas ett alternativ för att välja om du bara ser fel eller om du ser både fel och varningar i sammanfattningsrapporten.
  • Avancerade alternativ: Om det inte finns några loggar för något av de valda verktygen kan du välja att logga en varning eller ett fel. Om du loggar ett fel, så misslyckas uppgiften.
  • Basloggmapp: Du kan anpassa den basloggmapp där loggar finns. Men det här alternativet används vanligtvis inte.

Information om YAML-konfiguration för den här uppgiften finns i yaml-alternativen för säkerhetsrapporten

Uppgift efter analys

Information om aktivitetskonfigurationen visas i följande skärmbild och lista.

Konfigurera bygguppgiften efter analys

  • Verktyg: Välj de verktyg i byggdefinitionen som du vill mata in en byggpaus för villkorligt. För varje verktyg som valts kan det finnas ett alternativ att välja om du vill stanna vid endast fel eller både fel och varningar.
  • Rapport: Du kan också skriva de resultat som orsakar byggpausen. Resultatet skrivs till Azure DevOps-konsolfönstret och loggfilen.
  • Avancerade alternativ: Om det inte finns några loggar för något av de valda verktygen kan du välja att logga en varning eller ett fel. Om du loggar ett fel, misslyckas uppgiften.

Information om YAML-konfiguration för den här uppgiften finns i yaml-alternativen för efteranalys

Nästa steg

Information om YAML-baserad konfiguration finns i vår YAML-konfigurationsguide.

Om du har ytterligare frågor om tillägget Säkerhetskodanalys och de verktyg som erbjuds kan du läsa vår sida med vanliga frågor och svar.