- Hostname
- FIN-LT-042
- Device ID
- D-8042
- IP
- 10.20.4.42
- Owner
- Riley Park
- OS
- Windows 11 Enterprise
Knowledge graph · Data engineering
Atlas Graph
Five fragmented security sources become one traceable graph. Explore every path from an external entry point to critical data, then test which control removes the most risk.
- 5 synthetic sources
- Attack-path search
- What-if remediation
POST /api/graph
Personal project on synthetic data · Not an employer system
Architecture
- Graph traversal
- Entity resolution
- Lineage
- What-if analysis
- Source recordsEDR, CMDB, scanner, identity provider, and cloud audit logs
- Entity resolutionWeighted field match: MATCH, REVIEW, or NO_MATCH
- Security graphDirected edges with a relation, likelihood, and control
- Path searchEvery route from the internet to critical data, ranked
- What-if remediationRemove one control’s edge and recount the paths
Run it
- Pick a remediation scenario
- Watch reachable paths and the top score change
- Select a path to trace it on the graph
What this showsData engineering · Entity resolution · Graph modeling · Risk prioritization
- Reachable critical paths
- 6of 6 before remediation
- Paths removed
- 0no change
- Top path score
- 36.7%edge-likelihood product
- Graph coverage
- 8entities from 5 sources
Ranked critical paths
Select a path to trace it on the graph
Entity resolution · FIN-LT-042
Weighted field comparison against the EDR record · link ≥ 0.72 · review ≥ 0.60
- Hostname
- finlt042.corp.example
- Device ID
- D-8042
- IP
- 10.20.4.42
- Owner
- Park, Riley
- OS
- Windows 11 Enterprise
- Hostname
- fin-lt-042
- Device ID
- not recorded
- IP
- 10.20.4.42
- Owner
- riley.park
- OS
- Windows 11 Enterprise
2 of 3 records link automatically; borderline pairs go to analyst review. Weights are hand-set for this demo.
Path score multiplies assumed edge likelihoods to rank paths.
6 reachable critical paths. Top path score 36.7%.
Decisions, evidence, and limits
The problem
Security tools describe the same users, devices, services, and findings with different identifiers. Without trustworthy identity and relationships, downstream analytics produce duplicate alerts and misleading attack paths.
How it works
Compare source records field by field to link them into canonical entities with lineage, build a directed security graph, and enumerate every path from an exposed entry point to each critical data store. Every edge carries a relationship, an assumed likelihood, and the control that would remove it.
Baseline
The baseline graph uses exact identifiers and all observed edges. The enhanced pipeline links noisy records with weighted field comparisons, routes borderline pairs to review, and preserves the evidence behind each canonical entity.
What is measured
The live API reports reachable critical paths, the top path score, paths removed by each remediation, source coverage, and field-level match evidence. Path score is the product of edge likelihoods: a heuristic for ranking, not a probability of compromise.
Failure modes
Missing telemetry can hide edges, stale access data can create paths that no longer exist, and correlated edge assumptions make multiplicative scores optimistic. Match weights are hand-set here and must be learned and calibrated on reviewed pairs before production use.
Production tradeoffs
Process source snapshots with Spark, store the versioned graph in a graph database, learn entity-resolution weights from reviewed pairs, enforce field-level lineage, and validate proposed attack paths with asset owners before driving remediation.