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"