Megosztás a következőn keresztül:


A buildelési feladatok konfigurálása és testreszabása

Megjegyzés

2022. december 31-én megszűnik a Microsoft Security Code Analysis (MSCA) bővítmény. Az MSCA-t a Microsoft Security DevOps Azure DevOps bővítmény váltja fel. A bővítmény telepítéséhez és konfigurálásához kövesse a Konfigurálás című témakör utasításait.

Ez a cikk részletesen ismerteti az egyes buildelési feladatokban elérhető konfigurációs beállításokat. A cikk a biztonsági kódelemzési eszközök feladataival kezdődik. Az utófeldolgozási feladatokkal végződik.

Kártevőirtó szkenner feladat

Megjegyzés

A Kártevőirtó scanner buildelési feladatához egy olyan buildügynökre van szükség, amely engedélyezve van Windows Defender. Az üzemeltetett Visual Studio 2017-ben és később is biztosít ilyen ügynököt. A buildelési feladat nem fut a Visual Studio 2015 által üzemeltetett ügynökön.

Bár az aláírások nem frissíthetők ezeken az ügynökökön, az aláírásoknak mindig három óránál rövidebbnek kell lenniük.

A feladatkonfiguráció részletei az alábbi képernyőképen és szövegben láthatók.

A Kártevőirtó scanner buildelési feladatának konfigurálása

A képernyőkép Típus listájában az Alapszintű elem van kiválasztva. Válassza az Egyéni lehetőséget a vizsgálat testreszabására használható parancssori argumentumok megadásához.

Windows Defender az Windows Update-ügyfelet használja az aláírások letöltéséhez és telepítéséhez. Ha az aláírás frissítése meghiúsul a buildügynökön, a HRESULT hibakód valószínűleg Windows Update származik.

A Windows Update hibákkal és azok elhárításával kapcsolatos további információkért lásd: Windows Update hibakódok összetevőnként, valamint a TechNet Windows Update Agent – Hibakódok című cikkét.

A feladat YAML-konfigurációjáról további információt a Kártevőirtó YAML-beállításokban talál.

BinSkim-tevékenység

Megjegyzés

A BinSkim-feladat futtatása előtt a buildnek meg kell felelnie az alábbi feltételek egyikének:

  • A build bináris összetevőket állít elő felügyelt kódból.
  • Olyan bináris összetevők vannak véglegesítve, amelyeket a BinSkim használatával szeretne elemezni.

A feladatkonfiguráció részletei az alábbi képernyőképen és listában láthatók.

A BinSkim buildelési feladatának konfigurálása

  • Állítsa a buildkonfigurációt Hibakeresés értékre, hogy a .pdb hibakeresési fájlok létre legyenek hozva. A BinSkim ezeket a fájlokat használja a kimeneti bináris fájlok problémáinak forráskódra való leképezéséhez.
  • A saját parancssorok kutatásának és létrehozásának elkerülése érdekében:
    • A Típus listában válassza az Alapszintű lehetőséget.
    • A Függvény listában válassza az Elemzés lehetőséget.
  • A Cél mezőben adjon meg egy vagy több megadót egy fájlhoz, könyvtárhoz vagy szűrőmintához. Ezek a definiálók egy vagy több, elemezendő bináris fájlra vannak feloldva:
    • Több megadott célt pontosvesszővel kell elválasztani (;).
    • A kijelölők lehetnek egyetlen fájl vagy helyettesítő karakterek.
    • A címtár-specifikációknak mindig \*-nak kell végződniük.
    • Példák:
           *.dll;*.exe
           $(BUILD_STAGINGDIRECTORY)\*
           $(BUILD_STAGINGDIRECTORY)\*.dll;$(BUILD_STAGINGDIRECTORY)\*.exe;
  • Ha a Típus listában a Parancssor lehetőséget választja, binskim.exe kell futtatnia:
    • Győződjön meg arról, hogy a binskim.exe első argumentuma az elemzett ige, amelyet egy vagy több elérésiút-specifikáció követ. Minden elérési út lehet teljes elérési út vagy a forráskönyvtárhoz viszonyított elérési út.
    • Több célútvonalat szóközzel kell elválasztani.
    • Kihagyhatja az /o vagy a /output beállítást. A kimeneti érték hozzáadódik Önhöz, vagy lecserélődik.
    • A szabványos parancssori konfigurációk az alábbiak szerint jelennek meg.
           analyze $(Build.StagingDirectory)\* --recurse --verbose
           analyze *.dll *.exe --recurse --verbose

Megjegyzés

A \* záró elem akkor fontos, ha címtárakat ad meg a célhoz.

A BinSkim parancssori argumentumokról, az azonosítók szerinti szabályokról vagy a kilépési kódokról a BinSkim felhasználói útmutatójában talál további információt.

A feladat YAML-konfigurációjáról a BinSkim YAML-beállításokban talál további információt.

Hitelesítőadat-ellenőrző feladat

