openscap is a free, open source compliance & risk management project written in XSLT and released under LGPL-2.1. It has 1,816 GitHub stars, 451 forks and 59 open issues, and was last pushed 7 days ago. On this registry it ranks #34 of 45 tracked projects in Compliance & Risk Management, with 5 head-to-head comparisons available. It gained 1 stars over the last 3 tracked days.

What is openscap?

What it is

OpenSCAP is a NIST Certified SCAP 1.2 toolkit for security compliance work in the SCAP ecosystem. It centers on the oscap command line tool, which lets users load, scan, validate, edit, and export SCAP documents. The project covers compliance, CPE, data streams, OVAL, scanning, and XCCDF, so it can serve as a core tool for checking systems against machine-readable security benchmarks.

The concrete problem it solves is the need to evaluate compliance content without relying only on manual review. Organizations often have OVAL definitions, XCCDF benchmarks, CPE dictionaries, and data stream collections, and they need a way to validate those documents, run scans, and generate usable outputs. OpenSCAP addresses that workflow by providing commands for data stream validation, OVAL evaluation, XCCDF profile evaluation, guide generation, and report generation.

Key capabilities

  • The oscap command line tool can load, scan, validate, edit, and export SCAP documents.
  • It can validate a SCAP source data stream and all components inside it, including XCCDF, OVAL, OCIL, and CPE.
  • It can evaluate all definitions in an OVAL definition file and write OVAL results to an XML file.
  • It can evaluate OVAL definitions that are part of a particular data stream within a SCAP data stream collection.
  • It can evaluate a selected profile from an XCCDF document while using a CPE dictionary.
  • It can generate an XCCDF guide with or without profile selection and can generate a report from XCCDF scan results.

Who uses it and how

  • Teams that maintain SCAP content use it to validate source data streams before using them in a scanning workflow.
  • Security operators use it to evaluate OVAL definitions directly and store the results as an OVAL result file.
  • Users who need benchmark-based checks use it to evaluate a specific XCCDF profile, such as the Desktop profile, against a system.
  • Documentation and reporting workflows use it to turn XCCDF content into a human-readable guide and to turn scan results into a report.
  • Contributors use the project through the User Manual, Developer Manual, contribution guide, mailing list, and libera.chat IRC channel.

Getting started

The README directs users to the oscap command line tool for validation, scanning, and document generation, and it points to the OpenSCAP Developer Manual for compilation, testing, and debugging. No package manager, container image, or hosted deployment option is given in the supplied README excerpt.

When to use it — and when not to

OpenSCAP is a good fit when a team needs an open-source, command-line toolkit for NIST Certified SCAP 1.2 documents and wants to inspect, scan, and report on XCCDF, OVAL, CPE, and data stream content. It is less suitable for users who need a managed service, a graphical product, or Microsoft Windows support, because the README states that Windows support is officially void as of February 1, 2022 and mentions no hosted option. The supplied facts also show a low-level workflow, so teams must operate the tool through commands and result files rather than relying on a finished compliance platform.

project readme (upstream, from github) — read inline

OpenSCAP

Gating Join the chat at https://gitter.im/OpenSCAP/openscap

Open Source Security Compliance Solution

About

The oscap program is a command line tool that allows users to load, scan, validate, edit, and export SCAP documents.

Contributing

We welcome all contributions to the OpenSCAP project. If you would like to contribute, either by fixing existing issues or adding new features, please check out our contribution guide to get started. If you would like to discuss anything, ask questions, or if you need additional help getting started, you can either send a message to our libera.chat IRC channel, #openscap, or to our mailing list.

Microsoft Windows Support

The Microsoft Windows support is officially void as of Febuary 1, 2022.

Use cases

SCAP Content Validation

  • The following example shows how to validate a given source data stream; all components within the data stream are validated (XCCDF, OVAL, OCIL, CPE, and possibly other components):
oscap ds sds-validate scap-ds.xml

Scanning

  • To evaluate all definitions within the given OVAL Definition file, run the following command:
oscap oval eval --results oval-results.xml scap-oval.xml

where scap-oval.xml is the OVAL Definition file and oval-results.xml is the OVAL Result file.

  • To evaluate all definitions from the OVAL component that are part of a particular data stream within a SCAP data stream collection, run the following command:
oscap oval eval --datastream-id ds.xml --oval-id xccdf.xml --results oval-results.xml scap-ds.xml

where ds.xml is the given data stream, xccdf.xml is an XCCDF file specifying the OVAL component, oval-results.xml is the OVAL Result file, and scap-ds.xml is a file representing the SCAP data stream collection.

  • To evaluate a specific profile in an XCCDF file run this command:
oscap xccdf eval --profile Desktop --results xccdf-results.xml --cpe cpe-dictionary.xml scap-xccdf.xml

where scap-xccdf.xml is the XCCDF document, Desktop is the selected profile from the XCCDF document, xccdf-results.xml is a file storing the scan results, and cpe-dictionary.xml is the CPE dictionary.

  • To evaluate a specific XCCDF benchmark that is part of a data stream within a SCAP data stream collection run the following command:
oscap xccdf eval --datastream-id ds.xml --xccdf-id xccdf.xml --results xccdf-results.xml scap-ds.xml

where scap-ds.xml is a file representing the SCAP data stream collection, ds.xml is the particular data stream, xccdf.xml is ID of the component-ref pointing to the desired XCCDF document, and xccdf-results.xml is a file containing the scan results.

Document generation

  • without XCCDF rules
oscap xccdf generate guide XCCDF-FILE > XCCDF-GUIDE-FILE
  • with XCCDF rules
oscap xccdf generate guide --profile PROFILE XCCDF-FILE > XCCDF-GUIDE-FILE
  • generate report from scanning
oscap xccdf generate report XCCDF-RESULT-FILE > XCCDF-REPORT-FILE

Frequently asked questions

Is openscap free to use?

openscap is open source under the LGPL-2.1 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does openscap do?

NIST Certified SCAP 1.2 toolkit

What is openscap written in?

openscap is primarily written in XSLT. Its source is publicly available at https://github.com/OpenSCAP/openscap, and it has 1,816 GitHub stars.