Security: proactive anomaly checklist with thresholds for small TVL (SEC-G02) #966
No reviewers
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!966
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-435-anomaly-signals-sec-g02"
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?
Summary
Adds operator-facing proactive anomaly monitoring for bootstrap/small-TVL deployments (#435, SEC-G02).
docs/runbooks/anomaly-signals.mdwith five signals (A1–A5), each with a numeric threshold and first response action: pool drain (>15% reserves), add/remove profit loop (≥3 cycles / 30 min), route slippage deviation (>30% or >5% vs simulate), failed-tx burst (≥10 / 15 min), LCD-heavy 429 flood (>20% or single-IP dominance).docs/templates/incident-dex-indexer.mdTriage,docs/security-posture.mdbootstrap TVL row, anddocs/runbooks/blacklist-decision.md(proactive vs reactive).make check-anomaly-signals-docs+ acceptance scriptmake verify-issue-435; agent playbookskills/AGENTS_ANOMALY_SIGNALS.md.Acceptance checklist
grep -E 'A[1-5]' docs/runbooks/anomaly-signals.mdmake check-anomaly-signals-docsgrep anomaly-signals docs/templates/incident-dex-indexer.mdFull regression:
make verify-issue-435→ PASS (5/5 steps).Third-party verification
Manual review:
docs/runbooks/anomaly-signals.md— confirm table rows A1–A5 each have threshold + first response + escalation.docs/templates/incident-dex-indexer.md— Triage section links to anomaly runbook.docs/security-posture.md— bootstrap TVL row references anomaly runbook.Security review — MR !966
Commit reviewed:
bfc25c1671a6f0b641fa227ac8e9dceabb1f05daScope: Documentation and drift-guard tooling only —
docs/runbooks/anomaly-signals.md(SEC-G02 anomaly checklist A1–A5), cross-links indocs/templates/incident-dex-indexer.md,docs/security-posture.md,docs/runbooks/blacklist-decision.md,docs/runbooks/launch-checklist.md,docs/testing.md,skills/AGENTS_ANOMALY_SIGNALS.md,scripts/check_anomaly_signals_docs.py,scripts/qa/verify-issue-435.sh, and Makefile targets. No smart contract, indexer runtime, or frontend application code in this diff.Method: Full MR diff review; for each candidate class (injection, authn/authz bypass, SSRF, XSS, secret leakage, unsafe deserialization, path traversal) traced attacker-controlled input to sinks in added/modified files. Compared new scripts to existing doc-drift guards (
check_blacklist_decision_docs.py,verify-issue-400.sh).Outcome:
FINDINGS: 0medium+Security review: no medium+ findings on this diff.
Inline threads: none (no findings to attach)
Summary: Added content is operator runbook guidance and doc cross-link enforcement.
check_anomaly_signals_docs.pyreads fixed repo paths with static marker checks — no external input.verify-issue-435.shinvokes hardcodedmake/grep/teststeps only. Runbook bash/curl examples use<pair>,<indexer>, etc. placeholders for manual operator use; they are not executed by CI or production services.mentioned in issue #435
added 12 commits
maine2e08ba6- Merge origin/main into issue-435-anomaly-signals-sec-g02Compare with previous version
Resolved merge conflicts with
mainby mergingorigin/mainintoissue-435-anomaly-signals-sec-g02.Conflicts resolved
Makefile— kept both SEC-G02 targets (check-anomaly-signals-docs,verify-issue-435) andmainadditions (check-launch-monitoring-docs,check-incident-template-docs,verify-issue-439,verify-issue-440); updated.PHONY,help, andlintaccordingly.docs/testing.md— added bothdocs-anomaly-signalsanddocs-incident-templateCI job rows.Sanity checks:
make check-anomaly-signals-docs,make check-incident-template-docs,make check-launch-monitoring-docs— all pass.Security review — MR !966
Commit reviewed:
e2e08ba60ad2b304626c56897e30cd60096e0ad3Scope: Re-review after merge of
origin/mainintoissue-435-anomaly-signals-sec-g02. Changed files (11):docs/runbooks/anomaly-signals.md(SEC-G02 anomaly checklist A1–A5), cross-links indocs/templates/incident-dex-indexer.md,docs/security-posture.md,docs/runbooks/blacklist-decision.md,docs/runbooks/launch-checklist.md,docs/testing.md,skills/AGENTS_ANOMALY_SIGNALS.md,skills/AGENTS_BLACKLIST_DECISION.md,scripts/check_anomaly_signals_docs.py,scripts/qa/verify-issue-435.sh, and Makefile targets. No smart contract, indexer runtime, or frontend application code in this diff.Method: Full MR diff review against current
head_sha; for each candidate class (injection, authn/authz bypass, SSRF, XSS, secret leakage, unsafe deserialization, path traversal, supply-chain) traced attacker-controlled input to sinks in added/modified files. Compared new scripts to existing doc-drift guards (check_blacklist_decision_docs.py,verify-issue-400.sh). Ranmake check-anomaly-signals-docsandmake verify-issue-435locally — both pass.Outcome:
FINDINGS: 0medium+Security review: no medium+ findings on this diff.
Inline threads: none (no findings to attach)
Notes vs prior review (
bfc25c16): Merge frommainupdated Makefile/docs/testing.mdconflict resolution only; SEC-G02 content and security surface unchanged. Runbook bash/curl examples use<pair>,<indexer>, etc. placeholders for manual operator use — not executed by CI or production services. A5 rate-limit defaults reference already-public values inAGENTS_INDEXER_API_LCD_SECURITY.md.mentioned in commit
ba73247a14