A feladatkonfiguráció részletei az alábbi képernyőképen és listában láthatók.

A Credential Scanner buildelési feladatának konfigurálása

Az elérhető lehetőségek a következők:

  • Megjelenítendő név: Az Azure DevOps-feladat neve. Az alapértelmezett érték a Hitelesítőadat-ellenőrző futtatása
  • Eszköz főverziója: Az elérhető értékek közé tartozik a CredScan V2 és a CredScan V1. Javasoljuk, hogy az ügyfelek a CredScan V2 verziót használják.
  • Kimeneti formátum: Az elérhető értékek közé tartozik a TSV, a CSV, a SARIF és a PREfast.
  • Eszköz verziója: Javasoljuk, hogy válassza a Legújabb lehetőséget.
  • Vizsgálati mappa: A beolvasandó adattármappa.
  • Keresők fájltípusa: A kereséshez használt keresőfájl megkeresésének beállításai.
  • Elnyomási fájl: A JSON-fájlok letilthatják a kimeneti naplóban szereplő problémákat. A letiltási forgatókönyvekkel kapcsolatos további információkért tekintse meg a cikk GYIK című szakaszát.
  • Részletes kimenet: Magától értetődő.
  • Kötegméret: A credential scanner futtatásához használt egyidejű szálak száma. Az alapértelmezett érték 20. A lehetséges értékek 1 és 2 147 483 647 között mozognak.
  • Egyezés időtúllépése: Az az idő másodpercben, amely a keresőegyeztetés megkísérlésével tölthető az ellenőrzés megszakítása előtt.
  • Fájlvizsgálat olvasási puffermérete: A tartalom olvasása közben használt puffer bájtban megadott mérete. Az alapértelmezett érték 524 288.
  • Maximális fájlvizsgálati olvasási bájtok: A fájlokból a tartalomelemzés során beolvasható bájtok maximális száma. Az alapértelmezett érték 104 857 600.
  • Vezérlési beállítások>Futtassa ezt a feladatot: Meghatározza, hogy a tevékenység mikor fusson. Az összetettebb feltételek megadásához válassza az Egyéni feltételek lehetőséget.
  • Verzió: A buildelési feladat verziója az Azure DevOpsban. Ezt a lehetőséget nem gyakran használják.

A feladat YAML-konfigurációjáról a Credential Scanner YAML-beállításaiban talál további információt.

Roslyn Analyzers feladat

Megjegyzés

A Roslyn Analyzers feladat futtatása előtt a buildnek meg kell felelnie az alábbi feltételeknek:

  • A builddefiníció tartalmazza a beépített MSBuild vagy VSBuild buildelési feladatot c# vagy Visual Basic-kód fordításához. Az elemzők feladata a beépített feladat bemenetére és kimenetére támaszkodik az MSBuild összeállítás roslyn-elemzők engedélyezésével történő futtatásához.
  • A buildelési feladatot futtató buildügynök telepítve van a Visual Studio 2017 15.5-ös vagy újabb verziójával, hogy a fordító 2.6-os vagy újabb verzióját használja.

A feladatkonfiguráció részletei az alábbi listában és megjegyzésben láthatók.

Az elérhető lehetőségek a következők:

  • Szabálykészlet: Az értékek: SDL Kötelező, SDL-ajánlott vagy saját egyéni szabálykészlet.
  • Elemzők verziója: Javasoljuk, hogy válassza a Legújabb lehetőséget.
  • Fordító figyelmeztetések mellőzései fájl: Egy szövegfájl, amely a letiltott figyelmeztető azonosítók listáját tartalmazza.
  • Vezérlési beállítások>Futtassa ezt a feladatot: Meghatározza, hogy a tevékenység mikor fusson. Az összetettebb feltételek megadásához válassza az Egyéni feltételek lehetőséget.

Megjegyzés

  • A Roslyn-elemzők integrálva vannak a fordítóval, és csak csc.exe fordítás részeként futtathatók. Ezért ehhez a feladathoz a build korábbi részében futtatott fordítóparancsot kell újrajátszani vagy újra futtatni. Ez a visszajátszás vagy futtatás az Azure DevOps (korábbi nevén Visual Studio Team Services) MSBuild buildelési feladatnaplóihoz való lekérdezésével történik.

    A feladatnak nincs más módja, hogy megbízhatóan lekérje az MSBuild fordítási parancssort a builddefinícióból. Fontolóra vettük egy szabadkérelmű szövegdoboz hozzáadását, amely lehetővé teszi, hogy a felhasználók beírhassák a parancssoraikat. Ezután azonban nehéz lenne naprakészen tartani ezeket a parancssorokat, és szinkronban tartani a fő builddel.

    Az egyéni buildekhez nem csak a fordítóparancsok, hanem a parancsok teljes halmazának ismétlése is szükséges. Ezekben az esetekben a Roslyn-elemzők engedélyezése nem triviális vagy megbízható.

  • A Roslyn-elemzők integrálva vannak a fordítóval. A meghíváshoz a Roslyn-elemzők fordítást igényelnek.

    Ez az új buildelési feladat a már létrehozott C#-projektek újrafordításával valósítható meg. Az új feladat csak az MSBuild és a VSBuild összeállítási feladatokat használja ugyanabban a build- vagy builddefinícióban, mint az eredeti feladat. Ebben az esetben azonban az új feladat azokat használja, ha a Roslyn-elemzők engedélyezve vannak.

    Ha az új tevékenység ugyanazon az ügynökön fut, mint az eredeti tevékenység, az új tevékenység kimenete felülírja az eredeti tevékenység kimenetét a forrásmappában. Bár a build kimenete megegyezik, javasoljuk, hogy futtassa az MSBuild parancsot, másolja a kimenetet az összetevők átmeneti könyvtárába, majd futtassa a Roslyn Analyzers parancsot.

