KGCS Documentation

07 — Live Query Examples: Cypher Queries for CWE-89

Query 1: All CVEs for SQL Injection

MATCH (w:Weakness {cweId: "CWE-89"})
  <-[:CAUSED_BY]-(v:Vulnerability)
OPTIONAL MATCH (v)-[:HAS_SCORE]->(s:Score)
RETURN
  v.cveId AS CVE,
  s.baseScore AS CVSS,
  COUNT(*) AS Count
ORDER BY s.baseScore DESC
LIMIT 20

Query 2: Attack Patterns to Techniques

MATCH (w:Weakness {cweId: "CWE-89"})
  -[:DEMONSTRATED_BY]->(ap:AttackPattern)
  -[:IMPLEMENTS]->(t:Technique)
RETURN
  w.cweId,
  ap.capecId,
  t.attackId,
  t.name

Query 3: Complete Defensive Coverage

MATCH (t:Technique {attackId: "T1190"})
OPTIONAL MATCH (t)-[:MITIGATED_BY]->(d:DefensiveTechnique)
OPTIONAL MATCH (t)-[:DETECTED_BY]->(c:DetectionAnalytic)
RETURN
  COUNT(DISTINCT d) AS Mitigations,
  COUNT(DISTINCT c) AS Detections,
  COLLECT(DISTINCT d.d3fendId) AS D3FEND_Techniques,
  COLLECT(DISTINCT c.analyticId) AS CAR_Analytics

Next: 08 vs LLM Comparison (deferred)