Scanning Implementation
Recommendations for integrating scanners with the Minimus Advisories Feed
This guide outlines the steps needed to integrate the Minimus Advisories Feed with your vulnerability scanner to optimize scanning for Minimus Images.
Overall, vulnerability scanning involves:
- Confirming the image uses MinimOS as its distribution.
- Identifying all installed packages.
- Mapping each package to known vulnerabilities.
Step 1: Identifying the Distribution
The first step is to confirm the distribution ID is minimos
.
As with many Linux distributions, distribution info is available under /etc/os-release
. For MinimOS, a typical /etc/os-release
file looks like this:
Scanners should read the ID
field, expecting it to be minimos
. Other fields are not relevant. If ID
is anything else, then the image falls outside the MinimOS scope.
MinimOS Distro is Unversioned
Unlike many distributions (e.g., Ubuntu, Debian), MinimOS is not versioned. It operates as a continuous, rolling package set. The VERSION_ID
field doesn’t impact vulnerability scanning and should not be shown as the distribution version to scanner users.
Technically, VERSION_ID
corresponds to the version of the package that installed /etc/os-release
— usually minimos-baselayout
. It can safely be ignored.
Detecting the MinimOS Distro via SBOMs
If a scanner supports SBOMs (software bills of materials), you can also detect MinimOS based on the distro metadata within the SBOM, provided it identifies the distro as minimos
.
Step 2: Identifying Installed Packages
Once you’ve established that the distro is MinimOS, the next step is to catalog all installed distribution packages. Each package record requires:
- Name
- Version
- Origin package
You can parse the /lib/apk/db/installed
database to retrieve this information. Example record:
Where:
P:
indicates the package nameV:
provides the package versiono:
points to the origin package
What is an Origin Package
In APK ecosystems, a package may declare an “origin” different from its “name”. For MinimOS, origin packages correspond to build definitions that generate primary packages and any associated subpackages. Subpackages share the version number of their origin.
Detecting Packages via SBOMs
If the SBOM already enumerates the installed packages along with name, version, and origin, you can trust it instead of parsing /lib/apk/db/installed
.
Step 3: Mapping Installed Packages to Vulnerabilities
Finally, the objective is to map all installed packages to known vulnerabilities using the Minimus Advisories Feed using either format: SecDB or OSV.
Using the SecDB Feed to Identify Vulnerable Packages
Let’s look at an example package. Here we have the package name, version, and origin package specified:
In the SecDB feed, vulnerabilities are filed under the origin package. For example, below is the SecDB entry for openssl
:
Compare your openssl
version to the versions listed in the SecDB advisory. If your installed version is less than the fixed version, then the vulnerabilities apply. In our example, the origin package is version 3.1.1-r2. According to the SecDB feed, version 3.1.1-r2 is vulnerable to CVE-2023-3446 and CVE-2023-3817.
False Positives are Labeled as Version 0
You’ll notice “fixed” versions labeled as "0"
. This signals vulnerabilities that Minimus staff identified as false positives. These vulnerablities were determined to not truly impact the package.
Since 0
sorts lower than any real version, it allows scanners to filter these out efficiently.
Using the OSV Feed to Identify Vulnerable Packages
In OSV, packages are indexed by purl (Package URL specification). You can look up affected packages by matching the PURL, e.g., pkg:apk/minimos/ko
, and checking the .ranges
field.
Additional Options
Import the Minimus Advisories Feed into an Internal Vulnerability Database
Many scanners prefer to import secdb/OSV data into their own internal database to optimize querying. If you choose this path, we recommend that you sync the database daily or more often since Minimus updates its feeds frequently.
Supplementing Minimus Security Data
While Minimus data is comprehensive, you may configure your scanner to:
- Cross-reference installed packages against NVD datasets.
- Scan for non-distro packages (e.g., Go modules, Ruby Gems).
When matching against NVD:
- Identify vulnerabilities with your NVD data.
- Exclude vulnerabilities known to be false positives based on Minimus data.
When detecting non-distro packages:
- Track file paths associated with non-distro package evidence.
- Check whether these paths are managed by any distro package before treating them as independent packages.