Baktiyar Ablaikhan
λ 408.4 nm

GraphTrust

Typed attack-path reasoning for cloud identity permissions, with remediation that keeps business workflows intact.

Period
2026
Organisation
NSRI Summer Research Hackathon 2026
Role
Research engineer, team Cipher (with Shyngyskhan Sagyt and Arpith Sivaramakrishnan)
Status
Grand finalist (Top 25), NSRI Summer Research Hackathon · synthetic data
verified run directories
225 / 225
verified run directories
NDCG@10, typed vs untyped traversal
0.125 vs 0.002
NDCG@10, typed vs untyped traversal
mean modeled exposure reduction, 15 synthetic organizations
97.71%
mean modeled exposure reduction, 15 synthetic organizations

Abstract

Modern identity and access management (IAM) exposure can emerge from combinations of individually ordinary relationships among users, groups, roles, workloads, pipelines, policies, and cloud resources. This study asks whether whole-identity graph analysis turns modeled multi-hop exposure into a useful analyst queue rather than merely producing more paths. GraphTrust compiles provider-normalized IAM evidence into a directed heterogeneous capability graph, performs bounded path analysis, produces an auditable Zero Trust Risk Index (ZTRI), and recommends raw permission changes using cost-aware graph optimization. We evaluate five detection methods on SEIB-2026, a deterministic synthetic-enterprise benchmark with three organizational profiles, paired clean and injected variants, fixed final seeds, hard negatives, and truth withheld until inference completes. Primary endpoints are precision and recall at fixed review budgets, ranking quality, exhaustive recall, false-positive burden, remediation cost, and runtime. GraphTrust matches untyped traversal on total recall but concentrates more planted evidence near the top of the queue; the supplied audit reanalysis reports 18.9% recall@10 versus 0.26% for untyped traversal. A replicated cloud follow-up verifies proposed changes on 15 frozen organizations after application and checks protected business workflows. Results support a bounded claim: untyped reachability finds the attack surface, while typed semantics make it more reviewable, explainable, and remediable. Synthetic structure, ordinal weights, static snapshots, and bounded search limit external validity.

1 Research question and significance

Question. To what extent does typed, whole-identity graph analysis improve detection, ranking, explanation and remediation of multi-hop paths to critical cloud resources compared with four precisely defined IAM-audit baselines?

Zero Trust Architecture rejects implicit trust based on network location and requires access decisions to consider subjects, assets, resources and policy context (NIST, 2020, 2023). IAM reviews that stop at direct grants can miss a low-privilege identity whose group membership, role assumption, service impersonation or deployment authority creates transitive reachability. Graph-based attack-path and IAM analysis already exists — Principal Mapper, BloodHound OpenGraph, TAC and IAMPERE are important neighbours (NCC Group, 2022; SpecterOps, 2026; Hu et al., 2023a,b) — so GraphTrust does not claim to invent IAM graphs. Its contribution is a platform-neutral, truth-separated benchmark and controlled comparison combining typed path ranking under an explicit analyst budget, decomposed risk explanations and workflow-constrained remediation.

Three hypotheses were pre-specified in commit b226203 before the final evaluation runs:

  • H1 whole-identity analysis increases recall of planted transitive scenarios over direct and privileged-only audits;
  • H2 typed semantics improve top-ranked relevance over untyped traversal at fixed review budgets;
  • H3 cost-aware cuts reduce exposure with fewer or lower-cost raw IAM changes while preserving protected workflows.

Table 1. Related-work boundary. GraphTrust's claim is a controlled evaluation protocol, not invention of identity graphs.

SystemMulti-hopCross-platformTruthRankingWorkflow check
PMapperYesAWSNoNoNo
Access AnalyzerPartialAWSNoNoNo
BloodHound OpenGraphYesYesNoLimitedGuidance
TAC/IAMVulGenYesAWSSyntheticDetectionNo
IAMPEREYesAWSSynthetic+realRepairRepair
GraphTrustYesNormalizedPaired truthK-budgetYes

2 Method

2.1 SEIB-2026 benchmark and experimental matrix

SEIB-2026 generates three enterprise profiles — SaaS scale-up, regulated finance and global hybrid — rather than uniformly random graphs. Each graph contains departments, correlated group and role assignment, human and non-human identities, policies, repositories, pipelines, secrets and multi-cloud resources. Twelve scenario families inject documented dangerous paths and hard negatives; paired variants share the same clean base graph, so changes in detection are attributable to the injected condition.

