Skip to content

Commit 55166c0

Browse files
committed
Replay RuntimeIdentityGraph via existing blobs
1 parent 2344c25 commit 55166c0

2 files changed

Lines changed: 111 additions & 0 deletions

File tree

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
{
2+
"id": "urn:srcos:runtime-identity-graph:bearbrowser_001",
3+
"type": "RuntimeIdentityGraph",
4+
"specVersion": "2.0.0",
5+
"observedAt": "2026-05-06T22:37:03Z",
6+
"rootComponentRef": "urn:srcos:component:BearBrowser",
7+
"identityVerdict": "degraded",
8+
"nodes": [
9+
{
10+
"nodeId": "app.bearbrowser",
11+
"nodeKind": "app",
12+
"displayName": "BearBrowser",
13+
"processId": 54990,
14+
"bundleOrPackageId": "application.dev.sourceos.BearBrowser",
15+
"verificationVerdict": "valid"
16+
},
17+
{
18+
"nodeId": "child.webcontent.54997",
19+
"nodeKind": "browser-child",
20+
"displayName": "WebContent",
21+
"processId": 54997,
22+
"bundleOrPackageId": "com.apple.WebKit.WebContent",
23+
"verificationVerdict": "degraded"
24+
},
25+
{
26+
"nodeId": "audit.webcontent.54997",
27+
"nodeKind": "audit-token",
28+
"displayName": "WebContent audit token",
29+
"auditIdentity": "audit-token-unresolved",
30+
"verificationVerdict": "ambiguous"
31+
}
32+
],
33+
"edges": [
34+
{
35+
"from": "app.bearbrowser",
36+
"to": "child.webcontent.54997",
37+
"relationship": "spawned"
38+
},
39+
{
40+
"from": "child.webcontent.54997",
41+
"to": "audit.webcontent.54997",
42+
"relationship": "observed-as"
43+
}
44+
],
45+
"evidenceRefs": [
46+
"urn:srcos:telemetry:te_invalid_product_id",
47+
"urn:srcos:telemetry:te_audit_token_unresolved"
48+
],
49+
"userVisibleImpact": "A browser child process launched, but its runtime identity could not be fully resolved.",
50+
"remediationHint": "Verify child-process package identity, audit-token mapping, and broker registration before allowing page load."
51+
}

schemas/RuntimeIdentityGraph.json

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
{
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
3+
"$id": "https://schemas.srcos.ai/v2/RuntimeIdentityGraph.json",
4+
"title": "RuntimeIdentityGraph",
5+
"description": "A runtime identity graph connecting process, package, executable, helper, broker, profile, session, and audit-token identity observations.",
6+
"type": "object",
7+
"additionalProperties": false,
8+
"required": [
9+
"id",
10+
"type",
11+
"specVersion",
12+
"observedAt",
13+
"rootComponentRef",
14+
"identityVerdict",
15+
"nodes"
16+
],
17+
"properties": {
18+
"id": { "type": "string", "pattern": "^urn:srcos:runtime-identity-graph:" },
19+
"type": { "const": "RuntimeIdentityGraph" },
20+
"specVersion": { "type": "string" },
21+
"observedAt": { "type": "string", "format": "date-time" },
22+
"rootComponentRef": { "type": "string", "minLength": 1 },
23+
"identityVerdict": { "enum": ["valid", "degraded", "missing", "ambiguous", "invalid", "unknown"] },
24+
"nodes": {
25+
"type": "array",
26+
"minItems": 1,
27+
"items": {
28+
"type": "object",
29+
"additionalProperties": false,
30+
"required": ["nodeId", "nodeKind", "displayName"],
31+
"properties": {
32+
"nodeId": { "type": "string", "minLength": 1 },
33+
"nodeKind": { "enum": ["app", "daemon", "xpc-service", "browser-child", "terminal-helper", "broker", "extension", "package", "profile", "session", "audit-token", "executable"] },
34+
"displayName": { "type": "string", "minLength": 1 },
35+
"processId": { "type": "integer", "minimum": 0 },
36+
"bundleOrPackageId": { "type": "string" },
37+
"executableDigest": { "type": "string" },
38+
"auditIdentity": { "type": "string" },
39+
"verificationVerdict": { "enum": ["valid", "degraded", "missing", "ambiguous", "invalid", "unknown"] }
40+
}
41+
}
42+
},
43+
"edges": {
44+
"type": "array",
45+
"items": {
46+
"type": "object",
47+
"additionalProperties": false,
48+
"required": ["from", "to", "relationship"],
49+
"properties": {
50+
"from": { "type": "string" },
51+
"to": { "type": "string" },
52+
"relationship": { "enum": ["spawned", "owns", "brokers", "uses-profile", "runs-as", "attests", "packages", "observed-as", "unknown"] }
53+
}
54+
}
55+
},
56+
"evidenceRefs": { "type": "array", "items": { "type": "string" } },
57+
"userVisibleImpact": { "type": "string" },
58+
"remediationHint": { "type": "string" }
59+
}
60+
}

0 commit comments

Comments
 (0)