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é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.
- Á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.
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.
- Ö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.
- 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.
- 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.