Security: deploy runbook does not require recording git SHA or Terra Classic chain version at deploy time [SEC-D12] #410
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:implement
agent:implement
agent:open_issues
agent:ready
agent:research
agent:security_audit
agent:verify
architecture
backend
blocker:hybrid
blocker:launch
blocker:limit-orders
blocker:v2
block:log_only
block:security
bug
ci
contracts
correctness
deploy
dev
devops
docs
documentation
duplicate
e2e
enhancement
epic
feature
frontend
functional-completion
gas
good first issue
governance
help wanted
high-risk
hooks
hybrid
indexer
infra
infrastructure
integrators
invalid
launch-blocker
limit-orders
localnet
localterra
low priority
missing-implementation
needs-design
ops
performance
priority
high
priority
medium
product
qa
QA
question
ready
ready
research
scripts
security
security-hardening
smartcontracts
tech-debt
testing
ux
UX
v2
verification
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
code/cl8y-dex-terraclassic#410
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Checklist Item
SEC-D12: Model stale deployment artifact or missed security patch like Terra's missed IBC patch. Verify: deploy runbook records git SHA, contract code IDs, chain versions, and post-deploy verification commands.
Summary
The supply-chain security docs cover wasm artifact integrity (workspace-optimizer, wasm-checksums.txt, cargo audit), and the deployment guide covers code IDs and post-deploy queries. However, neither the launch runbook nor the deployment guide requires the operator to record the exact git SHA of the deployed build, the Terra Classic chain version, or the chain's software version at deploy time. Without these records, auditing which code was deployed after a missed patch is not reliably possible.
What Was Checked
docs/runbooks/launch-checklist.mdPhase 0-5: checks wasm policy, governance, hooks, fee tiers, indexer, frontend env; no git SHA recording step, no chain version recording stepdocs/runbooks/wasm-admin-migration.mdPre-flight: "Record wasm-checksums.txt and code IDs for audit trail"; code IDs covered, git SHA absent, chain version absentdocs/deployment-guide.mdPost-Deployment Checklist: verifies factory config, pair creation, fee discount, router trust; no git SHA or chain version stepsdocs/supply-chain-security.md: covers cargo audit, gitleaks, DinD TLS for artifact integrity; does not require recording git SHA or chain version in the deployment traceExpected (per checklist)
The deploy runbook must require recording: the git SHA of the deployed build, the resulting contract code IDs, the Terra Classic chain version at deploy time, and post-deploy verification command output. This creates an auditable record that identifies exactly which code was deployed and what chain state it ran against.
Actual
The runbook requires recording
wasm-checksums.txtand code IDs (partial coverage). Git SHA and Terra Classic chain version are not required fields in any runbook checklist item. If a security patch is issued for the chain or for a contract dependency, there is no deploy-time record to determine which deployed instances are affected.Evidence
docs/runbooks/wasm-admin-migration.mdlines 6-8: "Record wasm-checksums.txt and code IDs"; no git SHA, no chain versiondocs/runbooks/launch-checklist.md: no git SHA or chain version checklist item in any phasedocs/deployment-guide.mdPost-Deployment Checklist: no git SHA or chain version itemSuggested Fix
Add the following to
docs/runbooks/launch-checklist.mdPhase 1 anddocs/runbooks/wasm-admin-migration.mdPre-flight:This requires no code change. Add the same recording step to any migration runbook checklist.
Verification Checklist
docs/runbooks/launch-checklist.mdhas a checklist item to record git SHA, chain version, code IDs, and wasm-checksums.txtdocs/runbooks/wasm-admin-migration.mdPre-flight has the same recording itemsLabels
security,pre-launchCc: @PlasticDigits
mentioned in issue #381
mentioned in commit
362c040d88mentioned in merge request !930
mentioned in merge request !935
mentioned in commit
6abc30a309mentioned in commit
b177633c32mentioned in commit
0e2eaa8dcfmentioned in commit
d635061066Verification — SEC-D12 / GitLab #410
Result: All acceptance criteria PASS. No repo changes required; closing issue.
What was verified
docs/runbooks/launch-checklist.mdrecords git SHA, chain version, code IDs, wasm-checksums.txt, and post-deploy verificationmake verify-issue-410docs/runbooks/wasm-admin-migration.mdPre-flight has the same recording itemsmake verify-issue-410docs/templates/deploy-trace.mdprovides copy-paste fields for all required items; linked from runbooks and deployment guide. No production/staging deploy trace posted on #391 yet — expected until first real deployAutomated checks
Cross-links confirmed
docs/deployment-guide.md§ Deploy trace + Post-Deployment Checklist deploy-trace gatedocs/supply-chain-security.md→ deploy trace template (SEC-D12)skills/AGENTS_DEPLOY_TRACE.mdmake check-deploy-trace-docs(also invoked bymake verify-issue-410)Follow-up
When the first staging or mainnet deploy runs, operators should paste a completed trace from
docs/templates/deploy-trace.mdonto launch tracking issue #391 before leaving Phase 1.mentioned in issue #406
mentioned in issue #337
mentioned in issue #424