Scanning and Results
Configure targets, select from 48 open-source engines, follow the V2 scan lifecycle, and interpret outputs.
1Scan Overview
A scan is a top-level document under /scansV2/{scanId} containing one step per engine. Status streams to Firestore in real time — the UI subscribes via snapshot listener.
V2 data model
/scansV2/{scanId} ← scan job document
.orgId, .status, .engines ← tenant scope + config
.resolvedEngines[] ← validated engine list
.targetType ← file | directory | sbom | container | url
/steps/{stepId} ← per-engine step
.engine, .status ← engine ID + state
.lease.workerId ← acquired worker
.lease.leaseToken ← ownership proof
.lease.expiresAt ← auto-reclaim deadline
.input.storagePath ← GCS path to target
.output, .durationMs ← results + timing
/findings/{findingId} ← engine-produced findings
.severity, .title, .engine ← finding details
.cve, .package, .description ← vulnerability context2Supported Engines (48)
Malware
ClamAV
FreeOpen-source AV engine
YARA
FreePattern matching rules
Loki
ProIOC scanner (YARA+hashes)
capa
ProPE capability analysis
oletools
ProOffice malware analysis
FLOSS
ProString extraction (Mandiant)
Defender
EnterpriseWindows Defender AV
Triage
Detect It Easy
FreePacker/compiler detection
ExifTool
FreeMetadata extraction
pdfid + pdf-parser
ProSuspicious PDF analysis
ssdeep + TLSH
ProFuzzy hashing
Sysinternals Suite
EnterprisePE string/signature tools
Vulnerability
Grype
FreeSBOM/container CVE scanner
Trivy
FreeComprehensive vuln scanner
npm audit
FreeNode.js dependency audit
pip-audit
FreePython dependency audit
OSV Scanner
ProGoogle OSV database
OWASP Dep-Check
ProNVD-based SCA
RetireJS
ProJS library vuln scanner
Nuclei
EnterpriseTemplate web scanner
Nikto
EnterpriseWeb server scanner
OWASP ZAP
EnterpriseDAST proxy scanner
Supply Chain
Syft
FreeSBOM generation
cyclonedx-cli
FreeSBOM validation/merge
OSSF Scorecard
ProOSS project health scoring
SAST / Code
Semgrep
Pro1000+ rules, 20+ languages
Bandit
ProPython security linter
ESLint Security
Pro+JS/TS security rules
Gosec
Pro+Go security checker
PHPStan Security
Pro+PHP static analysis
Secrets
Gitleaks
ProGit credential scanner
detect-secrets
ProBaseline secret detection
TruffleHog
Pro+Verified secret scanner
IaC
Checkov
ProTerraform/K8s misconfig
Hadolint
ProDockerfile linter
Dockle
ProContainer image checker
tfsec
Pro+Terraform security
KICS
Pro+IaC scanner (Checkmarx)
KubeLinter
Pro+K8s YAML linter
Terrascan
Pro+IaC OPA policy scanner
Compliance
chkrootkit
FreeLinux rootkit detection
rkhunter
FreeRootkit/backdoor scanner
Lynis
EnterpriseLinux security audit
OpenSCAP
EnterpriseNIST/CIS compliance
Licensing
ScanCode Toolkit
ProLicense/IP scanner
license-checker
Pro+Node.js license checker
Sandbox / Forensic
CAPEv2 Sandbox
EnterpriseDynamic malware analysis
Volatility 3
EnterpriseMemory forensics
All engines are open source. No proprietary scanning engines are used.
3Scan Lifecycle
Steps use lease-based worker assignment. Each step has an idempotency key — failing workers lose their lease and the step is automatically re-queued. Engine circuit breakers skip engines with high failure rates until recovery.
4Outputs and Logs
All scan artifacts are stored in private Cloud Storage under org+scan scope:
Download URLs are signed and time-limited — requested via callable function, never exposed directly.