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.