Sdílet prostřednictvím


Nastavení a přizpůsobení úloh sestavení

Poznámka:

Od 31. prosince 2022 se rozšíření MICROSOFT Security Code Analysis (MSCA) vyřadí z provozu. MSCA se nahrazuje rozšířením Microsoft Security DevOps Azure DevOps. Postupujte podle pokynů v Konfigurace pro instalaci a konfiguraci rozšíření.

Tento článek podrobně popisuje možnosti konfigurace dostupné v jednotlivých úlohách sestavení. Článek začíná úlohami nástrojů pro analýzu kódu zabezpečení. Skončí po zpracování úkolů.

Antimalwarový skener – úloha

Poznámka:

Úloha sestavení antimalwarového skeneru vyžaduje agenta sestavení s povoleným programem Windows Defender. Hostované Visual Studio 2017 a novější poskytují takového agenta. Úloha sestavení se nespustí na agentovi hostovaném v sadě Visual Studio 2015.

I když u těchto agentů nejde podpisy aktualizovat, podpisy by měly být vždy kratší než tři hodiny.

Podrobnosti o konfiguraci úlohy se zobrazují na následujícím snímku obrazovky a textu.

Konfigurace úlohy sestavení antimalwarového skeneru

V seznamu Typ na snímku obrazovky je vybrána možnost Basic . Výběrem Vlastní zadáte argumenty příkazového řádku, které přizpůsobí skenování.

Windows Defender používá klienta služby Windows Update ke stažení a instalaci podpisů. Pokud aktualizace podpisu ve vašem agentu sestavení selže, kód chyby HRESULT pravděpodobně pochází ze služby Windows Update.

Další informace o chybách služby Windows Update a jejich zmírnění naleznete ve kódech chyb Windows Update podle komponent a v článku na TechNetu Agent Windows Update - kódy chyb.

Informace o konfiguraci YAML pro tuto úlohu najdete v našich možnostech YAML antimalwarového softwaru.

BinSkim – úloha

Poznámka:

Před spuštěním úlohy BinSkim musí sestavení splňovat jednu z těchto podmínek:

  • Vaše sestavení vytváří výsledné binární soubory ze spravovaného kódu.
  • Máte commitované binární artefakty, které chcete analyzovat pomocí BinSkim.

Podrobnosti o konfiguraci úlohy se zobrazují na následujícím snímku obrazovky a seznamu.

Konfigurace úlohy sestavení BinSkim

  • Nastavte konfiguraci sestavení na Ladění, aby se vytvořily ladicí soubory .pdb. BinSkim tyto soubory používá k mapování problémů ve výstupních binárních souborech zpět do zdrojového kódu.
  • Abyste se vyhnuli vyhledávání a vytváření vlastního příkazového řádku:
    • V seznamu Typ vyberte Základní.
    • V seznamu funkcí vyberte Analyzovat.
  • Do pole Cíl zadejte jeden nebo více specifikátorů pro soubor, adresář nebo vzor filtru. Tyto specifikátory se přeloží na jeden nebo více binárních souborů, které se mají analyzovat:
    • Více zadaných cílů musí být odděleno středníkem (;).
    • Specifikátorem může být jeden soubor nebo zástupný znak.
    • Specifikace adresáře musí vždy končit znakem \*.
    • Příklady:
           *.dll;*.exe
           $(BUILD_STAGINGDIRECTORY)\*
           $(BUILD_STAGINGDIRECTORY)\*.dll;$(BUILD_STAGINGDIRECTORY)\*.exe;
  • Pokud v seznamu Typů vyberete příkazový řádek, musíte spustit binskim.exe:
    • Ujistěte se, že prvními argumenty pro binskim.exe je sloveso analyzovat následované jednou nebo více specifikacemi cesty. Každá cesta může být úplná nebo relativní cesta ke zdrojovému adresáři.
    • Více cílových cest musí být odděleno mezerou.
    • Parametr /o nebo /output můžete vynechat. Výstupní hodnota se přidá za vás nebo ji nahradí.
    • Standardní konfigurace příkazového řádku se zobrazují následujícím způsobem.
           analyze $(Build.StagingDirectory)\* --recurse --verbose
           analyze *.dll *.exe --recurse --verbose

Poznámka:

Koncová hvězdička \* je důležitá, pokud zadáte adresáře pro cíl.

Další informace o argumentech příkazového řádku BinSkim, pravidlech podle ID nebo ukončovací kódy najdete v uživatelské příručce BinSkim.

Informace o konfiguraci YAML pro tuto úlohu najdete v možnostech YAML pro BinSkim.

Úloha skeneru přihlašovacích údajů

Podrobnosti o konfiguraci úlohy se zobrazují na následujícím snímku obrazovky a seznamu.

