Skip to content

AI Enrichment

Every scan in CoreFix — code or web — passes through a four-stage AI pipeline that transforms raw scanner output into prioritized, actionable security intelligence. The AI adds context that raw scanners cannot provide: deduplication across tools, risk scoring, compliance mapping, exploitability analysis, attack chain discovery, and an executive brief.

The final output is sorted by composite priority — the most urgent issue is always first.


How It Works

After all scanners complete, their raw findings are collected and passed through the AI pipeline in four sequential stages.

┌─────────────────────────────────────────────────────────────────────┐
│                        SCANNER OUTPUT                              │
│  OpenGrep · Gitleaks · OSV-Scanner · KICS · Kubescape             │
│  OWASP ZAP · Nuclei · Nmap · testssl.sh · SSLyze                  │
└────────────────────────────┬────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────────┐
│  STAGE 1 — DEDUPLICATION                                           │
│                                                                     │
│  Multiple scanners often flag the same issue. The AI merges         │
│  duplicate findings across scanners into a single entry,            │
│  preserving the strongest evidence from each source.                │
│                                                                     │
│  Example: Gitleaks and OpenGrep both find the same hardcoded        │
│  AWS key in config/deploy.rb → merged into one finding with         │
│  both scanners cited.                                               │
└────────────────────────────┬────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────────┐
│  STAGE 2 — ENRICHMENT                                              │
│                                                                     │
│  Each deduplicated finding is enriched with:                        │
│  • AI risk score (1–100) and risk rating                            │
│  • Impact analysis (confidentiality, integrity, availability)       │
│  • Exploitability assessment (complexity, auth required, EPSS)      │
│  • Compliance mapping (PCI-DSS, SOC2, OWASP, CIS, etc.)            │
│  • Context analysis (production vs test code, false positive check) │
│  • Remediation steps with code fix suggestions                      │
└────────────────────────────┬────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────────┐
│  STAGE 3 — CORRELATION                                             │
│                                                                     │
│  The AI looks across all findings to discover attack chains —       │
│  sequences of vulnerabilities that, when combined, enable a         │
│  larger attack.                                                     │
│                                                                     │
│  Example: Hardcoded AWS key (initial access) + open S3 bucket       │
│  (lateral movement) + no CloudTrail logging (persistence)           │
│  → "AWS Key → S3 Exfiltration → Ransomware" attack chain.          │
│                                                                     │
│  Each finding is classified into an exploit class and tagged         │
│  with its role in any chains it belongs to.                         │
└────────────────────────────┬────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────────┐
│  STAGE 4 — PRIORITIZATION                                          │
│                                                                     │
│  All findings are ranked by composite priority, which factors in:   │
│  • AI risk score                                                    │
│  • Exploit class severity                                           │
│  • Attack chain membership (chain anchors rank higher)              │
│  • Production vs test context                                       │
│  • Exploitability and EPSS score                                    │
│                                                                     │
│  An executive brief is generated summarizing the overall risk       │
│  posture, top findings, and recommended actions.                    │
└────────────────────────────┬────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────────┐
│  ENRICHED OUTPUT                                                    │
│                                                                     │
│  • Findings sorted by priority (most urgent first)                  │
│  • Attack chains with severity and kill-chain mapping               │
│  • Executive brief for stakeholders                                 │
│  • HTML report generated and pushed to cloud                        │
│  • Email notification sent with report link                         │
└─────────────────────────────────────────────────────────────────────┘

Pipeline Status

During AI processing, the scan status progresses through these stages visible in the dashboard:

StatusWhat's Happening
processingScan complete, findings queued for AI
deduplicatingMerging duplicate findings across scanners
enrichingAdding risk scores, impact, remediation
correlatingBuilding attack chains, classifying findings
prioritizingGenerating priority rankings and executive brief
completedResults ready to view

What the AI Adds to Each Finding

A raw finding from a scanner contains the basics — vulnerability name, severity, file location, and a description. After AI enrichment, that same finding is augmented with the fields below.

Risk Assessment

FieldDescription
AI Risk ScoreComposite score (1–100) combining CVSS, exploitability, data sensitivity, and production context
AI Risk RatingCRITICAL (90–100), HIGH (70–89), MEDIUM (40–69), LOW (20–39), INFO (1–19)
Composite PriorityFinal ranking score (0–100) factoring in risk, exploit class, chain membership, and context
Priority Rank1-based position in the sorted findings list (1 = most urgent)

Impact Analysis

For each finding, the AI assesses the impact on the CIA triad:

FieldValues
ConfidentialityHIGH, MEDIUM, LOW, NONE
IntegrityHIGH, MEDIUM, LOW, NONE
AvailabilityHIGH, MEDIUM, LOW, NONE
ScopeChanged (affects systems beyond the vulnerable component) or Unchanged
DescriptionPlain-language explanation of what an attacker achieves

Exploitability

FieldDescription
Is ExploitableWhether this vulnerability can be exploited in practice
Exploit ComplexityLOW, MEDIUM, HIGH — how difficult the exploit is
Requires AuthWhether authentication is needed to exploit
Requires User InteractionWhether a user must take action for the exploit to succeed
Known ExploitsWhether public exploits exist
Attack VectorNETWORK, ADJACENT, LOCAL, PHYSICAL
EPSS ScoreExploit Prediction Scoring System probability (0–1)

