CI supply chain: SCA, gitleaks, DinD TLS (#376) #380
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#380
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?
Parent
Remediation bundle for #376 — Full security report.
Covers approved findings: H-06, M-11, M-13, L-12.
Current codebase
.gitlab-ci.ymlhas two artifact build jobs only (qa-wasm-artifacts,qa-indexer-binary) — nocargo audit,cargo deny, ornpm audit.frontend-dapp/package-lock.jsonhas 23 advisories (2 critical, 10 high), including transitiveellipticvia cosmjs/cosmes. Reference workflows in.github/workflows/are not executed on GitLab..gitlab-ci.ymlL18–20 setsDOCKER_TLS_CERTDIR: ""andDOCKER_HOST: tcp://docker:2375(unencrypted DinD)..githooks/pre-commitL48–56 skips gitleaks when binary not installed. No gitleaks job in CI..gitleaks.tomlexists with custom rules.Why needed
Supply-chain vulnerabilities and secret leaks can reach default branch undetected. DinD without TLS allows co-process Docker control within the job pod. Approved scope: lightweight SCA, mandatory gitleaks in CI, enable DinD TLS.
Constraints / guardrails
--audit-level=highfor npm, allowlist file for known accepted Rust advisories.DOCKER_TLS_CERTDIR) or document Kaniko migration; verifymake build-optimizedjob still works.elliptic; document accepted risks where upgrades blocked.Relevant files
.gitlab-ci.yml.gitleaks.toml,.githooks/pre-commitsmartcontracts/Cargo.lock,indexer/Cargo.lockfrontend-dapp/package-lock.json,frontend-dapp/package.json.github/workflows/(not executed)docs/operator-secrets.md,gaps/GAP_1780200149.mdRecommended direction
securitywith:cargo audit --deny warnings(smartcontracts + indexer) withaudit.tomlallowlist for accepted findings.npm audit --audit-level=high --omit=devinfrontend-dapp(or full audit with documented dev-only exclusions).gitleaks detect --source . --verbosejob using pinnedgitleaksimage; fail pipeline on any finding. Remove skip-if-missing behavior for CI (local pre-commit may remain best-effort).DOCKER_TLS_CERTDIR: "", useDOCKER_HOST=tcp://docker:2376with cert vars, or switch to Kaniko for wasm optimizer builds.Acceptance criteria
.gitleaks.toml.qa-wasm-artifactsjob green.elliptictransitive.Test plan
qa-wasm-artifactsmanualCI_PIPELINE_SOURCE=webtrigger — wasm artifacts produced.cargo audit,npm auditcommands documented indocs/testing.mdor CI README.Attack / abuse test plan
.gitleaks.toml(test fixture file inscripts/or temp commit on branch).--audit-level=criticalin test job).Verification criteria
mainwith new security stage.gitleaksand audit jobs arerules:unconditional on default branch (notallow_failure: true).mentioned in issue #376
mentioned in commit
b2b9dd06d5mentioned in merge request !904
mentioned in commit
ae184f6110mentioned in commit
079b98858dmentioned in commit
67ed19662ementioned in commit
05e6fad0fbmentioned in commit
ee48a04720mentioned in commit
3da6175e49mentioned in commit
92ade2e570mentioned in commit
84332f8ccementioned in commit
a776b93d50mentioned in merge request !908
mentioned in commit
8acee13f41mentioned in commit
f5a0dc79d9mentioned in issue #421
mentioned in merge request !971