The pre-specified design crosses 3 profiles × 2 scales × 5 held-out seeds × 3 variants × 5 methods = 450 planned immutable runs. Confirmatory evidence is the complete 225-run small-scale half: 30 injected graph units for detection and 15 clean controls for unmatched-finding burden. Each run retains data/configuration hashes, revision, environment, outputs, timings and checksums; truth is joined only after inference. Uncertainty uses 10,000 paired graph-level bootstrap resamples with (profile, seed) clusters, Friedman tests and Holm-corrected paired Wilcoxon follow-ups. Reachability is potential exposure, not proof of exploitation.

Small graphs use a 250,000-path cap. Local medium diagnostics at caps from 250,000 to 100 exposed impractical repeated source–target search cost and are excluded. A frozen bounded follow-up and three high-RAM, checkpointed Colab notebooks exist but were not completed in authenticated Colab; no medium/large performance result is claimed.

2.2 Graph semantics, scoring and baselines

Raw IAM evidence is compiled into effective capability edges that retain the semantic rule and source-evidence identifiers. Conditions use three states (true, false, unknown); unknown conditions are kept conservatively and labelled. Paths are simple, bounded to eight transitions and limited by explicit per-source and global expansion caps. For a path pp ending at asset tt,

R(p)=C(t) S(p) exp⁡ ⁣[−∑e∈p(−log⁡xe+τe+κe)],R(p) = C(t)\, S(p)\, \exp\!\left[-\sum_{e \in p} \big(-\log x_e + \tau_e + \kappa_e\big)\right],

where CC is normalized asset criticality, SS starting-control weakness, xex_e relative exploitability, and τe,κe\tau_e, \kappa_e typed-transition and condition penalties. Values are ordinal ranking parameters, not breach probabilities. The Zero Trust Risk Index (ZTRI) combines critical reach, best path, path diversity, blast radius and control weakness; every component stays visible.

Relative path risk 0.109

  1. Start identityservice:glo…27:0000182↓ Writes · 0.80
  2. Hop 1pipeline:gl…27:0000017↓ Runs as · 0.88
  3. Hop 2workload:gl…27:0000012↓ Deploys to · 0.82
  4. Critical assetstorage_buc…27:0000576

Each arrow is one typed transition, with the exploitability the model assigned to it.

finding:8b729a74084e3423dd4f5493 · run-558a5862f5c44c1ecf4d0140

Figure 1. A highest-ranked path from an immutable GraphTrust run. Each transition is reproducible from raw IAM evidence; identifiers are shortened only in the visual.Original ↗

Baselines: B0 direct (one-hop grants), B1 privileged-only (typed traversal from pre-labelled privileged starts), B2 untyped graph (unit-cost reachability) and B3 native scope (direct, group and provider-native relationships). This avoids the inaccurate claim that commercial IAM products inspect only direct permissions — AWS Access Analyzer, for example, uses automated reasoning for supported resource and policy scopes (Amazon Web Services, 2026).

2.3 Counterfactual remediation

Removable raw relationships receive modeled business costs; mandatory edges and required workflows are protected. Four methods — degree greedy, risk greedy, weighted minimum cut and iterative CP-SAT path hitting set — receive the same target. The verifier removes the proposed raw edges and every effective transition they support, reruns bounded reachability, and checks capability-specific protected workflows. Counterfactual verification records that the plan was applied and workflows remained reachable; target attainment is reported separately, by comparing achieved weighted reduction with the requested threshold. Recommendations never modify live permissions.

3 Results

3.1 Detection and ranking

The final small-scale matrix contains 225 checksum-verified runs. On injected graphs:

MethodRisky-identity recallScenario recallNDCG@10
B0 Direct0.0000.0000.000
B1 Privileged-only0.0000.0000.000
B3 Native scope0.3920.3920.009
B2 Untyped graph0.7580.7580.002
GraphTrust0.7580.7580.125

