Back to Cerbi Scanner

Documentation

Scanner Quickstart

Use the Visual Studio Marketplace extension in Azure DevOps, or install the same Scanner engine locally as a .NET tool. Both paths support report-only adoption before you enable CI gates.

Azure DevOps: install from Visual Studio Marketplace

If your team already uses Azure DevOps, the easiest distribution path is the free Cerbi Scanner extension in Visual Studio Marketplace. Install it into the Azure DevOps organization, then add CerbiScan@1 to an existing pipeline.

Install Cerbi Scanner from Visual Studio Marketplace

steps:
- task: UseDotNet@2
  displayName: Install .NET 10 SDK
  inputs:
    packageType: sdk
    version: 10.0.x

- task: CerbiScan@1
  displayName: Cerbi logging governance scan
  inputs:
    scanPath: $(Build.SourcesDirectory)
    failOn: none

Recommended for Azure DevOps teams

The Marketplace extension is a pipeline wrapper around the same Cerbi Scanner engine used by the local CLI. It runs on your existing build agent, supports report-only mode, and does not require a Cerbi account for the scan itself.

Local or GitHub: install .NET 10 LTS

Cerbi Scanner 1.1.0 targets net10.0. The machine or CI agent running the scanner must have the .NET 10 LTS runtime; the SDK is the simplest option for developer machines and build agents.

dotnet --version

The command should report a 10.0.x SDK. .NET 8-only hosts must install .NET 10 before running the current Scanner release.

Install the local CLI

dotnet tool install -g Cerbi.Scanner

After installation, verify the CLI:

cerbi-scanner --version
cerbi-scanner --help

To update an existing global-tool install:

dotnet tool update -g Cerbi.Scanner

The package is available on NuGet.

Run your first local scan

From the repository or source folder you want to inspect:

cerbi-scanner scan . --fail-on none

--fail-on none is the safest first run: Scanner reports findings but does not fail the command because of finding severity.

Read-only by default

Scanner does not modify source code. It does not upload scan results unless upload is explicitly enabled. No Cerbi control-plane connection is required for a local scan.

Generate CI-friendly reports

Generate JSON, SARIF, and a Markdown summary in one run:

mkdir -p scan-results
cerbi-scanner scan \
  --path . \
  --fail-on none \
  --format json --output scan-results/findings.json \
  --sarif scan-results/findings.sarif \
  --summary scan-results/build-summary.md

When you are ready to use Scanner as a build gate, change the threshold to --fail-on error (high severity) or another supported threshold. See the CI/CD guide.

What Scanner analyzes today

LanguageLogging frameworks
C# / .NETMEL, Serilog, NLog, log4net, Cerbi
Gozap, zerolog
JavaLog4j2, SLF4J
Node / TypeScriptWinston, Pino
Pythonstdlib logging, structlog

Scanner uses one language-neutral finding contract across these implementations. For the current rule set, see Scanner rules.

Next steps

NEXTChoose your next proof

Use CerbiStream inside selected applications, Cerbi Gateway at the OpenTelemetry boundary, or both. CerbiShield keeps policy, rollout, violations, audit, and evidence under one governance program.

One initial workload/Customer-hosted in Azure/Existing destinations remain
Scanner Quickstart — Cerbi Docs