Skip to content

VMClarity is a tool for agentless detection and management of Virtual Machine Software Bill Of Materials (SBOM) and vulnerabilities

License

Notifications You must be signed in to change notification settings

openclarity/vmclarity

VMClarity Logo

Slack Invite Go Reference GitHub Workflow Status Go Report Card

VMClarity is an open source tool for agentless detection and management of Virtual Machine Software Bill Of Materials (SBOM) and security threats such as vulnerabilities, exploits, malware, rootkits, misconfigurations and leaked secrets.

VMClarity demo

Join VMClarity's Slack channel to hear about the latest announcements and upcoming activities. We would love to get your feedback!

Table of Contents

Why VMClarity?

Virtual machines (VMs) are the most used service across all hyperscalers. AWS, Azure, GCP, and others have virtual computing services that are used not only as standalone VM services but also as the most popular method for hosting containers (e.g., Docker, Kubernetes).

VMs are vulnerable to multiple threats:

  • Software vulnerabilities
  • Leaked Secrets/Passwords
  • Malware
  • System Misconfiguration
  • Rootkits

There are many very good open source and commercial-based solutions for providing threat detection for VMs, manifesting the different threat categories above.

However, there are challenges with assembling and managing these tools yourself:

  • Complex installation, configuration, and reporting
  • Integration with deployment automation
  • Siloed reporting and visualization

The VMClarity project is focused on unifying detection and management of VM security threats in an agentless manner.

Getting started

For step-by-step guidance on how to deploy VMClarity across different environments, including AWS, Azure, GCP, and Docker, click on this link and choose your preferred provider for detailed deployment instructions.

Overview

VMClarity uses a pluggable scanning infrastructure to provide:

  • SBOM analysis
  • Package and OS vulnerability detection
  • Exploit detection
  • Leaked secret detection
  • Malware detection
  • Misconfiguration detection
  • Rootkit detection

The pluggable scanning infrastructure uses several tools that can be enabled/disabled on an individual basis. VMClarity normalizes, merges and provides a robust visualization of the results from these various tools.

These tools include:

* Windows only
** Linux and MacOS only

Usage modes

VMClarity can be used multiple ways to fit different needs:

1. VMClarity stack

As a complete stack, VMClarity provides an integrated solution to

  • discover assets in your environment,
  • manage scan configurations, schedule and execute scans,
  • visualize the results on a dashboard.

For the deployment instructions visit this page: Getting started.

2. CLI

VMClarity can be used as a standalone command line tool to run the supported scanner tools.

  1. Download vmclarity-cli from the GitHub releases page.

  2. Create a configuration file, make sure to enable the scanner families you need. An example can be found here: .families.yaml

  3. Execute the following command:

    vmclarity-cli scan --config .families.yaml

3. Go module

Import the github.com/openclarity/vmclarity/scanner package to run a scan with VMClarity’s family manager from your code.

Example: scan.go

Asset discovery

VMClarity stack supports the automatic discovery of assets in the following providers:

Provider Asset types Scope
Docker Docker containers and images Local Docker daemon
Kubernetes Docker containers and images Cluster
AWS Virtual machines (EC2 instances) Account (all regions)
Azure Virtual machines Subscription
GCP Virtual machines Project

Supported filesystems

The following filesystem operations are supported on different host types:

Host List block devices Mount Ext2, Ext3, Ext4 Mount XFS Mount NTFS
Linux Supported Supported Supported Supported
Darwin Supported Supported Supported Supported
Windows Not supported Not supported Not supported Not supported

Architecture

A high-level architecture overview is available here.

Roadmap

VMClarity project roadmap is available here.

Contributing

If you are ready to jump in and test, add code, or help with documentation, please follow the instructions on our contributing guide for details on how to open issues, setup VMClarity for development and test.

Code of Conduct

You can view our code of conduct here.

License

Apache License, Version 2.0