Skip to content

Doctor Diagnostics Walkthrough

Recording

The doctor command runs a comprehensive diagnostic check of the CISentinel environment.

Running Doctor

cis-hardening-tool doctor
           CIS Hardening Tool - Doctor
┏━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Check                    ┃ Status   ┃ Details                       ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ Python version           │ Pass     │ 3.12.3                        │
│ Running as root          │ Pass     │ Running as root               │
│ Disk space (home)        │ Pass     │ 45230 MB free                 │
│ Tool: openscap           │ Pass     │ Installed                     │
│ Tool: lynis              │ Pass     │ Installed                     │
│ Tool: usg                │ Warning  │ Not installed                 │
│ Tool: ciscat             │ Warning  │ Not installed                 │
│ Tool: hardeningkitty     │ Fail     │ Incompatible: Available on    │
│                          │          │ Windows                       │
│ Tool: sct                │ Fail     │ Incompatible: Available on    │
│                          │          │ Windows                       │
│ Network (Download Server) │ Pass     │ Connected successfully        │
└──────────────────────────┴──────────┴───────────────────────────────┘

Checks Performed

# Check What It Verifies
1 Python version Python ≥ 3.9 is available
2 Running as root Elevated privileges (required for scanning)
3 Disk space At least 500 MB free in home directory
4 Tool: \<name> Each scanning tool's installation status
5 Network connectivity Can reach download server (for updates)

Status Meanings

Status Meaning
🟢 Pass Check passed successfully
🟡 Warning Non-critical issue (e.g., optional tool not installed)
🔴 Fail Critical issue (e.g., incompatible OS, no network)

JSON Output

cis-hardening-tool --json doctor
[
  {
    "check": "Python version",
    "status": "Pass",
    "details": "3.12.3"
  },
  {
    "check": "Running as root",
    "status": "Pass",
    "details": "Running as root"
  },
  {
    "check": "Disk space (home)",
    "status": "Pass",
    "details": "45230 MB free"
  },
  ...
]

Use Cases

  • Pre-scan validation: Run before scanning to ensure everything is ready
  • Debugging: When scans fail, doctor helps identify environment issues
  • CI/CD checks: Use --json output to programmatically verify the environment
  • Support: Share doctor output when reporting issues