Add tests and implement timeline ingestion options with NATS and Redis subscribers

- Introduced `BinaryReachabilityLifterTests` to validate binary lifting functionality.
- Created `PackRunWorkerOptions` for configuring worker paths and execution persistence.
- Added `TimelineIngestionOptions` for configuring NATS and Redis ingestion transports.
- Implemented `NatsTimelineEventSubscriber` for subscribing to NATS events.
- Developed `RedisTimelineEventSubscriber` for reading from Redis Streams.
- Added `TimelineEnvelopeParser` to normalize incoming event envelopes.
- Created unit tests for `TimelineEnvelopeParser` to ensure correct field mapping.
- Implemented `TimelineAuthorizationAuditSink` for logging authorization outcomes.
This commit is contained in:
StellaOps Bot
2025-12-03 09:46:48 +02:00
parent e923880694
commit 35c8f9216f
520 changed files with 4416 additions and 31492 deletions

View File

@@ -0,0 +1,22 @@
{
"_type": "https://in-toto.io/Statement/v0.1",
"predicate": {
"buildType": "stub",
"builder": {
"id": "stub"
},
"metadata": {
"buildFinishedOn": "1970-01-01T00:00:00Z",
"buildStartedOn": "1970-01-01T00:00:00Z"
}
},
"predicateType": "https://slsa.dev/provenance/v0.2",
"subject": [
{
"digest": {
"sha256": "stub"
},
"name": "c-guarded-system:001"
}
]
}

View File

@@ -0,0 +1,9 @@
{
"files": [
{
"path": "src/main.c",
"functions": ["main", "run_guarded"],
"coverage": 1.0
}
]
}

View File

@@ -0,0 +1,6 @@
{
"events": [
{"path": "src/main.c::main", "type": "entry"},
{"path": "src/main.c::run_guarded", "type": "call"}
]
}

View File

@@ -0,0 +1,22 @@
{
"_type": "https://in-toto.io/Statement/v0.1",
"predicate": {
"buildType": "stub",
"builder": {
"id": "stub"
},
"metadata": {
"buildFinishedOn": "1970-01-01T00:00:00Z",
"buildStartedOn": "1970-01-01T00:00:00Z"
}
},
"predicateType": "https://slsa.dev/provenance/v0.2",
"subject": [
{
"digest": {
"sha256": "stub"
},
"name": "c-memcpy-overflow:001"
}
]
}

View File

@@ -0,0 +1,9 @@
{
"files": [
{
"path": "src/main.c",
"functions": ["main", "process"],
"coverage": 1.0
}
]
}

View File

@@ -0,0 +1,6 @@
{
"events": [
{"path": "src/main.c::main", "type": "entry"},
{"path": "src/main.c::process", "type": "call"}
]
}

View File

@@ -0,0 +1,22 @@
{
"_type": "https://in-toto.io/Statement/v0.1",
"predicate": {
"buildType": "stub",
"builder": {
"id": "stub"
},
"metadata": {
"buildFinishedOn": "1970-01-01T00:00:00Z",
"buildStartedOn": "1970-01-01T00:00:00Z"
}
},
"predicateType": "https://slsa.dev/provenance/v0.2",
"subject": [
{
"digest": {
"sha256": "stub"
},
"name": "c-unsafe-system:001"
}
]
}

View File

@@ -0,0 +1,9 @@
{
"files": [
{
"path": "src/main.c",
"functions": ["main", "run_command"],
"coverage": 1.0
}
]
}

View File

@@ -0,0 +1,6 @@
{
"events": [
{"path": "src/main.c::main", "type": "entry"},
{"path": "src/main.c::run_command", "type": "call"}
]
}

View File

@@ -0,0 +1,22 @@
{
"_type": "https://in-toto.io/Statement/v0.1",
"predicate": {
"buildType": "stub",
"builder": {
"id": "stub"
},
"metadata": {
"buildFinishedOn": "1970-01-01T00:00:00Z",
"buildStartedOn": "1970-01-01T00:00:00Z"
}
},
"predicateType": "https://slsa.dev/provenance/v0.2",
"subject": [
{
"digest": {
"sha256": "stub"
},
"name": "js-express-eval:003"
}
]
}

View File

@@ -0,0 +1,14 @@
{
"bomFormat": "CycloneDX",
"components": [],
"metadata": {
"component": {
"name": "express-eval",
"type": "application",
"version": "1.0.0"
},
"timestamp": "1970-01-01T00:00:00Z"
},
"specVersion": "1.5",
"version": 1
}

