원클릭으로
stave-first-evaluation
Run Stave against a tiny example observation and read your first findings — no AWS account required
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Run Stave against a tiny example observation and read your first findings — no AWS account required
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Build Stave from source and verify the binary and control catalog work, adapting to what is already installed
Author, test, and verify a custom Stave control using the forge toolchain
Deploy a known-vulnerable Bishop Fox IAM lab, evaluate it with Stave, and confirm findings match the documented attack paths — trust via an independent oracle
Export Stave observation facts to JSONL/SMT-LIB and derive compound cross-asset chains with Z3, Soufflé, or Prolog — detection CEL alone cannot express
Capture a read-only configuration snapshot of your real AWS account and evaluate it with Stave on a local, deterministic snapshot
Verify cloud infrastructure security using the Stave platform with machine-verifiable contracts at every step
| name | stave-first-evaluation |
| description | Run Stave against a tiny example observation and read your first findings — no AWS account required |
| triggers | ["first findings","see Stave work","what does a finding look like","try Stave without AWS","stave apply example"] |
| requires | ["a built stave binary (run the stave-setup skill first)"] |
Produces real findings from a one-asset example observation so you see the output shape — finding, evidence, reasoning, remediation. No AWS needed.
Time: ~10 minutes.
./stave version # if this fails, run the stave-setup skill
There is no bundled examples/observations/ dir, so create one. NOTE the two
fields that must be exact or stave apply exits 2 (input error):
source MUST be one of deployed | planned | local (NOT "example").schema_version MUST be obs.v0.1.mkdir -p /tmp/stave-demo/obs
cat > /tmp/stave-demo/obs/2026-01-01T000000Z.json << 'EOF'
{
"schema_version": "obs.v0.1",
"source": "deployed",
"generated_by": { "source_type": "manual" },
"captured_at": "2026-01-01T00:00:00Z",
"assets": [
{
"id": "arn:aws:iam::111111111111:user/demo-user",
"type": "aws_iam_user",
"vendor": "aws",
"properties": {
"identity": {
"kind": "user",
"name": "demo-user",
"arn": "arn:aws:iam::111111111111:user/demo-user",
"policies": { "has_admin_access": true, "service_wildcards_granted": true }
}
}
}
]
}
EOF
jq . /tmp/stave-demo/obs/*.json > /dev/null && echo "valid JSON"
./stave apply --observations /tmp/stave-demo/obs/ --eval-time 2026-01-02T00:00:00Z
Expected: 2 violations on demo-user:
CTL.IAM.POLICY.ADMIN.001 (the user has admin access)CTL.IAM.CROSSCLOUD.ADMIN.001Exit code 3 = violations found (0 = clean, 2 = input error, 3 = violations, 4 = internal).
Each finding shows: the control + asset, evidence (when the violation began), the root-cause property that triggered it, and remediation guidance.
./stave apply --observations /tmp/stave-demo/obs/ --eval-time 2026-01-02T00:00:00Z --format json
./stave apply --observations /tmp/stave-demo/obs/ --eval-time 2026-01-02T00:00:00Z --format sarif
JSON follows the stable out.v0.1 schema; SARIF carries a runs array for
code-scanning tools.
You've produced findings from an observation and understand the output + exit
codes. Next: lab-validation (needs a sandbox AWS account).