Konfigurace úlohy sestavení skeneru přihlašovacích údajů

Mezi dostupné možnosti patří:

  • Zobrazený název: Název úlohy Azure DevOps. Výchozí hodnota je Spustit skener přihlašovacích údajů.
  • Hlavní verze nástroje: Dostupné hodnoty zahrnují CredScan V2, CredScan V1. Doporučujeme zákazníkům používat verzi CredScan V2 .
  • Výstupní formát: Mezi dostupné hodnoty patří TSV, CSV, SARIF a PREfast.
  • Verze nástroje: Doporučujeme vybrat Nejnovější.
  • Skenovat složku: Složka úložiště, která se má zkontrolovat.
  • Typ souboru vyhledávacích souborů: Možnosti pro vyhledání souboru prohledávacích souborů, které se používají ke skenování.
  • Soubor potlačení: Soubor JSON může potlačit problémy ve výstupním protokolu. Další informace o scénářích potlačení najdete v části Nejčastější dotazy v tomto článku.
  • Podrobný výstup: Samovysvětlující.
  • Velikost dávky: Počet souběžných vláken používaných ke spuštění nástroje Credential Scanner. Výchozí hodnota je 20. Možné hodnoty jsou v rozsahu od 1 do 2 147 483 647.
  • Časový limit shody: Doba v sekundách strávená pokusem o nalezení shody ve vyhledávacím procesu před opuštěním ověření.
  • Velikost vyrovnávací paměti pro čtení při prohledávání souborů: Velikost v bajtech vyrovnávací paměti použité při čtení obsahu. Výchozí hodnota je 524 288.
  • Maximální počet bajtů čtení při kontrole souborů: Maximální počet bajtů, které se mají číst ze souboru během analýzy obsahu. Výchozí hodnota je 104 857 600.
  • Možnosti> ovládacího prvkuSpusťte tuto úlohu: Určuje, kdy se úloha spustí. Vyberte Vlastní podmínky a určete složitější podmínky.
  • Verze: Verze úlohy sestavení v Azure DevOps. Tato možnost se často nepoužívá.

Informace o konfiguraci YAML pro tuto úlohu najdete v možnostech YAML skeneru přihlašovacích údajů.

Roslyn Analyzers – úloha

Poznámka:

Před spuštěním úlohy Analyzátory Roslyn musí sestavení splňovat tyto podmínky:

  • Definice sestavení obsahuje integrovanou úlohu sestavení MSBuild nebo VSBuild pro kompilaci kódu jazyka C# nebo Visual Basic. Úloha analyzátorů spoléhá na vstup a výstup předdefinované úlohy ke spuštění kompilace MSBuild s povolenými analyzátory Roslyn.
  • Agent sestavení, na kterém běží tato úloha sestavení, má nainstalovanou sadu Visual Studio 2017 verze 15.5 nebo novější, aby používala kompilátor verze 2.6 nebo novější.

Podrobnosti o konfiguraci úloh najdete v následujícím seznamu a poznámce.

Mezi dostupné možnosti patří:

  • Sada pravidel: Hodnoty jsou povinné SDL, doporučené SDL nebo vlastní sada pravidel.
  • Verze analyzátorů: Doporučujeme vybrat Nejnovější.
  • Soubor potlačení upozornění kompilátoru: Textový soubor se seznamem ID upozornění, která jsou potlačena.
  • Možnosti> ovládacího prvkuSpusťte tuto úlohu: Určuje, kdy se úloha spustí. Zvolte Vlastní podmínky a určete složitější podmínky.

Poznámka:

  • Analyzátory Roslyn jsou integrovány s kompilátorem a lze je spouštět pouze v rámci csc.exe kompilace. Proto tato úloha vyžaduje opětovné spuštění příkazu kompilátoru, který byl spuštěn dříve v sestavení. Toto přehrání nebo spuštění se provádí prostřednictvím dotazování na Azure DevOps (dříve Visual Studio Team Services) na protokoly úloh sestavení MSBuild.

    Neexistuje žádný jiný způsob, jak úloha spolehlivě získat příkazový řádek kompilace MSBuild z definice sestavení. Zvažovali jsme přidání volného textového pole, které uživatelům umožní zadat jejich příkazové řádky. Ale pak by bylo obtížné zachovat tyto příkazové řádky up-to-date a synchronizovat s hlavním sestavením.

    Vlastní sestavení vyžadují přehrání celé sady příkazů, nejen příkazů kompilátoru. V těchto případech není povolení analyzátorů Roslyn triviální ani spolehlivé.

  • Analyzátory Roslyn jsou integrované s kompilátorem. K vyvolání vyžadují analyzátory Roslyn kompilaci.

    Tato nová úloha sestavení je implementována opětovnou kompilací projektů jazyka C#, které byly již vytvořeny. Nová úloha používá pouze úlohy sestavení MSBuild a VSBuild ve stejném sestavení nebo definici sestavení jako původní úloha. V tomto případě však nová úloha používá analyzátory Roslyn s povolením.

    Pokud se nová úloha spustí ve stejném agentovi jako původní úkol, výstup nového úkolu přepíše výstup původního úkolu ve složce zdrojů. I když je výstup sestavení stejný, doporučujeme spustit MSBuild, zkopírovat výstup do přípravného adresáře artefaktů a pak spustit Roslyn Analyzéry.

