KGCS Documentation

πŸ›‘οΈ SHACL Profiles per Trust Level

Below is a tiered SHACL profile system that lets you expose the same graph to different consumers without changing the data, only the validation contract.

Think of it as semantic zero-trust.

(SOC / Exec / AI)


Design Principle

Trust level β‰  data visibility Trust level = which semantics are allowed to survive validation

Each profile:


0. Trust Levels Overview

Profile Audience Goal Risk Tolerance
SOC Analysts, IR, DFIR Tactical accuracy πŸ”΄ Zero
EXEC CISO, Board, GRC Decision clarity 🟠 Low
AI RAG / Agents / LLMs Hallucination safety πŸ”΄ Zero

⚠️ AI and SOC are stricter than EXEC, but in different ways.


πŸ”΄ TRUST PROFILE: SOC

β€œOnly what we can prove”

SOC Profile Philosophy


SH-SOC-01 β€” Incidents Must Be Evidence-Backed

inc:SOCIncidentEvidenceShape
  a sh:NodeShape ;
  sh:targetClass inc:Incident ;
  sh:property [
    sh:path inc:observed ;
    sh:minCount 1 ;
  ] ;
  sh:property [
    sh:path inc:supported_by ;
    sh:minCount 1 ;
    sh:message "SOC incidents must be supported by evidence." ;
  ] .

SH-SOC-02 β€” Observed Techniques Require High Confidence

inc:SOCObservedTechniqueConfidenceShape
  a sh:NodeShape ;
  sh:targetClass inc:ObservedTechnique ;
  sh:property [
    sh:path inc:confidence ;
    sh:in ("HIGH") ;
    sh:message "SOC view requires HIGH confidence observations only." ;
  ] .

SH-SOC-03 β€” No Risk or Attribution Allowed

soc:NoRiskOrAttributionShape
  a sh:NodeShape ;
  sh:targetClass inc:Incident ;
  sh:not [
    sh:or (
      [ sh:path risk:evaluates ; sh:minCount 1 ]
      [ sh:path ta:attributes ; sh:minCount 1 ]
    )
  ] ;
  sh:message "SOC view must not include Risk or Attribution." .

βœ… SOC Guarantees


🟠 TRUST PROFILE: EXEC

β€œEnough truth to decide”

EXEC Profile Philosophy


SH-EXEC-01 β€” Risk Required for Exposure

risk:ExecRiskRequiredShape
  a sh:NodeShape ;
  sh:targetClass sec:Vulnerability ;
  sh:property [
    sh:path risk:considered_in ;
    sh:minCount 1 ;
    sh:message "Exec view requires Vulnerabilities to be contextualized by Risk." ;
  ] .

SH-EXEC-02 β€” Attribution Must Be Abstracted

exec:AbstractAttributionOnlyShape
  a sh:NodeShape ;
  sh:targetClass ta:ThreatActor ;
  sh:property [
    sh:path ta:actor_type ;
    sh:in ("GROUP" "STATE" "UNKNOWN") ;
    sh:message "Exec attribution must be abstracted (no individual actors)." ;
  ] .

SH-EXEC-03 β€” Evidence Optional, Rationale Mandatory

risk:ExecRationaleShape
  a sh:NodeShape ;
  sh:targetClass risk:RiskAssessment ;
  sh:property [
    sh:path risk:rationale ;
    sh:minCount 1 ;
    sh:message "Exec decisions require rationale." ;
  ] .

βœ… EXEC Guarantees


πŸ”΄ TRUST PROFILE: AI (RAG / Agents)

β€œNothing that can hallucinate”

AI Profile Philosophy


SH-AI-01 β€” Only Approved Traversal Anchors

ai:ApprovedAnchorsShape
  a sh:NodeShape ;
  sh:targetClass sec:Technique ;
  sh:property [
    sh:path sec:belongs_to ;
    sh:minCount 1 ;
  ] ;
  sh:property [
    sh:path sec:mitigated_by ;
    sh:minCount 1 ;
    sh:message "AI queries require Technique anchors with mitigation context." ;
  ] .

SH-AI-02 β€” No Direct Cross-Extension Jumps

ai:NoCrossExtensionJumpShape
  a sh:NodeShape ;
  sh:targetClass inc:Incident ;
  sh:not [
    sh:property [
      sh:path risk:evaluates ;
      sh:minCount 1 ;
    ]
  ] ;
  sh:message "AI must not traverse Incident β†’ Risk directly." .

SH-AI-03 β€” Attribution Requires Confidence Threshold

ai:AttributionConfidenceThresholdShape
  a sh:NodeShape ;
  sh:targetClass ta:AttributionClaim ;
  sh:property [
    sh:path ta:confidence_score ;
    sh:minInclusive 0.7 ;
    sh:message "AI attribution requires confidence β‰₯ 0.7." ;
  ] .

SH-AI-04 β€” No Unanchored Risk

ai:AnchoredRiskOnlyShape
  a sh:NodeShape ;
  sh:targetClass risk:RiskScenario ;
  sh:property [
    sh:path risk:considers ;
    sh:class sec:Technique ;
    sh:minCount 1 ;
    sh:message "AI risk reasoning must anchor to Core Technique." ;
  ] .

βœ… AI Guarantees


🧩 How to Deploy This (Recommended)

1. One Graph, Multiple SHACL Sets

/shacl/
 β”œβ”€β”€ core.ttl
 β”œβ”€β”€ incident.ttl
 β”œβ”€β”€ risk.ttl
 β”œβ”€β”€ threatactor.ttl
 β”œβ”€β”€ trust-soc.ttl
 β”œβ”€β”€ trust-exec.ttl
 └── trust-ai.ttl

2. Validate by Context