Command workbench
Copyable snippets extracted from the canonical procedures. Read the linked procedure first for required fixtures, variables, tool versions, expected observations, and controls. Commands are documentation-reviewed examples; they were not run against any target for this manual. A command returning successfully does not establish a security finding.
No matching entries. Clear a filter or try a broader term.
bash · Object, function, and property authorization
Command card#
Open setup, interpretation, and checklist
mkdir -p evidence/authz
chmod 600 A.header B.header
curl -q --noproxy '*' --max-time 10 --header @A.header \
-D evidence/authz/a.h -o evidence/authz/a.json \
http://127.0.0.1:8000/api/documents/O1
curl -q --noproxy '*' --max-time 10 --header @B.header \
-D evidence/authz/b.h -o evidence/authz/b.json \
http://127.0.0.1:8000/api/documents/O1
curl -q --noproxy '*' --max-time 10 --header @B.header \
-o evidence/authz/control.json \
http://127.0.0.1:8000/api/documents/O2bash · Authentication, recovery, federation, and session lifecycle
Command card#
Open setup, interpretation, and checklist
mkdir -p evidence/session
chmod 600 A-before.cookies
curl -q --noproxy '*' --max-time 10 -b A-before.cookies \
-D evidence/session/before.h -o evidence/session/before.json \
http://127.0.0.1:8000/api/me
# Perform the actual logout or device-revocation workflow now.
curl -q --noproxy '*' --max-time 10 -b A-before.cookies \
-D evidence/session/after.h -o evidence/session/after.json \
http://127.0.0.1:8000/api/me
curl -q --noproxy '*' --max-time 10 -o evidence/session/anonymous.json \
http://127.0.0.1:8000/api/mebash · Trace input into queries, commands, and templates
Command card#
Open setup, interpretation, and checklist
mkdir -p evidence/injection
curl -q --noproxy '*' --max-time 10 --get --data-urlencode 'name=BB-LITERAL' \
-o evidence/injection/baseline.txt \
http://127.0.0.1:8000/preview
curl -q --noproxy '*' --max-time 10 --get --data-urlencode 'name={{7*7}}' \
-o evidence/injection/expression-a.txt \
http://127.0.0.1:8000/preview
curl -q --noproxy '*' --max-time 10 --get --data-urlencode 'name={{7*8}}' \
-o evidence/injection/expression-b.txt \
http://127.0.0.1:8000/previewbash · Server-side fetching and network trust boundaries
Command card#
Open setup, interpretation, and checklist
mkdir -p ssrf-canary
printf '%s\n' 'BB-SSRF-CANARY-01' > ssrf-canary/probe.txt
python3 -m http.server 8765 --bind 127.0.0.1 --directory ssrf-canarybash · Server-side fetching and network trust boundaries
Command card#
Open setup, interpretation, and checklist
curl -q --noproxy '*' --max-time 10 --header @A.header \
-H 'Content-Type: application/json' \
--data '{"url":"http://127.0.0.1:8765/probe.txt?case=BB01"}' \
http://127.0.0.1:8000/api/previewhtml · Browser execution, cross-origin reads, and forged actions
Command card#
Open setup, interpretation, and checklist
<!doctype html><meta charset="utf-8"><pre id="result"></pre>
<script>
fetch('http://127.0.0.1:8000/api/me', {credentials: 'include'})
.then(r => r.text())
.then(t => { document.querySelector('#result').textContent = t; })
.catch(() => { document.querySelector('#result').textContent = 'Read blocked or request failed'; });
</script>bash · Browser execution, cross-origin reads, and forged actions
Command card#
Open setup, interpretation, and checklist
python3 -m http.server 8766 --bind 127.0.0.1 --directory browser-probebash · Uploads, downloads, paths, archives, and XML
Command card#
Open setup, interpretation, and checklist
mkdir -p file-lab/public evidence/files
printf '%s\n' 'BB-INSIDE-01' > file-lab/public/inside.txt
printf '%s\n' 'BB-OUTSIDE-01' > file-lab/outside.txt
curl -q --noproxy '*' --max-time 10 --get --header @A.header \
--data-urlencode 'name=inside.txt' \
-o evidence/files/baseline.txt \
http://127.0.0.1:8000/api/download
curl -q --noproxy '*' --max-time 10 --get --header @A.header \
--data-urlencode 'name=../outside.txt' \
-o evidence/files/traversal.txt \
http://127.0.0.1:8000/api/downloadpython · Workflow invariants, replay, idempotency, and races
Command card#
Open setup, interpretation, and checklist
from concurrent.futures import ThreadPoolExecutor
from pathlib import Path
from threading import Barrier
from urllib.request import Request, build_opener, ProxyHandler, HTTPRedirectHandler
from urllib.error import HTTPError
class NoRedirect(HTTPRedirectHandler):
def redirect_request(self, req, fp, code, msg, headers, newurl):
return None
gate = Barrier(2)
token = Path('A.token').read_text().strip()
def attempt(index):
req = Request('http://127.0.0.1:8000/api/invitations/TEST-INVITE/accept',
data=b'{}', method='POST',
headers={'Authorization': 'Bearer ' + token,
'Content-Type': 'application/json'})
gate.wait()
try:
with build_opener(ProxyHandler({}), NoRedirect()).open(req, timeout=10) as response:
return index, response.status, response.read(1024).decode(errors='replace')
except HTTPError as error:
return index, error.code, error.read(1024).decode(errors='replace')
with ThreadPoolExecutor(max_workers=2) as pool:
print(list(pool.map(attempt, range(2))))bash · REST, GraphQL, gRPC, WebSocket, and SSE permission parity
Command card#
Open setup, interpretation, and checklist
mkdir -p evidence/protocols
cat > document-query.json <<'JSON'
{"query":"query($id:ID!){document(id:$id){id title}}","variables":{"id":"O1"}}
JSON
curl -q --noproxy '*' --max-time 10 --header @A.header \
-H 'Content-Type: application/json' --data @document-query.json \
-o evidence/protocols/a.json http://127.0.0.1:8000/graphql
curl -q --noproxy '*' --max-time 10 --header @B.header \
-H 'Content-Type: application/json' --data @document-query.json \
-o evidence/protocols/b.json http://127.0.0.1:8000/graphqlbash · Proxy normalization, cache isolation, and request boundaries
Command card#
Open setup, interpretation, and checklist
mkdir -p evidence/cache
curl -q --noproxy '*' --max-time 10 -D evidence/cache/first.h \
-o evidence/cache/first.txt http://127.0.0.1:8080/bb-cache/case-01
curl -q --noproxy '*' --max-time 10 -D evidence/cache/second.h \
-o evidence/cache/second.txt http://127.0.0.1:8080/bb-cache/case-01
curl -q --noproxy '*' --max-time 10 -D evidence/cache/control.h \
-o evidence/cache/control.txt http://127.0.0.1:8080/bb-cache/case-02bash · OSS lab: pin, install, prove, reset
Freeze source without overwriting work#
Open setup, interpretation, and checklist
mkdir -p ./evidence
git -C ./repo rev-parse --verify 'v1.2.3^{commit}'
git -C ./repo worktree add --detach ../lab-source v1.2.3
git -C ./lab-source rev-parse HEAD > ./evidence/source-commit.txt
git -C ./lab-source status --porcelain=v1 > ./evidence/source-status.txt
git -C ./lab-source submodule status --recursive > ./evidence/submodules.txtbash · OSS lab: pin, install, prove, reset
Review the effective deployment#
Open setup, interpretation, and checklist
docker compose -p bounty-lab -f ./lab-source/compose.yaml config \
> ./evidence/compose-effective.yaml
docker compose -p bounty-lab -f ./lab-source/compose.yaml \
up -d --wait --wait-timeout 120bash · Source review: entry point to protected operation
Local search and modeling cheat sheet#
Open setup, interpretation, and checklist
rg -n --hidden -g '!.git' \
'route\(|router\.|websocket|add_task|enqueue|\.delay\(' ./repo
rg -n --hidden -g '!.git' \
'pickle\.loads|yaml\.load|subprocess\.|child_process|exec\(' ./repo
semgrep scan --oss-only --config ./rules --metrics=off \
--disable-version-check --json \
--output ./evidence/source-leads.json ./repobash · CI and releases: trace untrusted input into privileged work
Triage commands and a safe coding pattern#
Open setup, interpretation, and checklist
rg -n --hidden -g '*.yml' -g '*.yaml' \
'pull_request_target|workflow_run|issue_comment|permissions:|id-token:' \
./repo/.github
rg -n --hidden -g '*.yml' -g '*.yaml' \
'download-artifact|upload-artifact|cache-mode|head\.sha|npm install|make ' \
./repo/.githubyaml · CI and releases: trace untrusted input into privileged work
Triage commands and a safe coding pattern#
Open setup, interpretation, and checklist
- name: Inspect title as data
env:
PR_TITLE: ${{ github.event.pull_request.title }}
run: printf '%s\n' "$PR_TITLE"bash · CI and releases: trace untrusted input into privileged work
Follow identity to the shipped artifact#
Open setup, interpretation, and checklist
gh attestation verify ./dist/product.tar.gz \
--repo OWNER/REPO \
--signer-workflow OWNER/REPO/.github/workflows/release.yml \
--source-digest EXPECTED_COMMIT \
--format json > ./evidence/attestation.jsonbash · Dependencies: from advisory match to reachable impact
Inventory and match locally#
Open setup, interpretation, and checklist
mkdir -p ./evidence
syft dir:./repo -o cyclonedx-json=./evidence/source.cdx.json
syft dir:./release-root -o cyclonedx-json=./evidence/release.cdx.json
osv-scanner scan source --offline -r --format json \
./repo > ./evidence/osv-source.jsoncpp · Libraries and parsers: bounded fuzzing to a minimal reproducer
Harness and build cheat sheet#
Open setup, interpretation, and checklist
#include <cstddef>
#include <cstdint>
#include "product_parser.h"
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
if (size > 65536) return 0;
ProductDocument* doc = product_parse(data, size);
if (doc != nullptr) product_document_free(doc);
return 0;
}bash · Libraries and parsers: bounded fuzzing to a minimal reproducer
Harness and build cheat sheet#
Open setup, interpretation, and checklist
clang++ -g -O1 -fno-omit-frame-pointer \
-fsanitize=fuzzer,address,undefined -fno-sanitize-recover=undefined \
./fuzz_parser.cc ./parser.cc -o ./fuzz_parser
mkdir -p ./corpus ./artifacts ./evidence
./fuzz_parser ./corpus -max_total_time=120 -timeout=2 \
-rss_limit_mb=512 -max_len=65536 -artifact_prefix=./artifacts/bash · Libraries and parsers: bounded fuzzing to a minimal reproducer
Minimize and verify the consumer#
Open setup, interpretation, and checklist
./fuzz_parser -timeout=2 -rss_limit_mb=512 ./artifacts/repro.bin
./fuzz_parser -minimize_crash=1 -max_total_time=60 -timeout=2 -rss_limit_mb=512 \
-exact_artifact_path=./artifacts/minimized.bin ./artifacts/repro.binbash · Cloud IAM: trust, delegation and effective permissions
Command card#
Open setup, interpretation, and checklist
aws --profile lab-low sts get-caller-identity \
--no-cli-pager --cli-connect-timeout 5 --cli-read-timeout 10
aws --profile lab-owner iam get-role --role-name BountyFixture \
--query 'Role.{Arn:Arn,Trust:AssumeRolePolicyDocument}' \
--no-cli-pager --cli-connect-timeout 5 --cli-read-timeout 10
aws --profile lab-low s3api head-object \
--bucket OWNED_BUCKET --key bounty/canary.txt \
--expected-bucket-owner YOUR_ACCOUNT_ID \
--no-cli-pager --cli-connect-timeout 5 --cli-read-timeout 10bash · Object storage, signed URLs and delivery boundaries
Command card#
Open setup, interpretation, and checklist
aws s3api get-object --bucket OWNED_BUCKET \
--key bounty/private-canary.txt --range bytes=0-63 \
--expected-bucket-owner YOUR_ACCOUNT_ID --no-sign-request \
--no-cli-pager --cli-connect-timeout 5 --cli-read-timeout 10 \
./anonymous-canary.bin
aws --profile lab-owner s3 presign \
s3://OWNED_BUCKET/bounty/private-canary.txt \
--expires-in 60 --region YOUR_REGION \
--cli-connect-timeout 5 --cli-read-timeout 10
curl -q --silent --show-error --max-time 10 --max-filesize 1024 \
--dump-header ./delivery.headers \
--output ./delivery-canary.txt \
https://OWNED_DELIVERY_HOST/bounty/private-canary.txtbash · Container and Kubernetes isolation
Command card#
Open setup, interpretation, and checklist
kubectl --context lab-tenant-a --request-timeout=10s \
-n tenant-b auth can-i get secrets/bounty-canary
kubectl --context lab-tenant-a --request-timeout=10s \
-n tenant-a auth can-i create pods
kubectl --context lab-owner --request-timeout=10s \
-n tenant-a get pod bounty-probe \
-o jsonpath='{.spec.serviceAccountName}{"\n"}'
docker --context lab-engine container inspect bounty-probe \
--format '{{json .HostConfig.Privileged}} {{json .HostConfig.Binds}}'bash · Infrastructure configuration: from repository default to deployed impact
Command card#
Open setup, interpretation, and checklist
umask 077
helm template bounty ./trusted-chart \
--values ./fixture-values.yaml > ./fixture-rendered.yaml
terraform -chdir=./lab-iac show -json ./fixture.tfplan \
> ./fixture-plan.json
docker image history OWNED_SYNTHETIC_IMAGE \
--no-trunc --format '{{.CreatedBy}}' \
> ./fixture-history.txt
rg --files-with-matches --fixed-strings \
'BB_SYNTHETIC_SECRET_2026' \
./fixture-plan.json ./fixture-history.txt ./fixture-rendered.yamlbash · DNS, TLS and email trust boundaries
Command card#
Open setup, interpretation, and checklist
timeout 10 dig -r @192.0.2.53 fixture.example AXFR \
+tcp +time=2 +tries=1
timeout 15 openssl s_client -connect tls.fixture.example:443 \
-servername tls.fixture.example \
-verify_hostname tls.fixture.example \
-verify_return_error -brief </dev/null
timeout 20 swaks --config --server relay.fixture.example --port 25 \
--timeout 10 --from probe@sender.fixture.example \
--to receiver@recipient.fixture.example \
--header 'Subject: Bounty relay fixture 2026-01' \
--body 'Synthetic authorized relay test; no action required.'bash · Database, cache, queue and management service boundaries
Command card#
Open setup, interpretation, and checklist
env -u REDISCLI_AUTH timeout 10 redis-cli \
-h 127.0.0.1 -p 16379 --raw GET bounty:canary
timeout 15 psql -X -w \
"host=db.fixture.example port=5432 dbname=bounty_fixture user=lab_low sslmode=verify-full sslrootcert=./fixture-ca.pem connect_timeout=5 options='-c statement_timeout=3000'" \
-v ON_ERROR_STOP=1 \
-c "BEGIN READ ONLY; SELECT marker FROM bounty_canary WHERE id=1; ROLLBACK;"bash · Android components, intents and deep links
Procedure and command sheet#
Open setup, interpretation, and checklist
adb devices -l
adb -s DEVICE_SERIAL shell pm path com.example.lab
adb -s DEVICE_SERIAL shell dumpsys package com.example.lab
apkanalyzer apk summary ./app.apk
apkanalyzer manifest print ./app.apk
apkanalyzer manifest permissions ./app.apkbash · Android components, intents and deep links
Procedure and command sheet#
Open setup, interpretation, and checklist
adb -s DEVICE_SERIAL shell am start -W -a android.intent.action.VIEW -d 'labapp://item/BB-ANDROID-01' com.example.labbash · Android components, intents and deep links
Native authentication continuation#
Open setup, interpretation, and checklist
rg -n 'code_verifier|code_challenge|redirect_uri|CredentialManager|PublicKeyCredential' ./sourcebash · iOS signing capabilities, links and protected data
Procedure and command sheet#
Open setup, interpretation, and checklist
plutil -p ./Payload/Lab.app/Info.plist
codesign -dv --verbose=4 ./Payload/Lab.app
codesign -d --entitlements - ./Payload/Lab.appbash · iOS signing capabilities, links and protected data
Procedure and command sheet#
Open setup, interpretation, and checklist
rg -n 'SecItem(Add|CopyMatching)|kSecAttrAccessible|kSecAttrAccessGroup|LAContext|evaluatePolicy' ./source
rg -n 'openURL|continueUserActivity|WKScriptMessageHandler|containerURL' ./sourcebash · iOS signing capabilities, links and protected data
Native authentication continuation#
Open setup, interpretation, and checklist
rg -n 'ASWebAuthenticationSession|ASAuthorization|code_verifier|redirect_uri|SecKeyCreateSignature' ./sourcebash · Client storage, logs, backup and transport trust
Procedure and command sheet#
Open setup, interpretation, and checklist
rg -n 'Log\.|NSLog|os_log|console\.log|SharedPreferences|UserDefaults' ./source
rg -l --max-filesize 2M 'BB-CLIENT-01' ./lab-export
apkanalyzer manifest print ./app.apkbash · Desktop IPC, Electron bridges and native protocols
Procedure and command sheet#
Open setup, interpretation, and checklist
rg -n 'ipcMain\.(handle|on)|contextBridge|nodeIntegration|contextIsolation|sandbox' ./source
rg -n 'openExternal|setAsDefaultProtocolClient|open-url|second-instance|protocol\.handle' ./source
rg -n 'connectNative|sendNativeMessage|allowed_origins|externally_connectable' ./extensionbash · Desktop IPC, Electron bridges and native protocols
Procedure and command sheet#
Open setup, interpretation, and checklist
open 'labapp://open?item=BB-DESKTOP-01'bash · Update signatures, rollback and privileged installation
Procedure and command sheet#
Open setup, interpretation, and checklist
apksigner verify --verbose --print-certs ./update.apk
codesign -dv --verbose=4 ./Update.app
codesign --verify --deep --strict --verbose=2 ./Update.apppowershell · Update signatures, rollback and privileged installation
Procedure and command sheet#
Open setup, interpretation, and checklist
Get-AuthenticodeSignature -FilePath 'C:\Lab\Update.exe' | Format-List
icacls 'C:\Program Files\ExampleApp'
icacls 'C:\Lab\Update.exe'bash · AI tools: input trust, execution identity and approvals
Command and evidence cheat sheet#
Open setup, interpretation, and checklist
rg -n 'approve|consent|tools/call|audience|tenant_id|workspace_id' ./src
python3 -I -S -m json.tool lab/case.json
python3 -I -S - <<'PY'
import json
from collections import Counter
with open('lab/tool-events.jsonl') as stream:
rows = [json.loads(line) for line in stream if line.strip()]
print(Counter((r['case'], r['decision']) for r in rows))
PYbash · RAG isolation: ingestion, retrieval, citations and revocation
Local command cheat sheet#
Open setup, interpretation, and checklist
python3 -I -S - <<'PY'
import secrets
for owner in ('A', 'B'):
print(owner + '_PRIVATE_' + secrets.token_hex(16))
PY
rg -n 'tenant_id|collection_id|document_id|cache_key|namespace' ./src
python3 -I -S -m json.tool lab/retrieval-case.jsonbash · Contract state: authorization, callbacks and accounting
Harness and command cheat sheet#
Open setup, interpretation, and checklist
git rev-parse HEAD
forge --version
rg -n 'ffi|rpc_endpoints|createFork|createSelectFork' foundry.toml test
forge test --match-test '^test_BaselineRoundTrip$' -vvvv
forge test --match-test '^test_CallbackInvariant$' -vvvv
forge test --match-test '^test_MinimizedSequence$' -vvvvbash · Contract signatures and oracles: context, freshness and units
Local cheat sheet and case matrix#
Open setup, interpretation, and checklist
rg -n 'ecrecover|nonces|deadline|DOMAIN_SEPARATOR|latestRoundData|decimals' src
forge test --match-test '^test_ValidSignature$' -vvvv
forge test --match-test '^test_ReplayRejected$' -vvvv
forge test --match-test '^test_WrongDomainRejected$' -vvvv
forge test --match-test '^test_StaleFeedRejected$' -vvvv
forge test --match-test '^test_PriceUnitInvariant$' -vvvvbash · Firmware update and boot trust: signed bytes, product binding and rollback
Local inspection cheat sheet#
Open setup, interpretation, and checklist
mkdir -p evidence
sha256sum firmware.bin > evidence/firmware.sha256
file firmware.bin > evidence/firmware-format.txt
binwalk firmware.bin > evidence/firmware-layout.txt
rg -n -i 'signature|rollback|secure_version|board_id|verify' ./sourcebash · Hardware interfaces: production debug access and protected data
Offline command cheat sheet#
Open setup, interpretation, and checklist
rg -n -i 'login|console|debug|jtag|swd|password|private.key' extracted-rootfs
readelf -hW extracted-rootfs/usr/sbin/example-daemon
readelf -lW extracted-rootfs/usr/sbin/example-daemon
sha256sum evidence/uart-capture.binbash · MFA and passkeys: enrollment, proof, replacement, and recovery
Local inspection card#
Open setup, interpretation, and checklist
python3 - <<'PYCODE'
import base64, hashlib, json
from pathlib import Path
x = json.loads(Path('assertion.json').read_text())
s = x['response']['clientDataJSON']
c = json.loads(base64.urlsafe_b64decode(s + '=' * (-len(s) % 4)))
print(json.dumps({
'type': c.get('type'), 'origin': c.get('origin'),
'crossOrigin': c.get('crossOrigin'),
'challenge_sha256': hashlib.sha256(c['challenge'].encode()).hexdigest()
}, indent=2))
PYCODEbash · OAuth, OIDC, and SAML: transaction binding and token trust
Local command card#
Open setup, interpretation, and checklist
mkdir -p evidence/federation
chmod 600 expected.header other-resource.header
curl -q --noproxy '*' --max-time 10 --header @expected.header \
-D evidence/federation/expected.h -o evidence/federation/expected.json \
http://127.0.0.1:8000/api/me
curl -q --noproxy '*' --max-time 10 --header @other-resource.header \
-D evidence/federation/wrong-resource.h -o evidence/federation/wrong-resource.json \
http://127.0.0.1:8000/api/mebash · Request values: duplicate parameters, parser conflicts and downstream queries
Command card: duplicate-preserving local requests#
Open setup, interpretation, and checklist
mkdir -p evidence/parameters
curl -q --noproxy '*' --max-time 10 --header @A.header \
-o evidence/parameters/allowed.txt \
'http://127.0.0.1:8000/api/object-preview?object=O1'
curl -q --noproxy '*' --max-time 10 --header @A.header \
-o evidence/parameters/denied.txt \
'http://127.0.0.1:8000/api/object-preview?object=O2'
curl -q --noproxy '*' --max-time 10 --header @A.header \
-o evidence/parameters/forward.txt \
'http://127.0.0.1:8000/api/object-preview?object=O1&object=O2'
curl -q --noproxy '*' --max-time 10 --header @A.header \
-o evidence/parameters/reverse.txt \
'http://127.0.0.1:8000/api/object-preview?object=O2&object=O1'bash · Webhooks and integration events: authenticity, tenant binding and replay
Command card: signed-body tamper control#
Open setup, interpretation, and checklist
mkdir -p evidence/webhooks
curl -q --noproxy '*' --max-time 10 \
--header @event-valid.headers -H 'Content-Type: application/json' \
--data-binary @event-valid.json \
-D evidence/webhooks/valid.h -o evidence/webhooks/valid.txt \
http://127.0.0.1:8000/webhooks/lab
# Inspect the valid effect, then restore the local fixture before this case.
curl -q --noproxy '*' --max-time 10 \
--header @event-valid.headers -H 'Content-Type: application/json' \
--data-binary @event-tampered.json \
-D evidence/webhooks/tampered.h -o evidence/webhooks/tampered.txt \
http://127.0.0.1:8000/webhooks/labbash · GitLab pipelines: contribution, job token and runner boundaries
Local command cheat sheet#
Open setup, interpretation, and checklist
rg --files --hidden -g '!.git' -g '*gitlab*' -g '*.yml' -g '*.yaml' ./repo
rg -n --hidden -g '!.git' -g '*.yml' -g '*.yaml' \
'include:|extends:|trigger:|forward:|id_tokens:|environment:' ./repo
rg -n --hidden -g '!.git' \
'CI_JOB_TOKEN|CI_PIPELINE_SOURCE|CI_MERGE_REQUEST|privileged|pull_policy' ./repobash · Azure and GCP: identity, delegation and storage access
Bounded command card#
Open setup, interpretation, and checklist
timeout 20 az role assignment list \
--subscription OWNED_SUBSCRIPTION_ID \
--scope /subscriptions/OWNED_SUBSCRIPTION_ID/resourceGroups/bounty-fixture \
--assignee-object-id OWNED_PRINCIPAL_OBJECT_ID \
--include-inherited --fill-principal-name false -o json
env -u AZURE_STORAGE_KEY -u AZURE_STORAGE_SAS_TOKEN \
-u AZURE_STORAGE_CONNECTION_STRING timeout 20 az storage blob show \
--subscription OWNED_SUBSCRIPTION_ID --account-name OWNED_STORAGE_ACCOUNT \
--container-name bounty-fixture --name canary.txt \
--auth-mode login --only-show-errors -o json
timeout 20 gcloud --configuration=bounty-lab-low \
storage objects describe gs://OWNED_BUCKET/bounty/canary.txt \
--format=jsonbash · Browser extensions: message authority and document lifetime
Local command sheet#
Open setup, interpretation, and checklist
python3 -I -S -m json.tool ./extension/manifest.json
rg -n 'postMessage|addEventListener|onMessage|onConnect|externally_connectable' ./extension
rg -n 'sender\.|documentId|frameId|tabs\.(sendMessage|connect)|sendNativeMessage' ./extension
rg -n 'fetch\(|host_permissions|optional_host_permissions|storage\.(local|session)' ./extensionbash · AI state: memory, resumed work, retries and private caches
Bounded command and ledger sheet#
Open setup, interpretation, and checklist
rg -n 'thread_id|checkpoint_id|requestState|inputResponses|cacheScope|idempotency' ./src
python3 -I -S - <<'PY'
import collections, json
events = collections.Counter()
with open('lab/state-events.jsonl') as stream:
for number, line in enumerate(stream):
if number >= 1000:
raise SystemExit('Fixture exceeds 1000 event review limit')
row = json.loads(line)
if row.get('committed'):
events[(row['case'], row['principal'], row['operation_id'])] += 1
for key, count in sorted(events.items()):
print(*key, 'commits=', count)
PYbash · Resource budgets and sensitive business flows
Local command card#
Open setup, interpretation, and checklist
mkdir -p evidence
for lab_case in baseline at-limit over-limit; do
curl -q --noproxy '*' --proto '=http' \
--connect-timeout 2 --max-time 10 --max-filesize 65536 \
--request POST --header @lab/authorization.header \
--header 'Content-Type: application/json' \
--data-binary "@lab/${lab_case}.json" \
--dump-header "evidence/${lab_case}.headers" \
--output "evidence/${lab_case}.body" \
'http://127.0.0.1:8000/api/exports' || break
done