This commit is contained in:
StellaOps Bot
2025-12-09 09:40:36 +02:00
parent 108d1c64b3
commit 689c656f20
46 changed files with 294 additions and 0 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": "java-micronaut-deserialize:203"
}
]
}

View File

@@ -0,0 +1,13 @@
{
"files": {
"src/Controller.java": {
"lines_covered": [
11,
14,
15,
17
],
"lines_total": 40
}
}
}

View File

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

View File

@@ -0,0 +1,9 @@
{
"entry": "POST /mn/upload",
"notes": "Base64 payload flows into ObjectInputStream without guard",
"path": [
"Controller.handleUpload",
"ObjectInputStream.readObject"
],
"sink": "MicronautDeserialize::handleUpload"
}

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": "java-micronaut-guarded:204"
}
]
}

View File

@@ -0,0 +1,13 @@
{
"files": {
"src/Controller.java": {
"lines_covered": [
12,
13,
15,
17
],
"lines_total": 42
}
}
}

View File

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

View File

@@ -0,0 +1,8 @@
{
"entry": "POST /mn/upload",
"notes": "Guard enforces ALLOW_MN_DESER feature flag; sink not reached by default",
"path": [
"Controller.handleUpload"
],
"sink": "MicronautDeserializeGuarded::handleUpload"
}

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": "java-spring-deserialize:201"
}
]
}

View File

@@ -0,0 +1,14 @@
{
"files": {
"src/App.java": {
"lines_covered": [
9,
15,
16,
17,
19
],
"lines_total": 26
}
}
}

View File

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

View File

@@ -0,0 +1,9 @@
{
"entry": "POST /api/upload",
"notes": "No guard; base64 payload deserialized",
"path": [
"App.handleRequest",
"ObjectInputStream.readObject"
],
"sink": "JavaDeserialize::handleRequest"
}

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": "java-spring-guarded:202"
}
]
}

View File

@@ -0,0 +1,13 @@
{
"files": {
"src/App.java": {
"lines_covered": [
10,
11,
13,
15
],
"lines_total": 29
}
}
}

View File

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

View File

@@ -0,0 +1,8 @@
{
"entry": "POST /api/upload",
"notes": "Guard requires ALLOW_DESER=true; sink not executed by default",
"path": [
"App.handleRequest"
],
"sink": "JavaDeserializeGuarded::handleRequest"
}

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": "java-spring-reflection:205"
}
]
}

View File

@@ -0,0 +1,13 @@
{
"files": {
"src/ReflectController.java": {
"lines_covered": [
7,
13,
14,
15
],
"lines_total": 29
}
}
}

View File

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

View File

@@ -0,0 +1,9 @@
{
"entry": "POST /api/reflect",
"notes": "User controls class name flowing into Class.forName/newInstance",
"path": [
"ReflectController.run",
"Class.forName"
],
"sink": "SpringReflection::run"
}