Tools · CLIN 0003 Cybersecurity & compliance
DISA STIG Reference Lookup
PlannedSearch STIG rules by ID, severity or keyword without leaving the browser.
This tool is planned. There is nothing to open yet. What follows is the plan, and it can change before the tool ships. The guide below covers the same job by hand in the meantime. Jump to the full specification.
What it will do
Load a STIG file you downloaded from DISA and search its rules by Group ID, Rule ID, STIG ID, severity or keyword. Each rule shows its check text and its fix text. The file is read in your browser.
You bring
- A STIG in its published XML form, downloaded from DISA
You get
- The matching rules, each with its severity, check text and fix text
- The version and release of the file you loaded
Built from
- DISA Security Technical Implementation Guides and Security Requirements Guides
- NIST, the XCCDF specification
Only material the government has officially released to the public. Where the rules live shows how to find and cite each one.
Do it by hand today
- STIGs, OSCAL and SBOMs · Inside a STIG ruleThree machine-readable formats that security compliance work runs on: what each one is, what is inside the file and how to check one.
True of every tool
- Free and open source.
- No paid tier, no ads, and the code is public.
- Runs in your browser.
- What you type or open is not sent anywhere.
- No tracking.
- No accounts, cookies or analytics.
- Shows its sources.
- Each result names the rule it rests on, so you can check it.
- Says what it does not do.
- It is an aid for your own work, not professional advice.
What happens to what you type shows how to confirm this yourself, and Check a tool’s answer is the method for verifying a result.
Want it sooner?
Requests decide what is built first. Say what you would use it for, and what you do by hand today.
Issues are public. Leave out real contract data, real rates and anything controlled. How to write a useful request.
Specification · draft
How it is meant to work, in detail
The inputs, the logic, the checks the tool has to pass and the worked examples it is tested against. It is a draft, and the tool is built from it, so it can change until the tool ships.
3 min readLast revised November 2026Source of this specification
Overview & Role#
The DISA STIG Reference Lookup (slug: stig-reference-lookup, CLIN 0003 — Cybersecurity & compliance, template family lookup) is a static, browser-only tool for inspecting Security Technical Implementation Guide (STIG) rules. Engineers and assessors often receive findings citing a Group ID (V- number), Rule ID (SV- number), product STIG ID, or Control Correlation Identifier (CCI- number) interchangeably. This tool normalizes and searches all four identifiers offline, either against a bundled public sample benchmark or against a local DISA XCCDF .xml file opened in the browser.
Scope boundaries:
- Reference lookup and rule inspection only.
- Does not execute automated SCAP scans, modify host configurations, or edit/sign
.cklchecklist files. - Does not include proprietary or classified STIGs; users load public DISA benchmarks from their own workstation.
Governing Regulations & Sources#
- DISA Security Technical Implementation Guides (STIGs) and Security Requirements Guides (SRGs) published at cyber.mil/stigs.
- NIST SCAP / XCCDF 1.1 & 1.2 Specifications (Extensible Configuration Checklist Description Format) at csrc.nist.gov: Defines the XML schema for
<Benchmark>,<Group>,<Rule>,<check-content>,<fixtext>, and<ident>elements. - Control Correlation Identifiers (CCIs): Links individual STIG rules to underlying NIST SP 800-53 and NIST SP 800-171 security controls.
Inputs, Processing Logic & Outputs#
Inputs
- Benchmark source: Bundled public sample XCCDF benchmark, or a user-selected local
.xmlXCCDF file read client-side viaFileReader. - Search query: Free-text string matching Group ID (
V-...), Rule ID (SV-...), STIG ID (e.g.,RHEL-08-010010), CCI (CCI-...), title, discussion, check text, or fix text. - Severity filter:
All,CAT I (high),CAT II (medium), orCAT III (low).
Deterministic Processing Logic
- Safe client-side XML parsing:
- Parses XCCDF XML using the browser's built-in
DOMParser(application/xml), which does not fetch external DTDs or resolve external XML entities. - Extracts benchmark metadata (
id,version,release-info,title) so the user always sees the exact STIG version and release date.
- Parses XCCDF XML using the browser's built-in
- Rule normalization:
- Iterates every
<Group>and child<Rule>element, extracting:groupId(<Group id="...">)ruleId(<Rule id="...">)stigId(<version>element)severitymapped deterministically:high→CAT I,medium→CAT II,low→CAT IIItitle,discussion(extracted from<VulnDiscussion>inside<description>),checkText(<check-content>),fixText(<fixtext>), andccis(all<ident>elements referencingcyber.mil/cci).
- Iterates every
- Deterministic search & sort:
- Case-insensitive matching across all identifier fields (
groupId,ruleId,stigId,ccis) and full-text fields (title,discussion,checkText,fixText). - Exact or prefix identifier matches rank ahead of body-text matches; ties sort by severity (
CAT I→CAT II→CAT III) and thengroupIdascending.
- Case-insensitive matching across all identifier fields (
- Checklist status reference: Displays the four standard review states (
Open,Not a Finding,Not Applicable,Not Reviewed) with a reminder thatNot Applicableand acceptedOpenfindings require written justification.
Outputs
- Benchmark header displaying title, version, release info, and total rule counts by category (
CAT I / II / III). - Filterable rule table with Group ID, Rule ID, STIG ID, Severity badge, Title, and CCI tags.
- Rule detail drawer showing Discussion, Check Text, Fix Text, and a copyable plain-text/Markdown rule summary.
Clean-Room & 5-Condition QA Requirements#
- Browser-only execution: XML parsing and search indexing happen entirely in browser memory; uploaded XCCDF files never leave the machine.
- Strict Content Security Policy: Enforces
default-src 'self',connect-src 'self', andform-action 'none'. - Zero tracking or accounts: Zero analytics, zero cookies, zero external requests.
- Offline operation: Works completely disconnected using the bundled public sample XCCDF benchmark or any local
.xmlfile on disk. - Clean-room & data hygiene: Bundled sample data uses public/synthetic XCCDF rules only. Includes a warning that filled-in checklists describing real systems may be CUI and should only be handled on approved workstations (linking to What happens to what you type), plus MIT
LICENSEand official DISA/NIST citations.
Worked Example & Verification#
Worked Example (Synthetic XCCDF Benchmark Fixture):
- Fixture contains 3 rules:
V-230221/SV-230221r627750_rule/RHEL-08-010010/severity="high"(CAT I) /CCI-000366V-230222/SV-230222r627753_rule/RHEL-08-010020/severity="medium"(CAT II) /CCI-000366V-230223/SV-230223r627756_rule/RHEL-08-010030/severity="low"(CAT III) /CCI-000185
- Assertions:
- Query
V-230221→ returns1rule (RHEL-08-010010,CAT I). - Query
RHEL-08-010020→ returns1rule (V-230222,CAT II). - Query
CCI-000366with filterAll→ returns2rules (V-230221first,V-230222second). - Filter
CAT I (high)with empty query → returns1rule (V-230221).
- Query
Boundary & Edge-Case Assertions:
- Malformed XML input → displays a clean parse error without crashing the UI.
- Empty search query → returns all rules in the active benchmark sorted by severity (
CAT I→CAT II→CAT III).