cis-benchmark-framework

Convert CIS Benchmark PDFs into CISO Assistant YAML framework libraries.

4.4k|825|Updated Sep 20, 2023
One-click install
npx skills add https://github.com/intuitem/ciso-assistant-community --skill cis-benchmark-framework
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cis-benchmark-framework
Source: https://github.com/intuitem/ciso-assistant-community/tree/main/.claude/skills/cis-benchmark-framework
Command: npx skills add https://github.com/intuitem/ciso-assistant-community --skill cis-benchmark-framework

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pymupdf, openpyxl, pyyaml, and includes scripts (resource) components.

What problem does it solve?

Manually transcribing CIS Benchmark recommendations into CISO Assistant framework libraries is slow and error-prone, especially with wrapped numbering, checkbox glyphs, and PDF layout quirks. This Skill automates the extraction of the Appendix Summary Table into a validated, loadable YAML library.

Core Features & Use Cases

  • PDF to Excel extraction: Parses only the Appendix Summary Table of a CIS Benchmark PDF into a 5-sheet v2 Excel matching the cis-benchmark-kubernetes precedent, handling wrapped ref_ids, checkbox glyphs, and hyphenated line breaks.
  • Excel to YAML conversion: Feeds the Excel through tools/convert_library_v2.py to produce a loadable library in backend/library/libraries with Automated/Manual implementation groups.
  • Independent deep validation: Rebuilds ground truth from the PDF Table of Contents and recommendation body headings to verify ref coverage, titles, tags, ordering, and cover metadata against the YAML.
  • Use Case: A user drops a new CIS Ubuntu Benchmark PDF into the repo and asks to add it as a library; the Skill extracts, converts, and deep-checks it, flagging known CIS errata like the Google Workspace 4.1.2.1 title contradiction.

Quick Start

Convert the attached CIS Benchmark PDF into a CISO Assistant framework library and run the deep validation check against the original PDF.

Frequently Asked Questions about cis-benchmark-framework

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert a CIS Benchmark PDF into a CISO Assistant library?

Run extract_cis_benchmark.py on the PDF to produce a v2 Excel file, then pass it to tools/convert_library_v2.py to generate the YAML library. Finally run deep_check.py against the original PDF to validate the result.

What content does the CIS benchmark extraction include?

Only the Appendix Summary Table is parsed: recommendation numbers, titles, and Automated/Manual tags as implementation groups. No audit, remediation, or rationale content is extracted, keeping the same IP boundary as the cis-benchmark-kubernetes library.

How is the generated YAML library validated against the PDF?

deep_check.py rebuilds ground truth independently from the PDF Table of Contents and recommendation body headings, then verifies ref coverage, exact titles, tags, assessability, node ordering, and cover metadata. A CLEAN result means full consistency.

Why does the extractor warn about numeric lines it could not place?

Warnings indicate possible numbering gaps or parse anomalies in the summary table, such as wrapped ref_ids that failed successor validation. The script exits with code 2 so any warning is treated as a parse review before shipping.

Can known CIS PDF errata be corrected during extraction?

Yes, the --rename flag overrides a recommendation title at extraction time, for example fixing Google Workspace v1.3.0 ref 4.1.2.1 where the summary table contradicts the body. Overrides are repeatable and recorded for reproducibility.