Skip to content

feat(skills): add FIPS 199 categorization review - #506

Closed
JJediny wants to merge 1 commit into
mainfrom
feat/fips-199-categorization
Closed

JJediny wants to merge 1 commit into
mainfrom
feat/fips-199-categorization

Conversation

@JJediny

@JJediny JJediny commented Oct 19, 2026

Copy link
Copy Markdown
Member

Summary

Adds one experimental security skill that reviews draft FIPS 199 categorization records for information-type coverage, CIA rationale, tailoring traceability, and reproducible high-water-mark calculations. It does not approve a categorization, boundary, or authorization decision.

Eligibility & Accountability

  • I am a federal employee or contractor.
  • I understand this change and can explain it in my own words.
  • I have the right to release this work under CC0-1.0.

AI Assistance Disclosure

  • AI tools were used in this contribution.

OpenCode drafted a public-safe skill from the cited public standards and regenerated repository indexes.

  • I verified AI-generated content and citations.
  • No inherited or reused third-party material is represented as public domain.

Pattern Information

Pattern ID: fips-199-categorization
Pattern Type: skill
Status: experimental
Owners: @JJediny

Testing

  • Ran validator, index generation, index checks, and unsafe-shell scan.
  • Examples/output are public-safe and contain no system evidence.

Safety Checklist

  • No secrets, PII, CUI, internal URLs, hostnames, customer data, or proprietary information.
  • Output contract defines prohibited content.

Security Skill Checklist

  • This PR adds one security skill.
  • Deny-by-default governance frontmatter is set.
  • No scripts or prompt bodies were copied from public sources.
  • Public-source intake record is below and recorded in frontmatter.
  • needs-human-review label applied and human security review requested.

Public Source Intake

intake:
  skill_id: fips-199-categorization
  source:
    name: FIPS PUB 199 and NIST SP 800-60 Volume I
    url: https://csrc.nist.gov/pubs/fips/199/final
    license: public-domain
    type: docs
  reviewed_by: "@JJediny"
  review_date: "2026-10-19"
  concepts_used: |
    CIA objectives, provisional information-type impacts, documented tailoring, and objective-level high-water marks.
  content_NOT_imported: |
    No scripts, prompts, skill text, agency forms, or system-specific categorization content were copied.
  scripts_present_in_source: no
  network_assumptions: |
    The skill is read-only and denies network access. Citations are references for human review.
  safety_concerns: |
    The skill excludes sensitive assessment evidence and does not approve categorization outcomes.
  license_concerns: |
    Public-domain federal sources; no source text was copied.
  decision: adopt-as-inspiration
  decision_notes: |
    The public standards establish the concepts; this contribution is an independently authored review procedure.

Validation Results

48/48 files passed validation
All validators passed
unsafe-shell scan: 0 error(s), 0 warning(s)

Additional Context

This PR deliberately adds one focused, read-only review skill. It does not include agency workflows, source assessment artifacts, or final-determination logic.

@JJediny JJediny added the needs-human-review Requires human security review before merge label Oct 19, 2026

@wz-gsa wz-gsa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adversarial draft review at eb8af75c90f310582a823446516fb8441e14b99e: this skill correctly reserves final categorization for authorized officials and keeps evidence sanitized, but High-Water-Mark Check and Procedure 4 present N/A < Low < Moderate < High and system objective impact = maximum final impact across applicable information types as the entire FIPS 199 computation. FIPS 199 also requires considering impacts to the system itself/mission service, not only enumerated information types; a system that handles only low-impact data but whose unavailable function has a moderate mission impact would be incorrectly reported Low. Amend the check to incorporate system/service impact scenarios and applicable agency tailoring before deriving the per-objective system result; supply a sanitized counterexample or test case. Keep the calculation clearly provisional and human-approved. The PR is still draft, and the checklist says human security review/label remains pending. Static review only; AI-assisted (OpenCode).

@JJediny
JJediny marked this pull request as ready for review November 2, 2026 18:25
@JJediny
JJediny requested a review from a team as a code owner November 2, 2026 18:25

@mogul mogul left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: REQUEST CHANGES

AI-assisted adversarial re-review by OpenCode (GPT 6.1), requested by @mogul, of #506 at eb8af75c90f310582a823446516fb8441e14b99e.

Blocking findings

  1. P1 — The prior system-impact calculation blocker remains unresolved (.agents/skills/fips-199-categorization/SKILL.md:110–120, output contract at 136–137). This is the same head reviewed on October 26. The procedure still defines the system result solely as the maximum final impact across information types. That is a starting point, not a complete system categorization review: system/mission consequences and system-level adjustments must also be considered. A sanitized counterexample is two separately Low-confidentiality information types whose aggregation has Moderate disclosure consequences; independently maximizing the type values returns Low and misses the aggregate system impact. Require explicit system-level/aggregation and mission-impact checks, record justified adjustments and their human decision owners, and reflect them in the output and verification checklist. Add a sanitized example or test case demonstrating that type maxima alone are insufficient. The existing non-approval language is good and should remain.

  2. P2 — N/A is presented as valid for every system security objective (SKILL.md:114–117). The unrestricted ordering N/A < Low < Moderate < High allows an all-N/A input to produce system C/I/A=N/A without a finding. FIPS 199 permits not-applicable confidentiality for information types, not integrity/availability; system objectives have a minimum Low value. Distinguish information-type values from system values, flag N/A integrity/availability rather than rank it, and enforce the system-level Low floor. Add a public-information example with information-type C=N/A and I/A=Low, for which the system C/I/A is Low/Low/Low.

Verification and limits

Read the complete three-file diff, head content with line numbers, previous formal review, repository rules, generated-index wiring, and CI results. The skills symlink correctly resolves the catalog/index path to .agents/skills. All seven reported head checks are successful, but schema/lint/index checks do not validate these categorization semantics. The new skill has no test-case file or worked counterexample. No files modified, dependencies installed, or live assessment data processed. Direct retrieval of the cited NIST PDF/publication page was blocked by sandbox connectivity; that source-retrieval limitation is not represented as a successful check. Reference: https://csrc.nist.gov/pubs/fips/199/final (Security Categorization Applied to Information Types / Information Systems).

This AI-assisted review does not replace the required human security review or make an authorization decision.

@JJediny JJediny closed this Nov 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-human-review Requires human security review before merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants