id: "js-unsafe-eval:001" language: js project: unsafe-eval version: "1.0.0" description: "Minimal handler with unsafe eval sink reachable via POST /api/exec" entrypoints: - "POST /api/exec" sinks: - id: "UnsafeEval::handleRequest" path: "src/app.js::handleRequest" kind: "process" location: file: src/app.js line: 12 notes: "eval on user-controlled input" environment: os_image: "node:20-alpine" runtime: node: "20.11.0" 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: "./tests/run-tests.sh" expected_coverage: - outputs/coverage.json expected_traces: - outputs/traces/traces.json ground_truth: summary: "Unit test triggers eval sink with payload {code: '1+2'}" evidence_files: - "../benchmark/truth/js-unsafe-eval.json" sandbox: network: loopback privileges: rootless redaction: pii: false policy: "benchmark-default/v1"