Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Agentlös kodgenomsökning i Microsoft Defender för molnet erbjuder snabb och skalbar säkerhetstäckning för alla lagringsplatser i Azure DevOps och GitHub. Den söker automatiskt igenom kod, beroenden med öppen källkod och infrastruktur som kod (IaC) för att identifiera sårbarheter och felkonfigurationer. Du behöver inte ändra bygg- eller distributionspipelines. Den här metoden förenklar konfigurationen och underhållet med en enda Azure DevOps eller GitHub anslutningsprogram och ger bred täckning, kontinuerliga insikter och användbara säkerhetsresultat. Det gör att säkerhets- och utvecklingsteamen kan fokusera på att åtgärda risker utan att avbryta arbetsflöden för utveckling.
Du kan anpassa vilka skannrar som ska köras och definiera exakt vilka organisationer, projekt eller lagringsplatser som ska inkluderas eller undantas från genomsökning.
Förutsättningar
Innan du aktiverar agentlös kodgenomsökning måste du uppfylla följande krav:
Användningsfall som stöds:
Säkerhetsrekommendationer för att prioritera och åtgärda kodsårbarheter
Cloud Security Explorer-sökfrågor för att hitta kodförråd, inklusive beroenden från en programvaruförteckning (SBOM).
Regioner som stöds: Australien, östra, Kanada, centrala, USA, centrala, Asien, östra, USA, östra, Europa, norra, Sverige, centrala, Storbritannien, södra, Europa, västra.
Miljöer som stöds: Azure DevOps-anslutningsappen och GitHub-anslutningsappen.
Roller och behörigheter:
Så här konfigurerar du anslutningsappen:
- Projektsamlingsadministratör: Krävs i Azure DevOps för att utföra den första installationen.
- Prenumerationsdeltagare: Krävs i Azure-prenumerationen för att skapa och konfigurera anslutningsappen.
Så här visar du säkerhetsresultat:
- Säkerhetsadministratör: Kan hantera säkerhetsinställningar, principer och aviseringar men kan inte ändra anslutningsappen.
- Säkerhetsläsare: Kan visa rekommendationer, aviseringar och principer men kan inte göra några ändringar.
Viktiga fördelar
Agentlös kodgenomsökning i Microsoft Defender för molnet ger följande fördelar:
- Proaktiv riskhantering: Identifiera risker tidigt i utvecklingsprocessen. Detta möjliggör säkra kodningsmetoder och minskar sårbarheter innan de når produktion.
- Enkel registrering: Konfigurera snabbt med minimal konfiguration och utan pipelineändringar.
- Centraliserad hantering i företagsskala: Genomsök kod automatiskt över flera lagringsplatser med hjälp av en enda anslutningsapp. Detta ger omfattande täckning för stora miljöer.
- Snabba insikter för snabb reparation: Få användbara sårbarhetsinsikter direkt efter registrering. Detta möjliggör snabbkorrigeringar och minskar exponeringstiden.
- Utvecklarvänligt och sömlöst: Arbeta oberoende av ci/CD-pipelines (kontinuerlig integrering och kontinuerlig distribution), utan ändringar eller direkt utvecklarinflytande. Detta möjliggör kontinuerlig säkerhetsövervakning utan att störa utvecklarens produktivitet eller arbetsflöden.
- Flexibel täckning och kontroll: Välj vilka skannrar som ska köras och vad som ska genomsökas. Du kan täcka allt som standard eller anpassa inställningar för att inkludera eller exkludera specifika organisationer, projekt eller lagringsplatser. På så sätt kan du matcha säkerhetstäckningen med din riskprofil och dina operativa behov, utan extra komplexitet.
- SBOM-skapande (Software Bill of Materials): Om du automatiskt genererar en SBOM vid varje genomsökning får teamen en exakt, frågebar inventering av beroenden och versioner i sina lagringsplatser, utan ytterligare arbetsflödesändringar. Detta möjliggör snabb konsekvensanalys, snabbare svar på nyligen avslöjade sårbarheter och säkert beslutsfattande vid bedömning av exponering för specifika paket eller versioner.
Funktioner för riskidentifiering
Genomsökning av agentlös kod förbättrar säkerheten genom att leverera riktade, användbara rekommendationer för programkod, IaC-mallar (infrastruktur som kod) och beroenden från tredje part. Detta är utöver säkerhetsrekommendationerna för hantering av molnsäkerhetsstatus som tillhandahålls via anslutningsappen. Bland funktionerna för nyckelidentifiering finns:
- Kodsårbarheter: Hitta vanliga kodfel, osäkra kodningsmetoder och kända sårbarheter på flera programmeringsspråk.
- Felkonfigurationer för infrastruktur som kod: Identifiera felkonfigurationer av säkerhet i IaC-mallar som kan leda till osäkra distributioner.
- Sårbarheter i beroenden: Identifiera kända sårbarheter i paket med öppen källkod och OS-paket som identifierats i lagringsplatser.
- Software Bill of Materials (SBOM): Generera automatiskt en omfattande, frågebar inventering av beroenden och deras versioner för varje lagringsplats.
Att skapa anslutningen förbättrar säkerheten genom att tillhandahålla grundläggande rekommendationer för hantering av molnsäkerhetspostur för lagringsplatser, pipelines och tjänstanslutningar.
Skanningsverktyg
Agentlös kodgenomsökning använder verktyg med öppen källkod för att hitta sårbarheter och felkonfigurationer i kod- och IaC-mallar (infrastruktur som kod):
| Verktyg | IaC/Språk som stöds | Licens |
|---|---|---|
| Mall Analysator | ARM IaC-mallar, Bicep IaC-mallar | MIT |
| Checkov | Terraform IaC-mallar, Terraform-planfiler, AWS CloudFormation-mallar, Kubernetes-manifestfiler, Helm-diagramfiler, Dockerfiles, Azure Resource Manager (ARM) IaC-mallar, Azure Bicep IaC-mallar, AWS SAM-mallar (serverlös programmodell), Kustomize-filer, Serverlösa ramverksmallar, OpenAPI-specifikationsfiler | Apache 2.0 |
| Bandit | python | Apache 2.0 |
| ESLint | JavaScript, TypeScript, JSX, TSX | MIT |
| Trivy | Sårbarhetsskanning av beroenden och operativsystempaket från repository-manifest och låsfiler (filsystemläge) | Apache 2.0 |
| Syft | Alpine (apk), Bitnami packages, C (conan), C++ (conan), Dart (pubs), Debian (dpkg), Dotnet (deps.json), Objective-C (cocoapods), Elixir (mix), Erlang (rebar3), Go (go.mod, Go binärfiler), GitHub (arbetsflöden, åtgärder), Haskell (cabal, stack), Java (jar, ear, war, par, sar, nar, rar, native-image), JavaScript (npm, yarn), Jenkins Plugins (jpi, hpi), Linux kernel archives (vmlinuz), Linux kernel modules (ko), Nix (outputs in /nix/store), PHP (kompositör, PECL, päron), Python (hjul, ägg, poesi, requirements.txt, uv), Red Hat (rpm), Ruby (gem), Rust (cargo.lock, auditable binary), Swift (cocoapods, swift-package-manager), Wordpress plugins, Terraform providers (.terraform.lock.hcl) | Apache 2.0 |
Dessa verktyg stöder en mängd olika språk och IaC-ramverk (infrastructure-as-code), vilket säkerställer noggrann säkerhetsanalys i din kodbas.
System och filtyper som stöds
Versionskontrollsystem
Agentlös kodgenomsökning stöder följande versionskontrollsystem:
Azure DevOps: Fullständigt stöd för lagringsplatser som är anslutna via Azure DevOps-anslutningsappen.
GitHub: Fullständigt stöd för lagringsplatser som är anslutna via GitHub-anslutningsappen.
Programmeringsspråk
Agentlös kodgenomsökning stöder följande programmeringsspråk och beroendeekosystem:
Statisk kodanalys: Python; JavaScript/TypeScript.
Beroendeekosystem (via Trivy): Node.js (npm, yarn), Python (pip, Pipenv, Poetry), Java (Maven, Gradle), .NET (NuGet), Go-moduler, Ruby (RubyGems), PHP (Composer), Rust (Cargo) och andra språk som stöds och paketerar ekosystem via manifest och låsfiler.
Plattformar och konfigurationer för infrastruktur som kod (IaC)
I följande tabell visas de IaC-plattformar och filtyper som stöds av agentlös kodgenomsökning:
| IaC-plattform | Filtyper som stöds | Anteckningar |
|---|---|---|
| Terraform |
.tf, .tfvars |
Stöder Terraform IaC-mallar på HCL2-språk, inklusive variabelfiler i .tfvars. |
| Terraform Plan | JSON-filer | Innehåller JSON-filer som representerar planerade konfigurationer som används för analys och genomsökning. |
| AWS CloudFormation | JSON, YAML-filer | Stöder AWS CloudFormation-mallar för att definiera AWS-resurser. |
| Kubernetes | YAML, JSON-filer | Stöder Kubernetes-manifestfiler för att definiera konfigurationer i kluster. |
| Roder | Katalogstruktur för Helm-diagram, YAML-filer | Följer Helms standarddiagramstruktur och stöder Helm v3-diagramfiler. |
| Docker | Filer med namnet Dockerfile | Stöder Dockerfiles för containerkonfigurationer. |
| Azure ARM-mallar | JSON-filer | Stöder IaC-mallar i Azure Resource Manager (ARM) i JSON-format. |
| Azure Bicep |
.bicep filer |
Stöder Bicep IaC-mallar, ett domänspecifikt språk (DSL) för ARM. |
| AWS SAM | YAML-filer | Stöder SAM-mallar (Serverless Application Model) för serverlösa resurser. |
| Kustomize | YAML-filer | Stöder konfigurationsfiler för Kubernetes-anpassning (Kustomize). |
| Serverlöst ramverk | YAML-filer | Stöder mallar för det serverlösa ramverket för att definiera serverlösa arkitekturer. |
| OpenAPI | YAML, JSON-filer | Stöder OpenAPI-specifikationsfiler för att definiera RESTful-API:er. |
Aktivera agentlös kodgenomsökning i dina Azure DevOps- och GitHub-organisationer
Du kan ansluta både Azure DevOps- och GitHub-organisationer till Defender för molnet för att aktivera agentlös kodgenomsökning. Om du vill konfigurera anslutningen använder du någon av följande guider:
Anpassa skannertäckning och omfång
För både GitHub och Azure DevOps kan du styra vilka skannrar som körs och ange exakt vilka lagringsplatser som ingår eller undantas från agentlös genomsökning.
Välj skannrar: Aktivera eller inaktivera varje kod och IaC-skanner (infrastruktur som kod) baserat på dina behov.
Ange genomsökningsomfång: Bestäm om du vill genomsöka alla lagringsplatser som standard eller definiera ett anpassat omfång för att inkludera eller exkludera specifika organisationer, projekt eller lagringsplatser.
- Exkluderingsläge: Sök igenom allt utom vad du listar.
- Inkluderingsläge: Skanna bara det du listar.
Alternativ för anpassat omfång:
- För GitHub anger du omfång efter ägare eller lagringsplats.
- För Azure DevOps anger du omfång efter organisation, projekt eller lagringsplats.
Identifiera nya lagringsplatser automatiskt: Automatisk upptäckt av nya lagringsplatser är alltid begränsad till de organisationer eller projekt som ingår i anslutningsappens omfång. Den är aktiverad som standard när du använder undantagsläge och ingen anpassad omfångslista har angetts. Nyligen skapade lagringsplatser genomsöks automatiskt.
Automatisk upptäckt är inte tillgängligt i inkluderingsläge eftersom endast de listade lagringsplatserna genomsöks.
Med de här omfångskonfigurationsalternativen kan du matcha genomsökningen efter dina säkerhetsbehov, hålla täckningen uppdaterad när miljön växer och undvika onödiga genomsökningar eller luckor.
Så här fungerar agentlös kodgenomsökning
Agentlös kodgenomsökning fungerar oberoende av CI/CD-pipelines. Den använder Azure DevOps- eller GitHub-anslutningsappen för att automatiskt genomsöka kod- och IaC-konfigurationer (infrastruktur som kod). Du behöver inte ändra pipelines eller lägga till tillägg. Den här konfigurationen möjliggör bred och kontinuerlig säkerhetsanalys över flera lagringsplatser. Resultaten bearbetas och visas direkt i Microsoft Defender för molnet.
Genomsökningsprocess
När du aktiverar funktionen för agentlös kodgenomsökning inom en kontaktanordning innehåller genomsökningsprocessen följande steg:
Identifiering av lagringsplats: Systemet identifierar automatiskt alla lagringsplatser som är länkade via Azure DevOps- och GitHub-anslutningsappen direkt efter att anslutningsappen har skapats och sedan var 8:e timme.
Kodhämtning: Den hämtar säkert den senaste koden från standardgrenen (main) för varje lagringsplats för analys, först efter konfigurationen av anslutningsappen och sedan dagligen.
Analysis: Systemet använder inbyggda genomsökningsverktyg som Microsoft Defender för molnet hanterar och uppdaterar. De här verktygen hittar sårbarheter och felkonfigurationer i IaC-mallar (infrastruktur som kod). Systemet skapar också en SBOM för att stödja paketfrågor.
Resultatbearbetning: Den bearbetar genomsökningsresultat via Defender för molnet's backend för att skapa åtgärdsbara säkerhetsrekommendationer.
Leverans av resultat: Systemet visar identifieringar i Defender för molnet som säkerhetsrekommendationer. Mer information finns i Referens för DevOps-säkerhetsrekommendationer.
Genomsökningsfrekvens och varaktighet
Agentlös kodgenomsökning använder följande schema:
Genomsökningsfrekvens:
- Säkerhetsstatusen för lagringsplatser, pipelines och tjänstanslutningar utvärderas när du skapar anslutningsappen och sedan var åttonde timme.
- Systemet söker igenom kod- och IaC-mallar (infrastructure-as-code) efter sårbarheter när du har skapat anslutningsappen och sedan dagligen.
Genomsökningens varaktighet: Genomsökningarna avslutas vanligtvis inom 15 till 60 minuter, beroende på lagringsplatsens storlek och komplexitet.
Visa och hantera genomsökningsresultat
När genomsökningarna är klara kan du komma åt säkerhetsresultat inom Microsoft Defender för molnet.
Åtkomstresultat
Så här kommer du åt resultaten:
I Microsoft Defender för molnet går du till fliken Säkerhetsrekommendationer: Öppna säkerhetsrekommendationer.
Granska rekommendationerna för både Azure DevOps- och GitHub-lagringsplatser, till exempel:
Lagringsplatser bör ha kodgenomsökningsresultat lösta – Anger sårbarheter som finns i kodlagringsplatser.
Lagringsplatser bör ha infrastruktur som kodgenomsökningsresultat lösta – Flaggor säkerhetsfelkonfigurationer i IaC-mallar.
Förvar bör ha beroendekontroller för sårbarheter åtgärdade – Anger sårbara paket med öppen källkod som upptäckts i förvar.
Alla rekommendationer som stöds för båda plattformarna finns i Azure DevOps och GitHub säkerhetsrekommendationer.
Rekommendationerna omfattar bland annat krav på godkännanden för flera granskare, begränsning av hemlig åtkomst och framtvingande av metodtips för både Azure DevOps- och GitHub-miljöer.
Välj valfri rekommendation för att visa information om berörda filer, allvarlighetsgrad och reparationssteg.
Skillnad mellan agentlös kodgenomsökning och genomsökning i pipeline
Agentlös jämfört med genomsökning i pipeline
Agentlös kodgenomsökning och genomsökning i pipeline med Microsoft Security DevOps-tillägget ger både säkerhetsgenomsökning i Azure DevOps och GitHub. De tillgodoser olika behov och kan komplettera varandra. I följande tabell sammanfattas de största skillnaderna så att du kan välja det alternativ som passar din miljö bäst.
| Aspekt | Agentlös kodgenomsökning | Genomsökning i pipeline |
|---|---|---|
| Anpassa användningsfall | Erbjuder bred täckning med minimala störningar för utvecklare | Ger detaljerade, pipelineintegrerade genomsökningar med anpassningsbara kontroller |
| Genomsökningsomfång och täckning | Fokuserar på infrastruktur som kod (IaC), kodsårbarheter och sårbarheter med öppen källkod på schemalagd basis (dagligen) | Erbjuder omfattande täckning, inklusive binärfiler och containeravbildningar som utlöses vid varje pipelinekörning |
| Inställningar och konfiguration | Kräver ingen ytterligare konfiguration när anslutningsappen har skapats | Kräver manuell installation och konfiguration i varje CI/CD-pipeline |
| Pipelineintegrering | Körs oberoende av CI/CD-pipelines utan att ändra arbetsflöden | Integreras i CI/CD-pipelinen och kräver konfiguration i varje enskild pipeline. |
| Anpassning av skanner | Gör att du kan välja vilka skannrar som ska köras | Tillåter anpassning med specifika skannrar, kategorier, språk, känslighetsnivåer och andra verktyg än Microsoft |
| Resultat och feedback | Ger åtkomst till resultat inom Defender för molnet | Ger feedback i nära realtid inom CI/CD-pipelinen, med resultat som också visas i Defender för molnet |
| Kriterier för avbrott och fel | Kan inte avbryta byggning | Kan konfigureras för att avbryta versioner baserat på allvarlighetsgraden av säkerhetsproblem. |
Skalbarhet och prestandapåverkan
Agentlös kodgenomsökning undviker att skapa resurser i prenumerationen och kräver inte genomsökning under pipelineprocessen. Den använder Azure DevOps och GitHub REST API för att hämta metadata och kod. Det innebär att API-anrop räknas mot Azure DevOps- och GitHub-hastighetsgränser, men du debiteras inte direkta kostnader för dataöverföring. Tjänsten hanterar genomsökningar för att säkerställa att de håller sig inom hastighetsgränserna för Azure DevOps och GitHub utan att avbryta utvecklingsmiljön. Den här metoden ger effektiv genomsökning med höga prestanda mellan lagringsplatser utan att påverka DevOps-arbetsflöden. Mer information finns i Hastighets- och användningsgränser för Azure DevOps och Hastighetsgränser för GitHub REST API.
Datasäkerhet, efterlevnad och åtkomstkontroll för agentlös kodgenomsökning
Microsoft Defender för molnet tjänst för agentlös kodgenomsökning hjälper dig att skydda din kod med datasäkerhets- och sekretesskontroller:
- Datakryptering och åtkomstkontroll: Systemet krypterar alla data under överföring med hjälp av branschstandardprotokoll. Endast auktoriserade Defender för molnet tjänster kan komma åt din kod.
- Datalagring och lagringstid: Skanningar körs i samma geografi som dina Azure DevOps- och GitHub-anslutningar (USA eller EU) för att uppfylla krav på dataskydd. Systemet bearbetar kod under genomsökningen och tar sedan bort den på ett säkert sätt. Den behåller inte långsiktig kodlagring.
- Access to repositories: Tjänsten genererar en säker åtkomsttoken för Azure DevOps och GitHub för att köra genomsökningar. Med den här token kan tjänsten hämta nödvändiga metadata och kod utan att skapa resurser i din prenumeration. Endast Defender för molnet komponenter kan använda den här åtkomsten.
- Efterlevnadsstöd: Tjänsten överensstämmer med regel- och säkerhetsstandarder för datahantering och sekretess för att stödja säker, regional bearbetning av kundkod.
Dessa åtgärder säkerställer en säker, kompatibel och effektiv kodgenomsökningsprocess som upprätthåller dina datas integritet och integritet.
Begränsningar (offentlig förhandsversion)
Under den offentliga förhandsversionen gäller följande begränsningar:
- Ingen binär genomsökning: Endast kod (SAST) och IaC-genomsökningsverktyg körs.
- Genomsökningsfrekvens: Agentlös kodgenomsökning söker igenom lagringsplatser när du aktiverar funktionen och sedan en gång per dag.
- Lagringsplatsstorlek: Agentlös kodgenomsökning stöder lagringsplatser under 1 GB.
-
Grentäckning: Genomsökningar täcker endast standardgrenen (vanligtvis
main). - Anpassning av verktyg: Du kan inte anpassa genomsökningsverktyg.
Syft (SBOM) har för närvarande följande begränsningar:
Det går inte att ladda ned SBOM:er. Du kan fråga Syft-resultat för att hitta specifika paket och de lagringsplatser som använder dem. Vägledning finns i Fråga efter programvarufaktura för material.
En lagringsplats behöver en låsfil. Annars hittas endast direkta beroenden.
Storleksbegränsningen för SBOM är begränsad till 1 MB. Om många paket har identifierats misslyckas vår inmatning till molnkartan.
SBOM-aktivering kan inte konfigureras eller laddas ned. En SBOM genereras vid varje agentlös genomsökning.
Tidsgränsen är inställd på 15 minuter för SBOM-verktyget att köras.
Om du inaktiverar agentlös kodgenomsökning tas inte SBOM-rekommendationerna bort.