- 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: "c-unsafe-system:001"
|
|
language: c
|
|
project: unsafe-system
|
|
version: "1.0.0"
|
|
description: "Command injection sink: user input passed directly to system()."
|
|
entrypoints:
|
|
- "main(argv)"
|
|
sinks:
|
|
- id: "UnsafeSystem::main"
|
|
path: "src/main.c::main"
|
|
kind: "command"
|
|
location:
|
|
file: src/main.c
|
|
line: 21
|
|
notes: "Untrusted input concatenated into shell command and executed."
|
|
environment:
|
|
os_image: "gcc:13-bookworm"
|
|
runtime:
|
|
gcc: "13"
|
|
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: "Running with argument 'echo OK' executes system() with user-controlled payload."
|
|
evidence_files:
|
|
- "../../../benchmark/truth/c-unsafe-system.json"
|
|
sandbox:
|
|
network: loopback
|
|
privileges: rootless
|
|
redaction:
|
|
pii: false
|
|
policy: "benchmark-default/v1"
|