View File

@@ -0,0 +1,22 @@
{
"_type": "https://in-toto.io/Statement/v0.1",
"predicate": {
"buildType": "stub",
"builder": {
"id": "stub"
},
"metadata": {
"buildFinishedOn": "1970-01-01T00:00:00Z",
"buildStartedOn": "1970-01-01T00:00:00Z"
}
},
"predicateType": "https://slsa.dev/provenance/v0.2",
"subject": [
{
"digest": {
"sha256": "stub"
},
"name": "js-express-guarded:004"
}
]
}

View File

@@ -0,0 +1,14 @@
{
"bomFormat": "CycloneDX",
"components": [],
"metadata": {
"component": {
"name": "express-guarded",
"type": "application",
"version": "1.0.0"
},
"timestamp": "1970-01-01T00:00:00Z"
},
"specVersion": "1.5",
"version": 1
}

View File

@@ -0,0 +1,22 @@
{
"_type": "https://in-toto.io/Statement/v0.1",
"predicate": {
"buildType": "stub",
"builder": {
"id": "stub"
},
"metadata": {
"buildFinishedOn": "1970-01-01T00:00:00Z",
"buildStartedOn": "1970-01-01T00:00:00Z"
}
},
"predicateType": "https://slsa.dev/provenance/v0.2",
"subject": [
{
"digest": {
"sha256": "stub"
},
"name": "js-fastify-template:005"
}
]
}

View File

@@ -0,0 +1,14 @@
{
"bomFormat": "CycloneDX",
"components": [],
"metadata": {
"component": {
"name": "fastify-template",
"type": "application",
"version": "1.0.0"
},
"timestamp": "1970-01-01T00:00:00Z"
},
"specVersion": "1.5",
"version": 1
}

View File

@@ -0,0 +1,22 @@
{
"_type": "https://in-toto.io/Statement/v0.1",
"predicate": {
"buildType": "stub",
"builder": {
"id": "stub"
},
"metadata": {
"buildFinishedOn": "1970-01-01T00:00:00Z",
"buildStartedOn": "1970-01-01T00:00:00Z"
}
},
"predicateType": "https://slsa.dev/provenance/v0.2",
"subject": [
{
"digest": {
"sha256": "stub"
},
"name": "js-guarded-eval:002"
}
]
}

View File

@@ -0,0 +1,14 @@
{
"bomFormat": "CycloneDX",
"components": [],
"metadata": {
"component": {
"name": "guarded-eval",
"type": "application",
"version": "1.0.0"
},
"timestamp": "1970-01-01T00:00:00Z"
},
"specVersion": "1.5",
"version": 1
}

View File

@@ -0,0 +1,22 @@
{
"_type": "https://in-toto.io/Statement/v0.1",
"predicate": {
"buildType": "stub",
"builder": {
"id": "stub"
},
"metadata": {
"buildFinishedOn": "1970-01-01T00:00:00Z",
"buildStartedOn": "1970-01-01T00:00:00Z"
}
},
"predicateType": "https://slsa.dev/provenance/v0.2",
"subject": [
{
"digest": {
"sha256": "stub"
},
"name": "js-unsafe-eval:001"
}
]
}

View File

@@ -0,0 +1,14 @@
{
"bomFormat": "CycloneDX",
"components": [],
"metadata": {
"component": {
"name": "unsafe-eval",
"type": "application",
"version": "1.0.0"
},
"timestamp": "1970-01-01T00:00:00Z"
},
"specVersion": "1.5",
"version": 1
}

View File

@@ -0,0 +1,22 @@
{
"_type": "https://in-toto.io/Statement/v0.1",
"predicate": {
"buildType": "stub",
"builder": {
"id": "stub"
},
"metadata": {
"buildFinishedOn": "1970-01-01T00:00:00Z",
"buildStartedOn": "1970-01-01T00:00:00Z"
}
},
"predicateType": "https://slsa.dev/provenance/v0.2",
"subject": [
{
"digest": {
"sha256": "stub"
},
"name": "py-django-ssti:105"
}
]
}

View File

@@ -0,0 +1,14 @@
{
"bomFormat": "CycloneDX",
"components": [],
"metadata": {
"component": {
"name": "django-ssti",
"type": "application",
"version": "1.0.0"
},
"timestamp": "1970-01-01T00:00:00Z"
},
"specVersion": "1.5",
"version": 1
}