From 68f9e65edc68b5d664decc8b21ebc1a9c7c759a2 Mon Sep 17 00:00:00 2001 From: newmattock <152253273+newmattock@users.noreply.github.com> Date: Sat, 16 May 2026 07:50:20 -0700 Subject: [PATCH 1/2] Add identity recovery risk guard --- README.md | 4 + identity-recovery-risk-guard/README.md | 27 ++ .../data/sample-recovery-cases.json | 172 +++++++ identity-recovery-risk-guard/docs/demo.gif | Bin 0 -> 975933 bytes identity-recovery-risk-guard/docs/demo.svg | 26 ++ .../docs/requirement-map.md | 19 + identity-recovery-risk-guard/package.json | 12 + identity-recovery-risk-guard/scripts/demo.js | 34 ++ .../scripts/write-demo-gif.js | 118 +++++ .../src/identity-recovery-risk-guard.js | 431 ++++++++++++++++++ .../test/identity-recovery-risk-guard.test.js | 54 +++ 11 files changed, 897 insertions(+) create mode 100644 identity-recovery-risk-guard/README.md create mode 100644 identity-recovery-risk-guard/data/sample-recovery-cases.json create mode 100644 identity-recovery-risk-guard/docs/demo.gif create mode 100644 identity-recovery-risk-guard/docs/demo.svg create mode 100644 identity-recovery-risk-guard/docs/requirement-map.md create mode 100644 identity-recovery-risk-guard/package.json create mode 100644 identity-recovery-risk-guard/scripts/demo.js create mode 100644 identity-recovery-risk-guard/scripts/write-demo-gif.js create mode 100644 identity-recovery-risk-guard/src/identity-recovery-risk-guard.js create mode 100644 identity-recovery-risk-guard/test/identity-recovery-risk-guard.test.js diff --git a/README.md b/README.md index d338cf6..3770683 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,6 @@ # deepevents.ai deepevents.ai main codebase + +## Bounty modules + +- [identity-recovery-risk-guard](./identity-recovery-risk-guard/README.md) - account recovery and session-risk controls for user/project access restoration. diff --git a/identity-recovery-risk-guard/README.md b/identity-recovery-risk-guard/README.md new file mode 100644 index 0000000..a3384fc --- /dev/null +++ b/identity-recovery-risk-guard/README.md @@ -0,0 +1,27 @@ +# Identity Recovery Risk Guard + +This module implements a focused User & Project Management slice for account recovery and session-risk review. It is intentionally not another broad RBAC or profile-management demo. Instead, it answers a specific operational question: + +> Should SCIBASE restore account access or linked-identity control when the user has sensitive project memberships, active sessions, and identity evidence that may not line up? + +The guard evaluates synthetic password resets, MFA resets, email changes, OAuth relinks, and SAML rebinds before project access is restored. + +## What it covers + +- Linked identities across email, ORCID, GitHub, Google, and SAML. +- MFA recovery evidence, backup codes, and institutional approval. +- Suspicious sessions, new devices, country changes, and recent failed-login clusters. +- Project exposure for owner/admin roles and sensitive object grants. +- Recovery packets with missing evidence and required reviewers. +- Project access holds, session revocation recommendations, and deterministic audit events. + +## Run locally + +```bash +npm run check +npm test +npm run demo +npm run demo:gif +``` + +The implementation is dependency-free and uses synthetic data only. diff --git a/identity-recovery-risk-guard/data/sample-recovery-cases.json b/identity-recovery-risk-guard/data/sample-recovery-cases.json new file mode 100644 index 0000000..5efde1e --- /dev/null +++ b/identity-recovery-risk-guard/data/sample-recovery-cases.json @@ -0,0 +1,172 @@ +{ + "generatedAt": "2026-05-16T15:00:00.000Z", + "policy": { + "criticalRiskThreshold": 80, + "highRiskThreshold": 55, + "projectHoldRiskThreshold": 55, + "trustedInstitutionDomains": ["miskatonic.edu", "northbridge-labs.org"], + "recentWindowHours": 72 + }, + "users": [ + { + "id": "user-ada", + "name": "Ada Monroe", + "primaryEmail": "ada@miskatonic.edu", + "institutionDomain": "miskatonic.edu", + "mfa": { "enrolled": true, "backupCodesIssued": true, "lastVerifiedAt": "2026-05-01T12:00:00.000Z" }, + "linkedIdentities": [ + { "provider": "email", "subject": "ada@miskatonic.edu", "verified": true, "linkedAt": "2025-02-01T12:00:00.000Z" }, + { "provider": "orcid", "subject": "0000-0002-1111-2222", "verified": true, "linkedAt": "2025-02-02T12:00:00.000Z" }, + { "provider": "github", "subject": "ada-research", "verified": true, "linkedAt": "2025-02-03T12:00:00.000Z" }, + { "provider": "saml", "subject": "ada@miskatonic.edu", "verified": true, "linkedAt": "2025-02-04T12:00:00.000Z" } + ] + }, + { + "id": "user-lina", + "name": "Lina Kwan", + "primaryEmail": "lina@northbridge-labs.org", + "institutionDomain": "northbridge-labs.org", + "mfa": { "enrolled": true, "backupCodesIssued": true, "lastVerifiedAt": "2026-05-14T09:00:00.000Z" }, + "linkedIdentities": [ + { "provider": "email", "subject": "lina@northbridge-labs.org", "verified": true, "linkedAt": "2025-04-01T12:00:00.000Z" }, + { "provider": "saml", "subject": "lina@northbridge-labs.org", "verified": true, "linkedAt": "2025-04-02T12:00:00.000Z" }, + { "provider": "orcid", "subject": "0000-0003-3333-4444", "verified": true, "linkedAt": "2025-04-03T12:00:00.000Z" } + ] + }, + { + "id": "user-omar", + "name": "Omar Silva", + "primaryEmail": "omar@example.org", + "institutionDomain": "example.org", + "mfa": { "enrolled": false, "backupCodesIssued": false, "lastVerifiedAt": null }, + "linkedIdentities": [ + { "provider": "email", "subject": "omar@example.org", "verified": true, "linkedAt": "2026-01-01T12:00:00.000Z" } + ] + } + ], + "projects": [ + { + "id": "project-quasar", + "title": "Quasar Proteomics Consortium", + "visibility": "institutional", + "sensitivity": "restricted", + "memberships": [ + { "userId": "user-ada", "role": "owner" }, + { "userId": "user-lina", "role": "reviewer" } + ], + "objectGrants": [ + { "userId": "user-ada", "objectId": "dataset-raw-human", "action": "download", "sensitivity": "restricted" }, + { "userId": "user-lina", "objectId": "notebook-qc", "action": "comment", "sensitivity": "internal" } + ] + }, + { + "id": "project-atlas", + "title": "Atlas Methods Review", + "visibility": "private", + "sensitivity": "internal", + "memberships": [ + { "userId": "user-lina", "role": "admin" }, + { "userId": "user-omar", "role": "viewer" } + ], + "objectGrants": [ + { "userId": "user-lina", "objectId": "review-notes", "action": "edit", "sensitivity": "internal" } + ] + } + ], + "sessions": [ + { + "id": "sess-ada-known", + "userId": "user-ada", + "startedAt": "2026-05-16T08:15:00.000Z", + "lastSeenAt": "2026-05-16T14:30:00.000Z", + "ipCountry": "US", + "deviceFingerprint": "macbook-lab-a", + "trustedDevice": true, + "assuranceLevel": "mfa" + }, + { + "id": "sess-ada-new", + "userId": "user-ada", + "startedAt": "2026-05-16T13:45:00.000Z", + "lastSeenAt": "2026-05-16T14:45:00.000Z", + "ipCountry": "RO", + "deviceFingerprint": "unknown-browser-77", + "trustedDevice": false, + "assuranceLevel": "password" + }, + { + "id": "sess-lina-known", + "userId": "user-lina", + "startedAt": "2026-05-16T11:20:00.000Z", + "lastSeenAt": "2026-05-16T14:55:00.000Z", + "ipCountry": "US", + "deviceFingerprint": "northbridge-managed-2", + "trustedDevice": true, + "assuranceLevel": "mfa" + }, + { + "id": "sess-omar-known", + "userId": "user-omar", + "startedAt": "2026-05-15T17:00:00.000Z", + "lastSeenAt": "2026-05-16T10:00:00.000Z", + "ipCountry": "US", + "deviceFingerprint": "home-laptop", + "trustedDevice": true, + "assuranceLevel": "password" + } + ], + "authEvents": [ + { "userId": "user-ada", "type": "failed_login", "at": "2026-05-16T12:52:00.000Z", "ipCountry": "RO", "deviceFingerprint": "unknown-browser-77", "success": false }, + { "userId": "user-ada", "type": "failed_login", "at": "2026-05-16T12:54:00.000Z", "ipCountry": "RO", "deviceFingerprint": "unknown-browser-77", "success": false }, + { "userId": "user-ada", "type": "failed_login", "at": "2026-05-16T12:58:00.000Z", "ipCountry": "RO", "deviceFingerprint": "unknown-browser-77", "success": false }, + { "userId": "user-ada", "type": "provider_unlinked", "at": "2026-05-16T13:18:00.000Z", "ipCountry": "RO", "deviceFingerprint": "unknown-browser-77", "provider": "github", "success": true }, + { "userId": "user-lina", "type": "saml_assertion_changed", "at": "2026-05-16T14:05:00.000Z", "ipCountry": "US", "deviceFingerprint": "northbridge-managed-2", "provider": "saml", "success": true }, + { "userId": "user-omar", "type": "password_reset_requested", "at": "2026-05-16T09:20:00.000Z", "ipCountry": "US", "deviceFingerprint": "home-laptop", "success": true } + ], + "recoveryRequests": [ + { + "id": "rec-ada-mfa-reset", + "userId": "user-ada", + "type": "mfa_reset", + "requestedAt": "2026-05-16T14:50:00.000Z", + "source": { "ipCountry": "RO", "deviceFingerprint": "unknown-browser-77" }, + "evidence": { + "emailVerified": false, + "institutionalAdminApproved": false, + "mfaBackupCode": false, + "orcidReverified": false, + "deviceTrusted": false + } + }, + { + "id": "rec-lina-saml-rebind", + "userId": "user-lina", + "type": "saml_rebind", + "requestedAt": "2026-05-16T14:35:00.000Z", + "targetProvider": "saml", + "targetSubject": "lina@contractor-mail.example", + "source": { "ipCountry": "US", "deviceFingerprint": "northbridge-managed-2" }, + "evidence": { + "emailVerified": true, + "institutionalAdminApproved": false, + "mfaBackupCode": true, + "orcidReverified": true, + "deviceTrusted": true + } + }, + { + "id": "rec-omar-password", + "userId": "user-omar", + "type": "password_reset", + "requestedAt": "2026-05-16T10:05:00.000Z", + "source": { "ipCountry": "US", "deviceFingerprint": "home-laptop" }, + "evidence": { + "emailVerified": true, + "institutionalAdminApproved": false, + "mfaBackupCode": false, + "orcidReverified": false, + "deviceTrusted": true + } + } + ] +} diff --git a/identity-recovery-risk-guard/docs/demo.gif b/identity-recovery-risk-guard/docs/demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..054dd8334acac4c5f5941cb052e6346c7ff860f0 GIT binary patch literal 975933 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 literal 0 HcmV?d00001 diff --git a/identity-recovery-risk-guard/docs/demo.svg b/identity-recovery-risk-guard/docs/demo.svg new file mode 100644 index 0000000..dc80206 --- /dev/null +++ b/identity-recovery-risk-guard/docs/demo.svg @@ -0,0 +1,26 @@ + + Identity Recovery Risk Guard demo + Synthetic recovery requests are scored before sensitive project access is restored. + + + Identity Recovery Risk Guard + Account recovery is checked against MFA evidence, sessions, linked identities, and project exposure. + + Recovery request + MFA reset + SAML rebind + + Risk factors + New device + Domain mismatch + + Access decision + Hold recovery + Freeze sensitive grants + + + + Audit digest + risk score, recovery packet, session action, project hold + + diff --git a/identity-recovery-risk-guard/docs/requirement-map.md b/identity-recovery-risk-guard/docs/requirement-map.md new file mode 100644 index 0000000..6a172e6 --- /dev/null +++ b/identity-recovery-risk-guard/docs/requirement-map.md @@ -0,0 +1,19 @@ +# Requirement Map + +This module maps issue #11 to a focused recovery-risk control layer for User & Project Management. + +| Issue #11 requirement | Implementation | +| --- | --- | +| Email/password login with 2FA | `mfa_reset` and `password_reset` requests evaluate MFA backup-code, verified email, and device evidence before access is restored. | +| OAuth integrations and account linking | Linked identity records model email, ORCID, GitHub, Google, and SAML providers; relinks are checked for subject changes. | +| Institutional login via SAML | `saml_rebind` requests require trusted institutional domains and institution-admin approval. | +| Account linking for unified identity | `linked_identity_subject_changed` findings detect identity subject drift before project access is restored. | +| Public/private profile and attribution safety | Risky recovery decisions hold profile attribution changes until identity is reviewed. | +| Project spaces and linked collaborators | Project memberships and object grants are scanned for owner/admin exposure and sensitive project access. | +| Role-based access | Owner/admin roles trigger project access holds during high-risk recovery. | +| Object-level control | Restricted datasets and download grants are held separately from general project membership. | +| Project audit log | `auditEvents` records deterministic hashes for risk scoring, decisions, review packets, project holds, and session actions. | + +## Distinctness + +Existing issue #11 submissions cover broad RBAC, workspace governance, member offboarding, institutional recertification, anonymous-review escrow, and identity merge/export. This slice focuses on account recovery and active-session risk before access restoration. It is designed to sit in front of those systems and prevent a compromised recovery flow from inheriting sensitive project access. diff --git a/identity-recovery-risk-guard/package.json b/identity-recovery-risk-guard/package.json new file mode 100644 index 0000000..548ce27 --- /dev/null +++ b/identity-recovery-risk-guard/package.json @@ -0,0 +1,12 @@ +{ + "name": "identity-recovery-risk-guard", + "version": "1.0.0", + "type": "module", + "private": true, + "scripts": { + "check": "node --check src/identity-recovery-risk-guard.js && node --check scripts/demo.js && node --check scripts/write-demo-gif.js && node --check test/identity-recovery-risk-guard.test.js", + "test": "node --test test/identity-recovery-risk-guard.test.js", + "demo": "node scripts/demo.js", + "demo:gif": "node scripts/write-demo-gif.js" + } +} diff --git a/identity-recovery-risk-guard/scripts/demo.js b/identity-recovery-risk-guard/scripts/demo.js new file mode 100644 index 0000000..b4b7af1 --- /dev/null +++ b/identity-recovery-risk-guard/scripts/demo.js @@ -0,0 +1,34 @@ +import { readFileSync } from "node:fs"; +import { dirname, join } from "node:path"; +import { fileURLToPath } from "node:url"; +import { evaluateIdentityRecoveryRisk } from "../src/identity-recovery-risk-guard.js"; + +const root = dirname(dirname(fileURLToPath(import.meta.url))); +const sample = JSON.parse(readFileSync(join(root, "data", "sample-recovery-cases.json"), "utf8")); +const report = evaluateIdentityRecoveryRisk(sample); + +console.log(JSON.stringify({ + digest: report.evidenceDigest, + summary: report.summary, + blockedRecoveries: report.recoveryCases + .filter((item) => item.severity === "critical" || item.severity === "high") + .map((item) => ({ + requestId: item.requestId, + user: item.userName, + type: item.type, + severity: item.severity, + riskScore: item.riskScore, + factors: item.factors + })), + decisions: report.decisions.map((decision) => ({ + requestId: decision.requestId, + recovery: decision.recovery, + projectAccess: decision.projectAccess, + sessions: decision.sessions + })), + requiredReviewPackets: report.recoveryPackets.map((packet) => ({ + requestId: packet.requestId, + reviewers: packet.requiredReviewers, + missingEvidence: packet.missingEvidence + })) +}, null, 2)); diff --git a/identity-recovery-risk-guard/scripts/write-demo-gif.js b/identity-recovery-risk-guard/scripts/write-demo-gif.js new file mode 100644 index 0000000..3d9927c --- /dev/null +++ b/identity-recovery-risk-guard/scripts/write-demo-gif.js @@ -0,0 +1,118 @@ +import { writeFileSync } from "node:fs"; +import { dirname, join } from "node:path"; +import { fileURLToPath } from "node:url"; + +const root = dirname(dirname(fileURLToPath(import.meta.url))); +const out = join(root, "docs", "demo.gif"); + +function u16(value) { + return String.fromCharCode(value & 255, (value >> 8) & 255); +} + +function color(r, g, b) { + return String.fromCharCode(r, g, b); +} + +function minCodeSize(colorCount) { + return Math.max(2, Math.ceil(Math.log2(colorCount))); +} + +function packCodes(codes, width) { + let bits = 0; + let bitCount = 0; + const bytes = []; + for (const code of codes) { + bits |= code << bitCount; + bitCount += width; + while (bitCount >= 8) { + bytes.push(bits & 255); + bits >>= 8; + bitCount -= 8; + } + } + if (bitCount > 0) bytes.push(bits & 255); + return bytes; +} + +function imageData(indices, paletteSize) { + const size = minCodeSize(paletteSize); + const clear = 1 << size; + const end = clear + 1; + const width = size + 1; + const codes = [clear]; + for (let index = 0; index < indices.length; index += 4) { + if (index > 0) codes.push(clear); + codes.push(...indices.slice(index, index + 4)); + } + codes.push(end); + const bytes = packCodes(codes, width); + const blocks = []; + for (let index = 0; index < bytes.length; index += 255) { + const chunk = bytes.slice(index, index + 255); + blocks.push(String.fromCharCode(chunk.length, ...chunk)); + } + return String.fromCharCode(size) + blocks.join("") + "\x00"; +} + +function frame(width, height, indices, delayCs, paletteSize) { + return [ + "\x21\xF9\x04\x04", + u16(delayCs), + "\x00\x00", + "\x2C", + u16(0), + u16(0), + u16(width), + u16(height), + "\x00", + imageData(indices, paletteSize) + ].join(""); +} + +function makeFrame(width, height, alertIndex) { + const pixels = new Array(width * height).fill(0); + const fill = (x0, y0, x1, y1, idx) => { + for (let y = y0; y < y1; y += 1) { + for (let x = x0; x < x1; x += 1) pixels[y * width + x] = idx; + } + }; + + fill(0, 0, width, Math.floor(height * 0.15), 1); + fill(Math.floor(width * 0.04), Math.floor(height * 0.24), Math.floor(width * 0.30), Math.floor(height * 0.44), 2); + fill(Math.floor(width * 0.37), Math.floor(height * 0.24), Math.floor(width * 0.63), Math.floor(height * 0.44), alertIndex); + fill(Math.floor(width * 0.70), Math.floor(height * 0.24), Math.floor(width * 0.96), Math.floor(height * 0.44), 3); + fill(Math.floor(width * 0.08), Math.floor(height * 0.60), Math.floor(width * 0.30), Math.floor(height * 0.72), 4); + fill(Math.floor(width * 0.39), Math.floor(height * 0.60), Math.floor(width * 0.61), Math.floor(height * 0.72), 5); + fill(Math.floor(width * 0.70), Math.floor(height * 0.60), Math.floor(width * 0.92), Math.floor(height * 0.72), 6); + fill(Math.floor(width * 0.08), Math.floor(height * 0.84), Math.floor(width * 0.92), Math.floor(height * 0.90), alertIndex); + return pixels; +} + +const width = 960; +const height = 540; +const palette = [ + color(248, 250, 252), + color(15, 23, 42), + color(219, 234, 254), + color(220, 252, 231), + color(185, 28, 28), + color(37, 99, 235), + color(180, 83, 9), + color(255, 255, 255) +].join(""); + +const gif = [ + "GIF89a", + u16(width), + u16(height), + "\xF2\x00\x00", + palette, + "\x21\xFF\x0BNETSCAPE2.0\x03\x01\x00\x00\x00", + frame(width, height, makeFrame(width, height, 4), 85, 8), + frame(width, height, makeFrame(width, height, 6), 85, 8), + frame(width, height, makeFrame(width, height, 5), 85, 8), + ";" +].join(""); + +writeFileSync(out, Buffer.from(gif, "binary")); +console.log(`wrote ${out}`); diff --git a/identity-recovery-risk-guard/src/identity-recovery-risk-guard.js b/identity-recovery-risk-guard/src/identity-recovery-risk-guard.js new file mode 100644 index 0000000..023ed37 --- /dev/null +++ b/identity-recovery-risk-guard/src/identity-recovery-risk-guard.js @@ -0,0 +1,431 @@ +import { createHash } from "node:crypto"; + +const HOUR_MS = 60 * 60 * 1000; +const SENSITIVE_LEVELS = new Set(["restricted", "regulated", "human-subjects"]); +const ELEVATED_ROLES = new Set(["owner", "admin"]); + +function stableHash(value) { + return createHash("sha256").update(JSON.stringify(value)).digest("hex").slice(0, 16); +} + +function asDate(value) { + const date = new Date(value); + if (Number.isNaN(date.getTime())) throw new Error(`Invalid date: ${value}`); + return date; +} + +function hoursBetween(start, end) { + return (asDate(end).getTime() - asDate(start).getTime()) / HOUR_MS; +} + +function userById(input) { + return new Map((input.users ?? []).map((user) => [user.id, user])); +} + +function projectsForUser(input, userId) { + return (input.projects ?? []) + .map((project) => { + const membership = (project.memberships ?? []).find((item) => item.userId === userId); + const grants = (project.objectGrants ?? []).filter((grant) => grant.userId === userId); + if (!membership && grants.length === 0) return null; + return { + projectId: project.id, + title: project.title, + visibility: project.visibility, + sensitivity: project.sensitivity, + role: membership?.role ?? "object-grantee", + grants + }; + }) + .filter(Boolean); +} + +function sessionsForRequest(input, request) { + return (input.sessions ?? []).filter((session) => session.userId === request.userId && !session.revokedAt); +} + +function recentEventsForRequest(input, request) { + const windowHours = input.policy?.recentWindowHours ?? 72; + return (input.authEvents ?? []).filter((event) => { + if (event.userId !== request.userId) return false; + const delta = hoursBetween(event.at, request.requestedAt); + return delta >= 0 && delta <= windowHours; + }); +} + +function linkedIdentity(user, provider) { + return (user.linkedIdentities ?? []).find((identity) => identity.provider === provider); +} + +function domainOf(subject = "") { + const match = subject.toLowerCase().match(/@([^@]+)$/); + return match?.[1] ?? ""; +} + +function trustedDomain(input, domain) { + return (input.policy?.trustedInstitutionDomains ?? []).includes(domain); +} + +function severityFromPoints(points) { + if (points >= 80) return "critical"; + if (points >= 55) return "high"; + if (points >= 30) return "medium"; + return "low"; +} + +function addFactor(factors, code, points, message, evidence = {}) { + factors.push({ code, points, message, evidence }); +} + +function exposureSummary(input, request) { + const projects = projectsForUser(input, request.userId); + const elevatedProjects = projects.filter((project) => ELEVATED_ROLES.has(project.role)); + const sensitiveProjects = projects.filter((project) => SENSITIVE_LEVELS.has(project.sensitivity)); + const sensitiveGrants = projects.flatMap((project) => + project.grants + .filter((grant) => SENSITIVE_LEVELS.has(grant.sensitivity) || grant.action === "download") + .map((grant) => ({ ...grant, projectId: project.projectId, projectTitle: project.title })) + ); + + return { + projects, + elevatedProjects, + sensitiveProjects, + sensitiveGrants + }; +} + +function analyzeRequest(input, request, user) { + const sessions = sessionsForRequest(input, request); + const recentEvents = recentEventsForRequest(input, request); + const exposure = exposureSummary(input, request); + const factors = []; + const evidence = request.evidence ?? {}; + const source = request.source ?? {}; + const sourceMatchesTrustedSession = sessions.some( + (session) => session.trustedDevice && session.deviceFingerprint === source.deviceFingerprint && session.ipCountry === source.ipCountry + ); + const suspiciousSessions = sessions.filter( + (session) => !session.trustedDevice || session.deviceFingerprint !== source.deviceFingerprint || session.ipCountry !== source.ipCountry + ); + const failedLogins = recentEvents.filter((event) => event.type === "failed_login" && event.success === false); + + if (request.type === "mfa_reset" && user.mfa?.enrolled && !evidence.mfaBackupCode && !evidence.institutionalAdminApproved) { + addFactor(factors, "mfa_reset_without_strong_factor", 32, "MFA reset is missing backup-code or institutional-admin evidence", { + backupCode: Boolean(evidence.mfaBackupCode), + institutionalAdminApproved: Boolean(evidence.institutionalAdminApproved) + }); + } + + if ((request.type === "email_change" || request.type === "mfa_reset" || request.type === "password_reset") && !evidence.emailVerified) { + addFactor(factors, "email_not_verified", 18, "Recovery request has not verified the primary email channel"); + } + + if (!sourceMatchesTrustedSession && !evidence.deviceTrusted) { + addFactor(factors, "new_or_untrusted_device", 18, "Recovery request originated from a device that does not match a trusted session", { + sourceDevice: source.deviceFingerprint, + sourceCountry: source.ipCountry + }); + } + + if (suspiciousSessions.length > 0) { + addFactor(factors, "suspicious_active_sessions", 15, "Active sessions include a new device, lower assurance, or country mismatch", { + sessionIds: suspiciousSessions.map((session) => session.id).sort() + }); + } + + if (failedLogins.length >= 3) { + addFactor(factors, "failed_login_cluster", 16, "Recent failed-login cluster happened before the recovery request", { + count: failedLogins.length + }); + } + + if (request.type === "oauth_relink" || request.type === "saml_rebind") { + const existing = linkedIdentity(user, request.targetProvider); + const targetChanged = existing && existing.subject !== request.targetSubject; + if (targetChanged && !evidence.orcidReverified) { + addFactor(factors, "linked_identity_subject_changed", 21, "Linked identity subject changed without independent identity re-verification", { + provider: request.targetProvider, + previousSubject: existing.subject, + requestedSubject: request.targetSubject + }); + } + } + + if (request.type === "saml_rebind") { + const targetDomain = domainOf(request.targetSubject); + if (!trustedDomain(input, targetDomain) || targetDomain !== user.institutionDomain) { + addFactor(factors, "saml_domain_mismatch", 30, "SAML rebind target is outside the user's trusted institution domain", { + targetDomain, + expectedDomain: user.institutionDomain + }); + } + if (!evidence.institutionalAdminApproved) { + addFactor(factors, "missing_institution_admin_approval", 20, "SAML rebind requires institution-admin approval before access restoration"); + } + } + + if (exposure.elevatedProjects.length > 0) { + addFactor(factors, "elevated_project_role_exposure", 12, "User controls owner/admin roles that should be held during risky recovery", { + projectIds: exposure.elevatedProjects.map((project) => project.projectId).sort() + }); + } + + if (exposure.sensitiveProjects.length > 0 || exposure.sensitiveGrants.length > 0) { + addFactor(factors, "sensitive_research_access_exposure", 14, "User has restricted project or object access that raises recovery assurance requirements", { + projectIds: exposure.sensitiveProjects.map((project) => project.projectId).sort(), + objectIds: exposure.sensitiveGrants.map((grant) => grant.objectId).sort() + }); + } + + const riskScore = Math.min(100, factors.reduce((sum, factor) => sum + factor.points, 0)); + const severity = severityFromPoints(riskScore); + + return { + request, + user, + sessions, + recentEvents, + exposure, + factors, + riskScore, + severity + }; +} + +function decisionForAnalysis(input, analysis) { + const criticalThreshold = input.policy?.criticalRiskThreshold ?? 80; + const highThreshold = input.policy?.highRiskThreshold ?? 55; + const factorCodes = new Set(analysis.factors.map((factor) => factor.code)); + + if (analysis.riskScore >= criticalThreshold || factorCodes.has("saml_domain_mismatch")) { + return { + recovery: "hold_for_security_review", + projectAccess: "freeze_elevated_roles_and_sensitive_objects", + sessions: "revoke_untrusted_sessions", + payoutOrAttribution: "hold_profile_attribution_changes", + reasons: analysis.factors.map((factor) => factor.code) + }; + } + + if (analysis.riskScore >= highThreshold) { + return { + recovery: "require_institution_or_project_owner_approval", + projectAccess: "temporary_read_only", + sessions: "step_up_reauthentication", + payoutOrAttribution: "manual_review_before_changes", + reasons: analysis.factors.map((factor) => factor.code) + }; + } + + return { + recovery: "approve_with_monitoring", + projectAccess: "preserve_existing_access", + sessions: "keep_sessions_with_reauth_prompt", + payoutOrAttribution: "no_hold", + reasons: analysis.factors.map((factor) => factor.code) + }; +} + +function projectHoldsForAnalysis(input, analysis) { + const threshold = input.policy?.projectHoldRiskThreshold ?? 55; + if (analysis.riskScore < threshold) return []; + + return analysis.exposure.projects.map((project) => ({ + holdId: stableHash({ requestId: analysis.request.id, projectId: project.projectId, role: project.role }), + requestId: analysis.request.id, + userId: analysis.user.id, + projectId: project.projectId, + projectTitle: project.title, + role: project.role, + action: ELEVATED_ROLES.has(project.role) ? "freeze_role_changes" : "restrict_sensitive_objects", + heldObjectIds: project.grants + .filter((grant) => SENSITIVE_LEVELS.has(grant.sensitivity) || grant.action === "download") + .map((grant) => grant.objectId) + .sort(), + reason: "recovery_risk_before_access_restoration" + })); +} + +function sessionActionsForAnalysis(analysis) { + return analysis.sessions.map((session) => { + const source = analysis.request.source ?? {}; + const untrusted = !session.trustedDevice || session.deviceFingerprint !== source.deviceFingerprint || session.ipCountry !== source.ipCountry; + return { + actionId: stableHash({ requestId: analysis.request.id, sessionId: session.id }), + requestId: analysis.request.id, + sessionId: session.id, + action: analysis.severity === "critical" && untrusted ? "revoke" : analysis.severity === "low" ? "monitor" : "require_step_up", + reason: untrusted ? "session_does_not_match_recovery_source" : "session_matches_known_recovery_source" + }; + }); +} + +function requiredReviewers(analysis) { + const reviewers = new Set(); + const factorCodes = new Set(analysis.factors.map((factor) => factor.code)); + if (analysis.severity === "critical" || analysis.severity === "high") reviewers.add("security_reviewer"); + if (factorCodes.has("saml_domain_mismatch") || factorCodes.has("missing_institution_admin_approval")) reviewers.add("institution_admin"); + if (analysis.exposure.elevatedProjects.length > 0) reviewers.add("project_owner_delegate"); + if (analysis.exposure.sensitiveGrants.length > 0) reviewers.add("data_steward"); + return [...reviewers].sort(); +} + +function recoveryPacket(analysis, decision) { + const missingEvidence = []; + const evidence = analysis.request.evidence ?? {}; + + if (!evidence.emailVerified) missingEvidence.push("verified_email_channel"); + if (analysis.request.type === "mfa_reset" && !evidence.mfaBackupCode) missingEvidence.push("mfa_backup_code_or_admin_override"); + if (analysis.request.type === "saml_rebind" && !evidence.institutionalAdminApproved) missingEvidence.push("institution_admin_approval"); + if ((analysis.request.type === "oauth_relink" || analysis.request.type === "saml_rebind") && !evidence.orcidReverified) { + missingEvidence.push("independent_identity_reverification"); + } + + return { + packetId: stableHash({ requestId: analysis.request.id, decision }), + requestId: analysis.request.id, + userId: analysis.user.id, + userName: analysis.user.name, + riskScore: analysis.riskScore, + severity: analysis.severity, + decision: decision.recovery, + requiredReviewers: requiredReviewers(analysis), + missingEvidence: [...new Set(missingEvidence)].sort(), + safeNextSteps: decision.recovery === "approve_with_monitoring" + ? ["notify_user", "record_audit_event", "prompt_session_reauthentication"] + : ["freeze_sensitive_project_access", "collect_missing_evidence", "record_security_review"] + }; +} + +function findingFromFactor(analysis, factor) { + return { + id: stableHash({ requestId: analysis.request.id, code: factor.code, evidence: factor.evidence }), + requestId: analysis.request.id, + userId: analysis.user.id, + code: factor.code, + severity: severityFromPoints(factor.points + Math.floor(analysis.riskScore / 4)), + points: factor.points, + message: factor.message, + evidence: factor.evidence ?? {} + }; +} + +function auditEvents(analyses, decisions, packets, projectHolds, sessionActions) { + const events = [ + ...analyses.map((analysis) => ({ + type: "recovery_risk_scored", + requestId: analysis.request.id, + userId: analysis.user.id, + riskScore: analysis.riskScore, + severity: analysis.severity, + digest: stableHash({ requestId: analysis.request.id, factors: analysis.factors }) + })), + ...decisions.map((decision) => ({ + type: "recovery_decision_recorded", + requestId: decision.requestId, + recovery: decision.recovery, + projectAccess: decision.projectAccess, + digest: stableHash(decision) + })), + ...packets.map((packet) => ({ + type: "recovery_packet_created", + requestId: packet.requestId, + packetId: packet.packetId, + reviewers: packet.requiredReviewers, + digest: stableHash(packet) + })), + ...projectHolds.map((hold) => ({ + type: "project_access_hold_created", + requestId: hold.requestId, + projectId: hold.projectId, + action: hold.action, + digest: stableHash(hold) + })), + ...sessionActions + .filter((action) => action.action === "revoke" || action.action === "require_step_up") + .map((action) => ({ + type: "session_action_required", + requestId: action.requestId, + sessionId: action.sessionId, + action: action.action, + digest: stableHash(action) + })) + ]; + + return events.map((event) => ({ + ...event, + eventId: stableHash(event) + })); +} + +function severityRank(severity) { + return { critical: 0, high: 1, medium: 2, low: 3 }[severity] ?? 4; +} + +export function evaluateIdentityRecoveryRisk(input, options = {}) { + const generatedAt = options.generatedAt ?? input.generatedAt ?? new Date().toISOString(); + const users = userById(input); + const analyses = (input.recoveryRequests ?? []).map((request) => { + const user = users.get(request.userId); + if (!user) throw new Error(`Unknown user for recovery request: ${request.userId}`); + return analyzeRequest(input, request, user); + }); + + const decisions = analyses.map((analysis) => ({ + requestId: analysis.request.id, + userId: analysis.user.id, + ...decisionForAnalysis(input, analysis) + })); + const findings = analyses + .flatMap((analysis) => analysis.factors.map((factor) => findingFromFactor(analysis, factor))) + .sort((a, b) => severityRank(a.severity) - severityRank(b.severity) || b.points - a.points || a.id.localeCompare(b.id)); + const projectHolds = analyses.flatMap((analysis) => projectHoldsForAnalysis(input, analysis)); + const sessionActions = analyses.flatMap((analysis) => sessionActionsForAnalysis(analysis)); + const packets = analyses.map((analysis) => recoveryPacket( + analysis, + decisions.find((decision) => decision.requestId === analysis.request.id) + )); + const events = auditEvents(analyses, decisions, packets, projectHolds, sessionActions); + + const report = { + generatedAt, + summary: { + requestsReviewed: analyses.length, + criticalRequests: analyses.filter((analysis) => analysis.severity === "critical").length, + highRequests: analyses.filter((analysis) => analysis.severity === "high").length, + projectHolds: projectHolds.length, + sessionRevocations: sessionActions.filter((action) => action.action === "revoke").length, + missingEvidenceItems: packets.reduce((sum, packet) => sum + packet.missingEvidence.length, 0) + }, + recoveryCases: analyses.map((analysis) => ({ + requestId: analysis.request.id, + userId: analysis.user.id, + userName: analysis.user.name, + type: analysis.request.type, + riskScore: analysis.riskScore, + severity: analysis.severity, + factors: analysis.factors.map((factor) => factor.code), + exposedProjectIds: analysis.exposure.projects.map((project) => project.projectId).sort() + })), + findings, + decisions, + projectHolds, + sessionActions, + recoveryPackets: packets, + auditEvents: events + }; + + return { + ...report, + evidenceDigest: stableHash({ + generatedAt, + summary: report.summary, + recoveryCases: report.recoveryCases, + decisions: report.decisions, + projectHolds: report.projectHolds, + sessionActions: report.sessionActions, + auditEvents: report.auditEvents.map((event) => event.eventId) + }) + }; +} diff --git a/identity-recovery-risk-guard/test/identity-recovery-risk-guard.test.js b/identity-recovery-risk-guard/test/identity-recovery-risk-guard.test.js new file mode 100644 index 0000000..7dd553d --- /dev/null +++ b/identity-recovery-risk-guard/test/identity-recovery-risk-guard.test.js @@ -0,0 +1,54 @@ +import assert from "node:assert/strict"; +import { readFileSync } from "node:fs"; +import { dirname, join } from "node:path"; +import { fileURLToPath } from "node:url"; +import { describe, it } from "node:test"; +import { evaluateIdentityRecoveryRisk } from "../src/identity-recovery-risk-guard.js"; + +const root = dirname(dirname(fileURLToPath(import.meta.url))); +const sample = JSON.parse(readFileSync(join(root, "data", "sample-recovery-cases.json"), "utf8")); + +describe("evaluateIdentityRecoveryRisk", () => { + it("holds high-risk MFA recovery and revokes untrusted sessions", () => { + const report = evaluateIdentityRecoveryRisk(sample); + const ada = report.recoveryCases.find((item) => item.requestId === "rec-ada-mfa-reset"); + const decision = report.decisions.find((item) => item.requestId === "rec-ada-mfa-reset"); + const sessionActions = report.sessionActions.filter((item) => item.requestId === "rec-ada-mfa-reset"); + + assert.equal(ada.severity, "critical"); + assert.equal(decision.recovery, "hold_for_security_review"); + assert.equal(decision.projectAccess, "freeze_elevated_roles_and_sensitive_objects"); + assert.equal(sessionActions.some((item) => item.sessionId === "sess-ada-known" && item.action === "revoke"), true); + assert.equal(report.projectHolds.some((hold) => hold.projectId === "project-quasar" && hold.action === "freeze_role_changes"), true); + }); + + it("requires institution approval for a SAML rebind outside the trusted domain", () => { + const report = evaluateIdentityRecoveryRisk(sample); + const lina = report.recoveryCases.find((item) => item.requestId === "rec-lina-saml-rebind"); + const packet = report.recoveryPackets.find((item) => item.requestId === "rec-lina-saml-rebind"); + const findingCodes = report.findings.filter((item) => item.requestId === "rec-lina-saml-rebind").map((item) => item.code); + + assert.equal(lina.severity, "high"); + assert.equal(findingCodes.includes("saml_domain_mismatch"), true); + assert.equal(packet.requiredReviewers.includes("institution_admin"), true); + assert.equal(packet.missingEvidence.includes("institution_admin_approval"), true); + }); + + it("approves a low-risk password reset with monitoring", () => { + const report = evaluateIdentityRecoveryRisk(sample); + const omar = report.recoveryCases.find((item) => item.requestId === "rec-omar-password"); + const decision = report.decisions.find((item) => item.requestId === "rec-omar-password"); + + assert.equal(omar.severity, "low"); + assert.equal(decision.recovery, "approve_with_monitoring"); + assert.equal(decision.projectAccess, "preserve_existing_access"); + }); + + it("generates deterministic audit evidence", () => { + const first = evaluateIdentityRecoveryRisk(sample); + const second = evaluateIdentityRecoveryRisk(sample); + + assert.equal(first.evidenceDigest, second.evidenceDigest); + assert.deepEqual(first.auditEvents.map((event) => event.eventId), second.auditEvents.map((event) => event.eventId)); + }); +}); From 5d85c0d9d89c5aa146e820e0c23333a236f7a598 Mon Sep 17 00:00:00 2001 From: newmattock <152253273+newmattock@users.noreply.github.com> Date: Sat, 16 May 2026 07:59:49 -0700 Subject: [PATCH 2/2] Add identity recovery demo video --- identity-recovery-risk-guard/docs/demo.mp4 | Bin 0 -> 192396 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 identity-recovery-risk-guard/docs/demo.mp4 diff --git a/identity-recovery-risk-guard/docs/demo.mp4 b/identity-recovery-risk-guard/docs/demo.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..7cda7d6cbe6855247c0d8e1575d668adc8c8b41a GIT binary patch literal 192396 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

rbG<993UUNcxWctUFGFjz+evu8C&gXHP(HtYZ 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 E11n3?!T