Sdílet prostřednictvím


Integrace nástrojů pro kontrolu od jiných společností než Microsoft

GitHub Advanced Security pro Azure DevOps vytváří výstrahy kontroly kódu v úložišti pomocí informací ze souborů SARIF (Static Analysis Results Interchange Format). Vlastnosti souboru SARIF slouží k naplnění informací o výstrahách, jako je název výstrahy, umístění a text popisu.

Soubory SARIF můžete generovat pomocí mnoha nástrojů pro testování zabezpečení statické analýzy, včetně CodeQL. Výsledky musí používat SARIF verze 2.1.0. Další informace o SARIF naleznete v kurzech SARIF.

Požadavky

Kategorie Požadavky
Oprávnění – Zobrazení souhrnu všech výstrah pro úložiště: Přispěvatel oprávnění k úložišti.
– Chcete-li zavřít výstrahy v rozšířeném zabezpečení: oprávnění pro správce projektu.
- Správa oprávnění v rozšířeném zabezpečení: Člen skupiny správců kolekce projektů nebo Rozšířené zabezpečení: správa nastavení oprávnění nastavena na Povolit.

Další informace o pokročilých oprávněních zabezpečení naleznete v tématu Správa oprávnění Advanced Security.

Nahrání analýzy skenování kódu pomocí Azure Pipelines

Pokud chcete použít Azure Pipelines k nahrání souboru SARIF jiného než Microsoftu do úložiště, musí váš pipeline použít AdvancedSecurity-Publish úlohu, která je součástí balíčku úloh GitHub Advanced Security pro Azure DevOps. Hlavní vstupní parametry, které se mají použít, jsou:

  • SarifsInputDirectory: Nakonfiguruje adresář souborů SARIF, který se má nahrát. Očekávaná cesta k adresáři je absolutní.
  • Category: Volitelně přiřadí kategorii výsledků v souboru SARIF. Tento parametr umožňuje analyzovat stejné potvrzení několika způsoby a kontrolovat výsledky pomocí zobrazení kontroly kódu na GitHubu. Můžete například analyzovat pomocí více nástrojů a v monoposích můžete analyzovat různé řezy úložiště na základě podmnožina změněných souborů.

Následující kód ukazuje příklad integrace s úkolem Microsoft Security DevOps vlastněným týmem Microsoft Defenderu pro cloud:

trigger:
- main

pool:
  vmImage: ubuntu-latest

steps:
- task: MicrosoftSecurityDevOps@1
  inputs:
    command: 'run'
    categories: 'IaC'
- task: AdvancedSecurity-Publish@1
  inputs:
    SarifsInputDirectory: '$(Build.ArtifactStagingDirectory)/.gdn/'

Generování otisků prstů výsledku

Pokud soubor SARIF neobsahuje partialFingerprints, AdvancedSecurity-Publish úkol vypočítá partialFingerprints pole za vás a pokusí se zabránit duplicitním výstrahám. Advanced Security může vytvořit partialFingerprints pouze v případech, kdy úložiště obsahuje soubor SARIF i zdrojový kód použitý ve statické analýze. Další informace o zabránění duplicitním výstrahám naleznete v tématu Poskytování dat ke sledování výstrah kontroly kódu napříč spuštěními.

Ověření výsledků nástroje

Můžete zkontrolovat, jestli vlastnosti SARIF mají podporovanou velikost pro nahrání a zda je soubor kompatibilní s prohledáváním kódu. Kromě toho existují určitá omezení datových objektů v každém souboru SARIF:

Data SARIF Omezení Poznámky
Počet spuštění na soubor 20
Výsledky na každý běh 5 000 Rozšířené zabezpečení zkontroluje, jestli je pole zabezpečení ve výsledcích neprázdné, potom seřadí a vybere 5 000 nejlepších výsledků. Jinak vyberte 5 000 výsledků, jakmile dorazily.
Pravidla pro jednotlivé spuštění Žádný Budoucí limit bude 25 000 pravidel na běh.
Rozšíření nástrojů na jeden běh Žádný Budoucí limit 100 rozšíření nástrojů pro každé spuštění.
Umístění podle výsledku Žádný Advanced Security vybere prvních 100 výsledků. Rozhraní upozornění zobrazí pouze první umístění pro každý výsledek.
Značky pro pravidlo Žádný Advanced Security vybere prvních deset.
Limit upozornění Žádný  

Další informace o řešení potíží s vaším souborem SARIF naleznete v tématu Ověřování vašeho souboru SARIF. Pokud chcete ověřit, jestli soubor SARIF odpovídá konkrétním požadavkům rozšířeného zabezpečení, přečtěte si validátor SARIF a vyberte Azure DevOps ingestion rules.