Two-stage language detection
The worker plans from URL heuristics without cloning anything. The scan pod reports the languages it actually found, so the plan is refined on hostile code without the control plane ever touching it.
SecurityVault scans code, dependencies, infrastructure, images, cloud accounts and clusters with a native engine plus the best open-source tools, launched automatically per language. Every finding lands in one ontology that links the repository, the commit, the build, the image, the registry and the workload, so you fix what is actually reachable in production.
Untrusted tools run in a sealed scan band. Results enter the control plane through one authenticated callback. The ontology turns raw results into findings with lineage.
appsec-unifiedauto plantrivy · grype · syftAWS · Azure · GCPeBPF · K8s statepassive · activetoken + HMAC52 entity typescode → runtimeOPA · RegoHMAC chain · Ed25519read · write · streamGitHub · GitLab · ADOJira · ServiceNow · LinearSlack · Teams · PagerDutySplunk · Sentinel · QRadarsigned evidenceSSE streamaffects a package, the package is contained in an image, the image is run by a workload, the workload is exposed by an ingress. That chain is what SecurityVault computes, stores and shows.You do not configure scanners per repository. The orchestrator detects languages and launches the native engine, the baseline tools and the language-specific tools in one scan, then reconciles their results.
| Detected | Tools launched | What they cover |
|---|---|---|
| Every repository | appsec-unified · semgrep · gitleaks · architecture · checkov · syft · grype | Native SAST/SCA/secrets/IaC/API/supply-chain, rule-based SAST, secret history, dependency architecture, IaC, SBOM and vulnerability match |
| Python | bandit · pip-audit | Python-specific SAST and PyPI advisories |
| Go | gosec · govulncheck | Go SAST and reachable Go module vulnerabilities |
| Java · Kotlin | dependency-check · spotbugs | Maven/Gradle CVEs and bytecode bug patterns |
| JavaScript · TypeScript | dependency-check · njsscan | npm advisories and Node.js security patterns |
| Ruby | brakeman | Rails-aware SAST |
| Rust | clippy · cargo-audit | Lints with security classes and RustSec advisories |
| C · C++ | cppcheck · flawfinder | Memory-safety and dangerous-call analysis |
| Container image | trivy · grype · syft | OS and application packages, SBOM, misconfiguration, secrets in layers |
The worker plans from URL heuristics without cloning anything. The scan pod reports the languages it actually found, so the plan is refined on hostile code without the control plane ever touching it.
Every tool carries its own deadline, persisted on the scan. A slow tool produces aPARTIAL scan with the other results intact; an infrastructure timeout producesFAILED_TIMEOUT. The state is never ambiguous.
PENDING → QUEUED → RUNNING → COMPLETED | PARTIAL | FAILED_*. Every transition is audited with the job name, the tokens minted and the reason recorded.
The native engine runs in the same untrusted band as any other tool. Its kernels are network-free and database-free, and every finding they emit carries typed evidence, never just a label.
Tree-sitter based source → propagator → sanitizer → sink dataflow for Python, JavaScript/TypeScript, Java, Go, C#, PHP, Ruby, Rust, Kotlin, Swift, C and C++. Interprocedural call graphs for Go, Java, JavaScript, Python and Rust. Constant propagation, framework models, custom rules, CWE coverage map.
OSV-backed vulnerability database, SBOM generation, license detection and a reachability hint on each dependency finding: reachable,not_reachable or unknown with the call path. Reachable requires a path; a missing analyser never silently demotes a finding.
HCL resolver with variable and module resolution, Helm and Kustomize rendering, Dockerfile, CloudFormation and CI workflow security (untrusted checkout, script injection, permission scope).
Provider fingerprints for AWS, GitHub, Slack, Stripe, Google, JWT and private keys with entropy fallback, a git history walker, last-4 truncation in every report and live verification switched off by default.
API surface built from OpenAPI, GraphQL and AsyncAPI documents, source routes and runtime observation, de-duplicated across sources and scored for authentication, rate limiting and schema maturity.
Passive, authenticated active and destructive. Destructive scans are refused unless the target attestation is present. Injection detectors run against a browser pool for authenticated flows.
Levenshtein typosquat checks against curated PyPI and npm popularity sets, dependency-confusion detection, package age and maintainer risk, malicious-package feed sync and SLSA provenance attestations as first-class artifacts.
Seven evidence kinds — code span, dataflow path, dependency path, config path, request trace, exploit proof, artifact hash — each with a required carrier. Consumers can render every finding; nothing arrives as free text.
A remediation template registry covers SQL and command injection, unsafe eval, outdated dependencies, public buckets, privileged containers, exposed credentials, typosquats and missing API auth. AI suggestions are opt-in and advisory.
Most tools stop at a list of results per scanner. SecurityVault resolves every result into a frozen, versioned vocabulary of entities and relationships, then keeps that graph current as code, images and clusters change.
ownsmember_ofsupportscontainsdepends_onbuildstriggeredproducesstored_indeploys_toruns_onruns_imagehosted_inroutes_toreachable_toexposesauthenticates_asassumescan_accessstoresprocessesaffectsaffected_byviolates_controlmaps_tocorroboratescontradictsduplicate_ofderived_fromremediated_byverified_byfixescorroborates edges, not duplicate rows.ontology.entity.changed@v1,finding.logical.changed@v1, attack_path.changed@v1,risk.assessment.changed@v1 — feeding projections, dashboards and the live UI stream.The lineage view walks an expected-hop template from repository to running workload. Every hop is either satisfied with its provenance, missing with a reason, or in conflict. It never fabricates an edge to make the picture look complete.
A missing hop is reported as no_producer_data (no source connected),source_gap (source connected, edge never observed) orunbound_endpoint. Missing hops are read-time states and are never stored as edges.
From any vulnerable package, image or repository, a bounded breadth-first walk follows creation and deployment edges to every workload, service and ingress that carries it. Sibling findings are deliberately excluded so the count means impact, not noise.
Attack paths are computed from exposure edges through identities, roles and data stores, with chokepoints and candidate interventions ranked. An empty result says why: no_exposure_edges or no_attack_paths_computed.
Cloud, Kubernetes and image findings are not a separate product. They are more edges on the same entities, so a misconfigured role and a vulnerable container show up on the same attack path.
Native checks and benchmark rules across AWS, Azure and GCP with drift detection, posture SLAs and compliance mapping into the same control library.
Cloud principals, roles and access policies as graph entities; assumes andcan_access edges feed attack paths and least-privilege recommendations.
Inventory and topology ingest, admission checks, an eBPF sensor for runtime signals and workload-to-image binding by digest.
Registry watchers for ECR, ACR, GAR, Artifactory, Harbor and Nexus, per-digest scan results, base-image recommendations and the workloads running each digest.
Data stores and classifications as entities; external attack-surface discovery adds Endpoint and Exposure edges to internet-facing assets.
Agentless collectors and serverless coverage; optional sensors only where runtime depth is wanted.
Policy is Open Policy Agent Rego, authored directly or through a visual builder that compiles to Rego. Evaluation fails closed. Decisions are signed. The audit log is hash-chained.
DENY with reason OPA_EVALUATION_FAILED, never an allow.Findings route to the owning team through the graph, land in the tools engineers already use and come back as verified edges when the fix ships.
Pull-request scans with supersede logic, SARIF upload, gate evaluation and annotated comments. Comment posting is rate-limited per organization and every attempt is recorded, posted or not.
Jira Cloud and Server, ServiceNow, Linear, Zendesk, Azure DevOps and generic webhooks. Inbound webhooks are HMAC-verified with a replay guard.
Group findings into cases with owners, rollout stages and simulation of the change before it lands. Aborted rollouts are reported as aborted.
A finding closes when a later scan no longer observes it; prior human verdicts carry forward verbatim onto the successor finding. Status is never flipped by hand or by AI.
Severity and asset-tier SLAs with escalation through Slack, Teams and PagerDuty, and posture SLAs for cloud drift.
Eight role-based home views — developer, AppSec, cloud, SOC, GRC, executive and more — each reading the same entity projection with RBAC as the only access authority.
Every connector below ships in the platform today. Connector health is itself an ontology event, so a silent integration is a visible one.
| Category | Connectors |
|---|---|
| Source control & CI/CD | GitHub, GitLab, Bitbucket, Azure DevOps, Jenkins, AWS CodePipeline; CI OIDC principals, pipeline templates, result snapshots |
| Cloud | AWS, Azure, GCP (agentless), Kubernetes clusters with onboarding, health and routing |
| Registries | Amazon ECR, Azure ACR, Google Artifact Registry, JFrog Artifactory, Harbor, Sonatype Nexus, any OCI registry |
| Ticketing | Jira Cloud, Jira Server, ServiceNow, Linear, Zendesk, Azure DevOps Boards, generic webhook |
| Chat & on-call | Slack (bot and commands), Microsoft Teams (bot and events), PagerDuty schedules and escalation |
| SIEM | Splunk HEC, Microsoft Sentinel, Google Chronicle, IBM QRadar, Elasticsearch, syslog |
| Identity | Okta, Microsoft Entra ID, Google Workspace, CyberArk, SCIM 2.0 provisioning |
| Security platforms | CrowdStrike Falcon, Microsoft Defender, SentinelOne, Wiz, Prisma Cloud, Tenable, Rapid7 InsightVM import |
| OT | Claroty, Nozomi, Tenable OT |
| Developer platforms | Argo CD, Backstage, status page feed |
Same Helm charts, same signed images, same trust boundaries. Choose where the scan band runs; the platform can be hosted by us or by you.
corroborates edge and raises confidence; it never creates a duplicate.A 30-minute session with a SecurityVault engineer: one scan, one lineage view, one attack path, on your code.