Repository navigation
Understanding OpenSCAP architecture for building a modern web-based compliance auditing interface #2387
Replies: 1 comment
|
For a first version, I would keep OpenSCAP behind a narrow worker interface and use the A useful mental model for the scan flow is:
For an external web application, I would start with a job architecture like this:
ARF is a good archival format because it can include the source context, asset information, XCCDF results, and lower-level check results. XCCDF result XML is often simpler when the UI only needs rule status, severity, identifiers, and references. HTML reports are useful for humans but should not be your application's data API. I would keep remediation as a separate, explicitly authorized workflow. The first release can display the fix content associated with failed rules, but should not execute it automatically. If you later add execution, require an approval step, preserve the exact generated remediation, constrain privileges, and rescan afterward. If the CLI boundary eventually becomes limiting, the high-level C API is the next place to look. The current project README also has concrete validation, evaluation, and report-generation examples: https://github.com/OpenSCAP/openscap/blob/main/README.md So my recommendation is: wrap the executable first, model the results cleanly, and modify OpenSCAP only after you have identified a specific missing capability that cannot be provided through the CLI or public API. That approach is also much more manageable for a school project. |
Uh oh!
There was an error while loading. Please reload this page.
Hello everyone,
First of all, thank you in advance to anyone who takes the time to read this and help me.
I am currently working on a school project that is also related to an internship application I will be making next semester. The goal of the project is to audit a machine, identify security weaknesses, and eventually provide remediation solutions.
I am relatively new to the cybersecurity field, so I have been putting a lot of effort into learning and understanding the different concepts involved. When I came across SCAP, OpenSCAP, and SCAP Workbench, it took me some time to understand the ecosystem and how all the different components fit together (SCAP, XCCDF, OVAL, datastreams, etc.).
SCAP Workbench was very close to what I had in mind, but since it is now in an end-of-life state and no longer actively maintained, I started thinking about building a more modern solution based on the OpenSCAP and SCAP ecosystem.
My idea is to develop a modern web interface where OpenSCAP would act as the compliance scanning engine, while security content such as ComplianceAsCode/SCAP Security Guide would provide the rules, benchmarks, and remediation information.
However, I have been struggling to understand the internal architecture. I have spent time studying XCCDF, OVAL, datastreams, and the OpenSCAP source code. I understand their general purpose and how they are related, but I am having difficulties understanding how everything is connected internally and how the scanning process flows through the codebase.
I would like to better understand:
My goal is not to simply copy existing work, but to properly understand the ecosystem and add my own contribution on top of it.
If anyone could provide guidance, point me toward relevant parts of the codebase or documentation, or explain the general architecture, I would greatly appreciate it.
Thank you very much for your time and for the great work you have already done on these projects.
All reactions