Dela via


Konfigurera och anpassa bygguppgifterna

Anteckning

Från och med den 31 december 2022 dras Tillägget Microsoft Security Code Analysis (MSCA) 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.

Den här artikeln beskriver i detalj de konfigurationsalternativ som är tillgängliga i var och en av bygguppgifterna. Artikeln börjar med uppgifter för analysverktyg för säkerhetskod. Det slutar med efterbearbetningsuppgifterna.

Uppgift för skanner mot skadlig kod

Anteckning

Uppgiften att skapa skannern mot skadlig kod kräver en byggagent med Windows Defender aktiverad. Värdbaserad Visual Studio 2017 och senare tillhandahåller en sådan agent. Bygguppgiften körs inte på den värdbaserade Agenten i Visual Studio 2015.

Även om signaturer inte kan uppdateras för 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 skannern 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 du åtgärdar dem finns i Windows Update felkoder 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-aktivitet

Anteckning

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

  • Din version producerar binära artefakter från hanterad kod.
  • Du har checkat in binära artefakter som du vill analysera med BinSkim.

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

Konfigurera binSkim-kompileringsaktiviteten

  • 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 undersöka och skapa en egen kommandorad:
    • 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 matchar en eller flera binärfiler som ska analyseras:
    • Flera angivna mål måste avgränsas med ett semikolon (;).
    • En specificerare kan vara en enda 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 som binskim.exe är verbanalysen följt av en eller flera sökvägsspecifikationer. Varje sökväg kan antingen vara 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

Anteckning

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

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

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 build-uppgiften för autentiseringsuppgifter

Tillgängliga alternativ inkluderar:

  • Visningsnamn: Namnet på Azure DevOps-aktiviteten. Standardvärdet är Run Credential Scanner (Kör autentiseringsskanner)
  • Huvudversion för verktyget: 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 lagringsplatsmapp 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 skannern för autentiseringsuppgifter. Standardvärdet är 20. Möjliga värden sträcker sig från 1 till 2 147 483 647.
  • Tidsgräns för matchning: Hur lång tid i sekunder som ska ägnas åt att försöka matcha en sökare innan kontrollen avbryts.
  • Läsbuffertstorlek för filgenomsökning: Storleken i byte för bufferten som används när innehållet läse. 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: Versionsuppgiftsversionen 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

Anteckning

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

  • Din byggdefinition innehåller den inbyggda MSBuild- eller VSBuild-bygguppgiften för att kompilera C# eller Visual Basic-kod. Analysverktygsaktiviteten 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 inkluderar:

  • Regeluppsättning: Värdena är SDL Required, SDL Recommended eller din egen anpassade regeluppsättning.
  • Analysverktygsversion: Vi rekommenderar att du väljer Senaste.
  • Fil för undertryckning av kompilatorvarningar: En textfil med en lista över varnings-ID:n som ignoreras.
  • 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.

Anteckning

  • 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 bygget spelas upp igen eller körs igen. Den här reprisen eller körningen görs genom att fråga Azure DevOps (tidigare Visual Studio Team Services) för MSBuild-byggaktivitetsloggarna.

    Det finns inget annat sätt för uppgiften att på ett tillförlitligt sätt hämta kommandoraden MSBuild-kompilering från versionsdefinitionen. 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 dessa kommandorader uppdaterade och synkroniserade med huvudversionen.

    Anpassade versioner kräver att hela uppsättningen kommandon spelas upp igen, inte bara kompileringskommandon. 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 kunna anropas.

    Den här nya bygguppgiften implementeras genom att C#-projekt som redan har skapats kompileras om. Den nya aktiviteten använder endast bygguppgifterna MSBuild och VSBuild i samma bygg- eller byggdefinition som den ursprungliga uppgiften. 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 källor . Även om byggresultatet är detsamma rekommenderar vi att du kör MSBuild, kopierar utdata till mellanlagringskatalogen för artefakter och sedan kör Roslyn Analyzeers.

Ytterligare resurser för uppgiften Roslyn Analyzeers finns i Roslyn-baserade analysverktyg.

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

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

TSLint-uppgift

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

Anteckning

Som du kanske vet säger startsidan för TSLint GitHub-lagringsplatsen 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 kompileringsuppgiften Publicera säkerhetsanalysloggar

  • Artefaktnamn: Valfri strängidentifierare.
  • Artefakttyp: Beroende på ditt val kan du publicera loggar till din Azure DevOps Server eller till en delad fil som är tillgänglig för byggagenten.
  • 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 se 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 misslyckas uppgiften.
  • Basloggmapp: Du kan anpassa den basloggmapp där loggarna ska hittas. Men det här alternativet används vanligtvis inte.

Information om YAML-konfiguration för den här uppgiften finns i våra YAML-alternativ 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. För varje verktyg som valts kan det finnas ett alternativ för att välja om du bara vill avbryta fel eller både fel och varningar.
  • Rapport: Du kan också skriva de resultat som orsakar byggbrytningen. 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 våra YAML-alternativ efter analys

Nästa steg

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

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