What Kensa produces
When a scan runs, each rule produces a result with one of four statuses:| Status | Meaning |
|---|---|
| PASS | The host meets the compliance requirement |
| FAIL | The host does not meet the requirement |
| SKIP | The rule does not apply to this host |
| ERROR | The check could not complete |
| Format | Purpose | Contains evidence? |
|---|---|---|
| Evidence (JSON) | Auditor verification | Yes — raw commands, stdout, exit codes |
| JSON | Tool integration | Partial — results and capabilities, no raw command output |
| CSV | Spreadsheet analysis | No — summary data only |
| Executive reporting | No — summary tables |
Evidence export structure
An evidence file contains four sections:Session
When the scan ran and what command was used:Host
What was scanned, including platform and detected capabilities:Results
Per-rule findings with raw evidence:Summary
Verifying evidence
For each finding an auditor wants to verify:Check the command
Is it a reasonable way to test this control? For example,
sshd -T queries the SSH daemon’s effective configuration, resolving all drop-in files and overrides — more reliable than reading a static config file.Read stdout
Does the raw output support the
actual value? The actual field is extracted from stdout by the check handler. The raw output is preserved so you can confirm the extraction is correct.Compare expected vs. actual
A
passed: true result means actual matches expected. A passed: false result means they differ. Verify this yourself.Check the timestamp
Evidence timestamps are ISO-8601 UTC. Confirm the scan was run within an acceptable window for your assessment.
Common check methods
| Method | Description |
|---|---|
| sshd_effective_config | Runs sshd -T to query the SSH daemon’s compiled configuration. Resolves all Include directives, drop-in files, and Match blocks. |
| config_value | Reads a configuration file and searches for a specific key. |
| file_permission | Runs stat to check file mode, ownership, or group. |
| file_content | Reads a file and checks for the presence or absence of specific content. |
| command | Runs a shell command and checks the exit code or stdout content. |
| service_state | Checks whether a systemd service is enabled, disabled, or masked. |
| package_state | Checks whether an RPM package is installed or absent. |
| audit_rule_exists | Runs auditctl -l and verifies that a specific audit rule is loaded. |
| sysctl_value | Runs sysctl to query a kernel parameter. |
| kernel_module_state | Checks whether a kernel module is loaded, disabled, or blacklisted. |
Understanding skip results
A SKIP result means the rule was not evaluated — it does not indicate a pass or a fail.| Skip reason | Meaning | Audit implication |
|---|---|---|
| Platform mismatch | Rule requires a different OS family or version | Not applicable to this host |
| Missing capability | Rule requires a capability the host does not have | Implementation variant unavailable |
| Dependency unmet | A prerequisite rule failed or was skipped | Control blocked by prerequisite |
| Not in framework | Rule is not mapped to the selected framework filter | Filtered out by scan configuration |
An auditor should not count skipped rules as failures. Document them as not applicable and verify that the skip reason is legitimate.
Remediation evidence
When a scan is run withkensa remediate, results may include additional fields:
| Field | Description |
|---|---|
remediated | true if a fix was applied |
remediation_detail | What the fix did (file written, service reloaded, etc.) |
rolled_back | true if the fix was automatically reversed due to a failure |
evidence in a remediation result reflects the post-remediation state. The passed field indicates whether the initial check (before remediation) passed or failed.
Compliance assessment workflow
Phase 1: Plan
Phase 2: Collect evidence
Phase 3: Review
- Open the evidence file. Review
host.platformandhost.capabilitiesto confirm the target matches expectations. - Review failures. Filter results where
passed: falseandskipped: false. Examine theevidenceblock for each. - Review skips. Check that skipped rules have legitimate reasons.
- Spot-check passes. Select a sample and verify that
stdoutsupports theactualvalue. - Cross-reference to framework. Use the
frameworksfield to map findings back to benchmark control numbers.
Phase 4: Report
Use CSV or JSON for summary statistics. Use the evidence export to back specific findings with verifiable data. The PDF report serves as a printable executive summary.Verifying without re-scanning
An auditor can verify a specific finding without access to Kensa by running the command shown in the evidence directly on the target host:stdout in the evidence file, the finding is confirmed.
Key concepts
- One rule, multiple frameworks. A single scan produces evidence that satisfies CIS, STIG, NIST, PCI-DSS, and FedRAMP assessors simultaneously.
- Capability-gated implementations. The same rule may use different commands on different hosts depending on detected capabilities. The evidence shows which variant was used.
- Evidence is raw system output. Kensa does not interpret or summarize. The
stdoutfield contains exactly what the target system returned. - Timestamps are per-check. Each result has its own
timestamp, not just the session start time.