A Roslyn-elemzők feladathoz további erőforrásokért tekintse át a Roslyn-alapú elemzőket.

A buildelési feladat által telepített és használt elemzőcsomagot a Microsoft.CodeAnalysis.FxCopAnalyzers NuGet-oldalon találja.

A feladat YAML-konfigurációjáról további információt a Roslyn Analyzers YAML-beállításaiban talál.

TSLint-tevékenység

A TSLintről további információt a TSLint GitHub-adattárban talál.

Megjegyzés

Mint bizonyára tudja, a TSLint GitHub-adattár kezdőlapja szerint a TSLint valamikor 2019-ben elavulttá válik. A Microsoft alternatív feladatként vizsgálja az ESLintet .

A feladat YAML-konfigurációjáról további információt a TSLint YAML-beállításokban talál.

Biztonsági elemzési naplók közzététele feladat

A feladatkonfiguráció részletei az alábbi képernyőképen és listában láthatók.

A Biztonsági elemzési naplók közzététele buildelési feladat konfigurálása

  • Összetevő neve: Bármilyen sztringazonosító.
  • Összetevő típusa: A kijelöléstől függően naplókat tehet közzé a Azure DevOps Server vagy egy olyan megosztott fájlban, amely elérhető a fordítóügynök számára.
  • Eszközök: Dönthet úgy, hogy adott eszközök naplóit megőrzi, vagy a Minden eszköz lehetőséget választva az összes naplót megőrzi.

A feladat YAML-konfigurációjáról további információt a Biztonsági naplók közzététele YAML-beállításokban talál.

Biztonsági jelentés feladat

A biztonsági jelentés konfigurációjának részletei az alábbi képernyőképen és listában láthatók.

A biztonsági jelentés buildelési feladatának konfigurálása

  • Jelentések: Válassza ki a folyamatkonzol, a TSV-fájl és a HTML-fájlformátumok bármelyikét. Minden egyes kijelölt formátumhoz egy jelentésfájl jön létre.
  • Eszközök: Válassza ki azokat az eszközöket a builddefinícióban, amelyekről összegzést szeretne kapni az észlelt problémákról. Az egyes kijelölt eszközök esetében lehetőség van annak kiválasztására, hogy csak a hibákat látja-e, vagy a hibákat és a figyelmeztetéseket is láthatja az összefoglaló jelentésben.
  • Speciális beállítások: Ha a kiválasztott eszközök egyikéhez nincsenek naplók, figyelmeztetést vagy hibát naplózhat. Ha hibát naplóz, a feladat meghiúsul.
  • Alapnaplók mappa: Testre szabhatja az alapnaplók mappát, ahol a naplók találhatók. Ezt a lehetőséget azonban általában nem használják.

A feladat YAML-konfigurációjáról további információt a biztonsági jelentés YAML-beállításaiban talál.

Elemzés utáni feladat

A feladatkonfiguráció részletei az alábbi képernyőképen és listában láthatók.

Az Elemzés utáni buildelési feladat konfigurálása

  • Eszközök: Válassza ki azokat az eszközöket a builddefinícióban, amelyekhez feltételesen be szeretné szúrni a buildtörést. Az egyes kijelölt eszközök esetében megadhatja, hogy csak a hibákra, illetve a hibákra és figyelmeztetésekre szeretne-e szakítani.
  • Jelentés: Igény szerint megírhatja a buildtörést okozó eredményeket. Az eredmények az Azure DevOps-konzol ablakában és naplófájljában lesznek megírva.
  • Speciális beállítások: Ha a kiválasztott eszközök egyikéhez nincsenek naplók, figyelmeztetést vagy hibát naplózhat. Ha hibát naplóz, a feladat meghiúsul.

A feladat YAML-konfigurációjáról további információt az Elemzés utáni YAML-beállításokban talál.

Következő lépések

A YAML-alapú konfigurációval kapcsolatos információkért tekintse meg a YAML konfigurációs útmutatóját.

Ha további kérdései vannak a biztonsági kódelemzési bővítménnyel és a kínált eszközökkel kapcsolatban, tekintse meg a GYIK oldalt.