- Introduced a new JSON fixture `receipt-input.json` containing base, environmental, and threat metrics for CVSS scoring. - Added corresponding SHA256 hash file `receipt-input.sha256` to ensure integrity of the JSON fixture.
49 lines
1.2 KiB
YAML
49 lines
1.2 KiB
YAML
id: "java-spring-deserialize:201"
|
|
language: java
|
|
project: spring-deserialize
|
|
version: "1.0.0"
|
|
description: "Java deserialization sink reachable via POST /api/upload"
|
|
entrypoints:
|
|
- "POST /api/upload"
|
|
sinks:
|
|
- id: "JavaDeserialize::handleRequest"
|
|
path: "bench.reachability.App.handleRequest"
|
|
kind: "custom"
|
|
location:
|
|
file: src/App.java
|
|
line: 9
|
|
notes: "java.io.ObjectInputStream on user-controlled payload"
|
|
environment:
|
|
os_image: "eclipse-temurin:21-jdk"
|
|
runtime:
|
|
java: "21"
|
|
source_date_epoch: 1730000000
|
|
resource_limits:
|
|
cpu: "2"
|
|
memory: "4Gi"
|
|
build:
|
|
command: "./build/build.sh"
|
|
source_date_epoch: 1730000000
|
|
outputs:
|
|
artifact_path: outputs/binary.tar.gz
|
|
sbom_path: outputs/sbom.cdx.json
|
|
coverage_path: outputs/coverage.json
|
|
traces_dir: outputs/traces
|
|
attestation_path: outputs/attestation.json
|
|
test:
|
|
command: "./build/build.sh"
|
|
expected_coverage: []
|
|
expected_traces: []
|
|
env:
|
|
JAVA_TOOL_OPTIONS: "-ea"
|
|
ground_truth:
|
|
summary: "Deserialization reachable"
|
|
evidence_files:
|
|
- "../benchmark/truth/java-spring-deserialize.json"
|
|
sandbox:
|
|
network: loopback
|
|
privileges: rootless
|
|
redaction:
|
|
pii: false
|
|
policy: "benchmark-default/v1"
|