(Table assembled from §3.1 prose; NDCG@10 for B0/B1 from the repo's generated results.tex.)

H1 is supported against the narrow audit baselines but not against untyped whole-graph reachability. The separation appears in ranking: NDCG@10 0.125 for GraphTrust versus 0.002 for untyped traversal and 0.009 for native scope. The review-budget reanalysis supplied with this revision reports exact-path recall@10 of 0.189 versus 0.0026 for untyped traversal, precision@10 of 0.103 versus 0.0033, and MRR 0.0549 versus 0.0053 — typed conditions and transition costs concentrate useful evidence near the top even when exhaustive recall ties. Exhaustive exact-path recall was 0.729 for GraphTrust versus 0.765 for untyped traversal; the paired difference was −0.036 (95% CI [−0.049, −0.023]). On clean controls GraphTrust produced 13,786.9 unmatched paths per 1,000 identities, close to untyped traversal at 13,890.0. An unmatched synthetic path is not necessarily a real false alarm, but the volume shows why reachability must be ranked and reviewed rather than treated as an incident list.

Paired differences make the boundary explicit. Against untyped traversal the risky-identity-recall difference was +0.000 (95% bootstrap CI [+0.000, +0.000]), while the NDCG@10 difference was +0.123 (95% CI [+0.083, +0.164]). Five-method Friedman tests gave p=5.34×10−25p = 5.34\times10^{-25} for risky-identity recall and p=3.37×10−13p = 3.37\times10^{-13} for NDCG@10. Inferential tests use the enterprise graph, not each reported path, as the independent paired unit.

0%10%20%30%40%5101520Findings reviewed (K) →Exact-path recallGraphTrustUntyped
Figure 2a. Analyst review-budget curve.
Data
KGraphTrust recallUntyped recallPrecision@K (GraphTrust / untyped)
510.7%0.0%—
1018.9%0.3%10.3% / 0.3%
2033.7%1.6%—
Original ↗
Risky-identity recall
  • vs untyped
  • vs native scope
Exact-path recall
  • vs untyped
  • vs native scope
NDCG@10
  • vs untyped
  • vs native scope
00.20.40.6

GraphTrust minus each baseline, per enterprise graph; the dot is the mean, the line its 95% bootstrap interval. Right of zero favours GraphTrust.

Figure 2b. Graph-level paired differences; depth stress is a declared supplement.
Data
MetricBaselineGraphTrust − baseline95% CI
Risky-identity recalluntyped0.000[0.000, 0.000]
Risky-identity recallnative scope0.367[0.331, 0.403]
Exact-path recalluntyped-0.036[-0.049, -0.023]
Exact-path recallnative scope0.637[0.594, 0.677]
NDCG@10untyped0.123[0.083, 0.164]
NDCG@10native scope0.115[0.072, 0.160]
Original ↗

Figure 2: The primary operational endpoint is reviewable evidence, with path-depth results reported separately from the confirmatory aggregate.

3.2 Remediation and scalability

A declared GitHub Actions follow-up replicated remediation across 15 independent (profile, seed) organizations. Weighted minimum cut reduced modeled exposure by 97.71% on average (cluster-bootstrap 95% CI [97.48%, 97.95%]) using 28.13 mean raw IAM changes at modeled cost 22.96 and mean runtime 3.62 seconds (Table 2 gives 3.37 s — see flags). All 15 plans attained the 95% target, passed post-application graph recompilation and preserved every encoded workflow. At the 95% request, risk greedy achieved 87.06% mean reduction, constraint generation 81.00% and degree greedy 73.33%; their counterfactuals and workflows verified even when the requested weighted target was not attained. Weighted min-cut returns one unique plan per graph across the five threshold checks, so inference uses n=15n = 15, not the 75 repeated CSV rows.

Table 2. Replicated remediation at the 95% requested reduction (15 independent organizations). Verification and target attainment are separate outcomes.

MethodAchievedCostChangesRuntime
Weighted min-cut97.71%22.9628.133.37 s
Risk greedy87.06%7.5511.330.56 s
Constraint generation81.00%245.31112.60123.37 s
Degree greedy73.33%1430.92877.20449.25 s

Weighted min-cutRisk greedyConstraint generationDegree greedy

100%90%80%70%60%50%40%
95% requested
1101001,000
Modelled business cost (log scale) →

One mark per organization and method. Up is more exposure removed; left is cheaper.

Figure 3a. Remediation at the 95% requested reduction in the 15-organization replication, redrawn from its published results; Table 2 gives the means.
Data
OrganizationMethodReductionCostChangesRuntime (s)
global_hybrid:2750159Degree greedy78.1%1325.337849551.675
global_hybrid:2750159Risk greedy92.2%7.93120.497
global_hybrid:2750159Weighted min-cut98.4%16.386253.547
global_hybrid:2750159Constraint generation85.5%258.022131124.069
global_hybrid:3681131Degree greedy76.3%1298.47819453.982
global_hybrid:3681131Risk greedy87.5%8.672131.1
global_hybrid:3681131Weighted min-cut98.4%29.884324.11
global_hybrid:3681131Constraint generation79.3%278.92106123.313
global_hybrid:4264387Degree greedy74.4%1402.649884506.23
global_hybrid:4264387Risk greedy91.5%7.735120.465
global_hybrid:4264387Weighted min-cut98.4%15.361253.36
global_hybrid:4264387Constraint generation84.2%371.199169123.467
global_hybrid:5000011Degree greedy76.7%1265.464799381.761
global_hybrid:5000011Risk greedy88.8%8.702140.983
global_hybrid:5000011Weighted min-cut98.2%23.277303.672
global_hybrid:5000011Constraint generation87.2%455.476200123.289
global_hybrid:6500027Degree greedy76.7%1353.347868417.103
global_hybrid:6500027Risk greedy89.9%8.357120.479
global_hybrid:6500027Weighted min-cut98.1%32.778453.041
global_hybrid:6500027Constraint generation84.4%215.346104123.619
regulated_finance:2750159Degree greedy72.3%1248.558808430.256
regulated_finance:2750159Risk greedy90.7%7.18110.476
regulated_finance:2750159Weighted min-cut97.7%13.928223.935
regulated_finance:2750159Constraint generation79.3%322.351133123.462
regulated_finance:3681131Degree greedy71.7%1270.756785369.901
regulated_finance:3681131Risk greedy83.6%6.462100.427
regulated_finance:3681131Weighted min-cut97.7%31.205343.313
regulated_finance:3681131Constraint generation78.8%201.836106123.207
regulated_finance:4264387Degree greedy71.8%1377.354856394.847
regulated_finance:4264387Risk greedy89.3%7.323110.425
regulated_finance:4264387Weighted min-cut97.6%15.058243.078
regulated_finance:4264387Constraint generation79.6%229.136102123.487
regulated_finance:5000011Degree greedy73.5%1421.7883420.99
regulated_finance:5000011Risk greedy87.4%8.716130.439
regulated_finance:5000011Weighted min-cut97.3%25.281312.98
regulated_finance:5000011Constraint generation77.8%313.553139123.069
regulated_finance:6500027Degree greedy73.3%1376.754877410.89
regulated_finance:6500027Risk greedy84.1%6.54190.429
regulated_finance:6500027Weighted min-cut97.0%27.263373.553
regulated_finance:6500027Constraint generation82.8%185.73998123.28
saas_scaleup:2750159Degree greedy75.2%2778.4271388816.459
saas_scaleup:2750159Risk greedy87.4%9.292130.554
saas_scaleup:2750159Weighted min-cut97.6%30.409233.376
saas_scaleup:2750159Constraint generation74.0%56.87924124.145
saas_scaleup:3681131Degree greedy69.6%1312.603828452.102
saas_scaleup:3681131Risk greedy89.0%7.735121.089
saas_scaleup:3681131Weighted min-cut97.3%28.864234.079
saas_scaleup:3681131Constraint generation78.3%121.25555123.18
saas_scaleup:4264387Degree greedy68.3%1378.264853363.659
saas_scaleup:4264387Risk greedy82.8%5.82390.348
saas_scaleup:4264387Weighted min-cut97.4%16.028222.937
saas_scaleup:4264387Constraint generation80.4%145.98778123.058
saas_scaleup:5000011Degree greedy73.2%1289.709810347.524
saas_scaleup:5000011Risk greedy80.6%5.662100.302
saas_scaleup:5000011Weighted min-cut97.4%18.328242.595
saas_scaleup:5000011Constraint generation80.0%143.71885122.508
saas_scaleup:6500027Degree greedy68.8%1364.383851421.438
saas_scaleup:6500027Risk greedy81.1%7.12690.372
saas_scaleup:6500027Weighted min-cut97.2%20.29252.991
saas_scaleup:6500027Constraint generation83.5%380.229159123.321
Original ↗
Weighted min-cut
Risk greedy
Constraint generation
Degree greedy
0.1 s1 s10 s100 s1,000 s

Seconds per plan, one mark per organization; the bar is the median. Log scale.

Figure 3b. Seconds per remediation plan in the same replication; fixed-size graphs, not a scaling claim.Original ↗

Figure 3: Operational trade-offs are reported together with post-application verification and resource use.

4 Limitations and threats to validity

Synthetic structure does not establish real-world prevalence. Injected truth may favour aligned methods, while unlabelled plausible paths lower measured precision. Weights, removal costs, asset labels and protected workflows are generated assumptions. Provider normalization omits some policy exceptions, sessions, denies and temporal conditions; bounded top-K search can omit paths. Three profiles are not a representative company sample. The frozen depth follow-up contains no one-hop planted risk, so its direct-audit zero is benchmark-conditional. Weighted min-cut solves a different objective from the path-count constraint generator, and target attainment must not be inferred from counterfactual verification alone. Reachability is potential exposure, not intent, exploit success or incident probability.

5 Conclusion and impact

In SEIB-2026, whole-identity reachability reveals transitive paths missed by direct and privileged-only audits. Untyped traversal finds much of the same attack surface, but typed semantics improve the concentration of relevant evidence under a finite analyst budget, preserve hop-level provenance and support explanations. Across 15 frozen organizations, weighted min-cut remediation reduced modeled exposure by 97.71% on average while preserving every encoded workflow; counterfactual recompilation maps choke points back to raw IAM changes and verifies their modeled effect. GraphTrust therefore complements provider-native IAM tools; it is not autonomous enforcement evidence or a claim of universal recall superiority.

AI use transparency statement

OpenAI Codex assisted with interpreting the project specification, implementing and reviewing code, diagnosing scale and verification defects, running local automated experiments, generating figures and editing the brief. The author directed the research question and remains responsible for understanding the method, reviewing every claim, verifying citations and submitting the work. Synthetic data are produced by deterministic repository code; no real company or personal IAM data were used. Numerical claims are generated only from checksum-verified run artifacts or are explicitly labelled as the operator's review-budget audit reanalysis in docs/audit_recalculation_notes.md. AI was not used to fabricate citations, experimental outcomes, collaborators or human review. The public Docker workflow builds and starts both services with health checks; the three large Colab notebooks were prepared but not executed.

Appendix A — Reproducibility and experiment matrix

The repository pins Python dependencies, provides Docker and Compose definitions, and stores three profile-specific Colab notebooks with high-RAM gates, resume checkpoints and receipts. The complete design is 3 × 2 × 5 × 3 × 5 = 450 planned small/medium runs, plus three large profile launches at one held-out seed. The completed evidence set is 225/225 small detection runs plus a 15-organization cloud follow-up with 1,350 depth rows and 300 remediation checks; 225 medium runs and all three authenticated Colab receipts remain pending. Immutable run IDs derive from the dataset checksum, resolved configuration, git commit and method. The final report treats (profile, seed) as the independent cluster and emits docs/evidence/evidence_manifest.csv; a traceability validator rejects missing or corrupt artifacts before report generation. Figures are exported as SVG and 300-dpi PNG and retain source run IDs.

References

From the record

Identity risk appears when permissions chain: a role that can assume another role that can read a secret. GraphTrust models these chains.

Approach

Synthetic IAM records → a typed capability graph → bounded search for paths to critical assets → ranking under an analyst's budget → remediation proposals that must keep protected workflows working. Every number is tied to raw CSVs and hashes in the repository.

Results

Across 15 frozen synthetic organizations, weighted minimum cut reduced modeled exposure by 97.71% on average (bootstrap 95% CI 97.48–97.95%) with about 28 permission changes. Typed ranking reached NDCG@10 = 0.125 against 0.002 for untyped traversal, at the same risky-identity recall.

Limits

All data is synthetic, costs are modeled, path search is bounded, and graph reachability does not prove that anything is exploitable.

Figures

  1. 01Raw IAM evidenceParquet + provenance
  2. 02Semantic compilerprovider-aware rules
  3. 03Capability graphtyped + conditional
  4. 04Path analyticsbounded and ranked
  5. 05Remediationcut + counterfactual
  6. 06Evidence packageAPI · tables · figures
From raw entitlements to verified recommendations. Ground truth is joined only after inference, for evaluation.Original ↗