Compliance Mapping

Each finding is mapped to relevant compliance frameworks and their specific controls:

  • PCI-DSS
  • SOC2
  • OWASP Top 10
  • CIS Benchmarks
  • NIST
  • And others as applicable

Context Analysis

The AI evaluates whether the finding is likely to be a real issue or a false positive:

FieldDescription
Is Test CodeWhether the finding is in test files or fixtures
Is Sample ConfigWhether the finding is in example or template configuration
Is ProductionWhether the finding is in production code paths
False Positive LikelihoodLOW, MEDIUM, HIGH
ReasoningExplanation of why the AI reached its conclusion

Remediation

FieldDescription
PriorityIMMEDIATE, HIGH, MEDIUM, LOW
StepsOrdered list of specific actions to fix the issue
Code FixSuggested code change where applicable
AutomatableWhether the fix can be automated
Effort EstimateLOW, MEDIUM, HIGH

Attack Chains

If a finding is part of an attack chain, it includes:

FieldDescription
Chain IDUnique identifier for the chain
Chain NameDescriptive name (e.g. "AWS Key → S3 Exfiltration → Ransomware")
Chain SeverityOverall severity of the chain
RoleThe finding's role: initial_access, lateral_movement, persistence, exfiltration, etc.

Deduplication Metadata

FieldDescription
Merged FromList of scanners that detected this same issue
Dedup ReasonWhy the AI determined these were the same finding
Merged CountNumber of raw findings merged into this one

Example — Before and After

Raw Finding (Scanner Output)

json
{
  "name": "Hardcoded AWS Access Key",
  "severity": 4,
  "threat": "HIGH",
  "scanner": "gitleaks",
  "description": "AWS access key found in source file.",
  "category": "secret",
  "cwe": "CWE-798",
  "cvss": 9.1,
  "locations": [
    {
      "file": "config/deploy.rb",
      "startLine": 42,
      "code": "access_key = 'AKIA...'"
    }
  ]
}

Enriched Finding (After AI Pipeline)

json
{
  "name": "Hardcoded AWS Access Key",
  "severity": 4,
  "threat": "HIGH",
  "scanner": "gitleaks",
  "description": "AWS access key found in source file.",
  "category": "secret",
  "cwe": "CWE-798",
  "cvss": 9.1,
  "locations": [
    {
      "file": "config/deploy.rb",
      "startLine": 42,
      "code": "access_key = 'AKIA...'"
    }
  ],
  "findingId": "FINDING-0001",
  "priorityRank": 1,
  "compositePriority": 98,
  "aiRiskScore": 95,
  "aiRiskRating": "CRITICAL",
  "impact": {
    "confidentiality": "HIGH",
    "integrity": "HIGH",
    "availability": "MEDIUM",
    "scope": "Changed",
    "description": "Attacker gains full AWS account access; can exfiltrate data, spin up resources, or pivot to other services."
  },
  "compliance": [
    {
      "framework": "PCI-DSS",
      "controls": ["Requirement 6.3.2", "Requirement 8.6"],
      "requirement": "Hardcoded credentials violate PCI-DSS secret management requirements."
    },
    {
      "framework": "SOC2",
      "controls": ["CC6.1"],
      "requirement": "Access credentials must not be stored in source code."
    }
  ],
  "remediation": {
    "priority": "IMMEDIATE",
    "steps": [
      "Rotate the AWS key immediately via the IAM console.",
      "Remove the hardcoded value from config/deploy.rb.",
      "Inject the credential via an environment variable or secrets manager.",
      "Audit CloudTrail for any usage of this key in the last 90 days."
    ],
    "automatable": true,
    "effortEstimate": "LOW",
    "codefix": "access_key = ENV['AWS_ACCESS_KEY_ID']"
  },
  "exploitability": {
    "isExploitable": true,
    "exploitComplexity": "LOW",
    "requiresAuth": false,
    "requiresUserInteraction": false,
    "knownExploits": true,
    "attackVector": "NETWORK",
    "epssScore": 0.94
  },
  "contextAnalysis": {
    "isTestCode": false,
    "isSampleConfig": false,
    "isProduction": true,
    "falsePositiveLikelihood": "LOW",
    "reasoning": "File is in an active deployment config path with a real-looking key prefix (AKIA), not a test fixture."
  },
  "exploitClass": "EXPOSED_SECRETS",
  "exploitClassReason": "Live AWS key in a production deploy config; directly usable without additional steps.",
  "priorityNote": "Fix immediately — this key is in a production deploy config, anchors an attack chain, and has an EPSS score of 0.94.",
  "attackChains": [
    {
      "chainId": "chain-1",
      "chainName": "AWS Key → S3 Exfiltration → Ransomware",
      "chainSeverity": "CRITICAL",
      "role": "initial_access"
    }
  ],
  "mergedFrom": ["gitleaks", "opengrep"],
  "dedupReason": "Same AWS key detected by both gitleaks and opengrep in the same file.",
  "mergedCount": 2
}

Executive Brief

After prioritization, the AI generates an executive brief included in every report. It summarizes:

  • Overall risk posture of the project
  • Total findings broken down by severity
  • Top critical findings requiring immediate attention
  • Attack chains discovered and their potential business impact
  • Compliance gaps across applicable frameworks
  • Recommended next steps

This brief is designed for stakeholders who need the security picture without reading individual findings.