Další zdroje pro úkol s analyzátory Roslyn najdete v analyzátorech postavených na platformě Roslyn.

Balíček analyzátoru nainstalovaný a používaný touto úlohou sestavení najdete na stránce NuGet Microsoft.CodeAnalysis.FxCopAnalyzers.

Informace o konfiguraci YAML pro tuto úlohu najdete v možnostech YAML analyzátorů Roslyn.

TSLint – úloha

Další informace o nástroji TSLint najdete v úložišti TSLint na GitHubu.

Poznámka:

Jak můžete vědět, domovská stránka úložiště TSLint Na GitHubu říká, že TSLint bude někdy v roce 2019 zastaralý. Microsoft zkoumá ESLint jako alternativní úkol.

Informace o konfiguraci YAML pro tuto úlohu najdete v našich možnostech TSLint YAML.

Úloha pro publikování protokolů analýzy zabezpečení

Podrobnosti o konfiguraci úlohy se zobrazují na následujícím snímku obrazovky a seznamu.

Konfigurace úlohy sestavení pro publikování protokolů analýzy zabezpečení

  • Název artefaktu: Libovolný identifikátor řetězce.
  • Typ artefaktu: V závislosti na vašem výběru můžete publikovat protokoly na Azure DevOps Server nebo do sdíleného souboru, který je přístupný agentu sestavení.
  • Nástroje: Můžete zvolit zachování protokolů pro konkrétní nástroje nebo můžete vybrat všechny nástroje a zachovat všechny protokoly.

Informace o konfiguraci YAML pro tuto úlohu najdete v možnostech YAML publikování protokolů zabezpečení.

Úkol zprávy o zabezpečení

Podrobnosti o konfiguraci sestavy zabezpečení jsou uvedeny na následujícím snímku obrazovky a seznamu.

Konfigurace úlohy sestavování zprávy o zabezpečení

  • Sestavy: Vyberte některý z formátů konzoly potrubí, souboru TSV a souboru HTML. Pro každý vybraný formát se vytvoří jeden soubor sestavy.
  • Nástroje: Vyberte nástroje v definici sestavení, pro které chcete zobrazit souhrn zjištěných problémů. U každého vybraného nástroje může být k dispozici možnost vybrat, jestli se v souhrnné sestavě zobrazí pouze chyby, nebo se zobrazí chyby i upozornění.
  • Rozšířené možnosti: Pokud pro některý z vybraných nástrojů nejsou žádné protokoly, můžete se rozhodnout, že chcete zaznamenat upozornění nebo chybu. Pokud zaznamenáte chybu, úloha spadne.
  • Složka základních protokolů: Můžete přizpůsobit složku základních protokolů, ve které se mají protokoly najít. Tato možnost se ale obvykle nepoužívá.

Podívejte se na možnosti YAML konfigurace bezpečností zprávy pro informace o konfiguraci YAML pro tuto úlohu.

Úloha po analýze

Podrobnosti o konfiguraci úlohy se zobrazují na následujícím snímku obrazovky a seznamu.

Konfigurace úlohy sestavení po analýze

  • Nástroje: Vyberte nástroje v definici sestavení, pro které chcete podmíněně vložit přerušení sestavení. U každého vybraného nástroje může být k dispozici možnost změnit nastavení, jestli chcete zastavit pouze při chybách, nebo při chybách i upozorněních.
  • Zpráva: Můžete volitelně napsat výsledky, které způsobují přerušení sestavení. Výsledky se zapisují do okna konzoly Azure DevOps a souboru protokolu.
  • Rozšířené možnosti: Pokud pro některý z vybraných nástrojů nejsou žádné protokoly, můžete se rozhodnout, že chcete zaznamenat upozornění nebo chybu. Pokud zaznamenáte chybu, úloha selže.

Informace o konfiguraci YAML pro tuto úlohu najdete v možnostech YAML po analýze.

Další kroky

Informace o konfiguraci založené na YAML najdete v průvodci konfigurací YAML.

Pokud máte další dotazy týkající se rozšíření Analýza bezpečnostního kódu a nabízených nástrojů, podívejte se na naši stránku s nejčastějšími dotazy.