Skip to content

feat: add miner dashboard (75 RTC bounty #501)#530

Closed
lustsazeus-lab wants to merge 10 commits intoScottcjn:mainfrom
lustsazeus-lab:feat/miner-dashboard
Closed

feat: add miner dashboard (75 RTC bounty #501)#530
lustsazeus-lab wants to merge 10 commits intoScottcjn:mainfrom
lustsazeus-lab:feat/miner-dashboard

Conversation

@lustsazeus-lab
Copy link

@lustsazeus-lab lustsazeus-lab commented Mar 2, 2026

Summary

Fixed critical IP spoofing vulnerability in fleet detection (issue #525).

Changes

Replaced all instances of X-Forwarded-For with X-Real-IP in node/rustchain_v2_integrated_v2.2.1_rip200.py:

  • 10 locations where client IP was being read incorrectly
  • Now uses nginx's X-Real-IP header which cannot be spoofed by clients

Why This Matters

The old code trusted the client-supplied X-Forwarded-For header, allowing fleet operators to:

  • Evade fleet detection by spoofing different IPs
  • Make all miners appear from different locations

The fix uses X-Real-IP which is set by nginx and cannot be controlled by clients.

Testing

  • Verified 10 instances fixed
  • Code compiles without errors

Previous additions in this PR:

  • Miner Dashboard (75 RTC)
  • Multi-Node Sync Test (200 RTC)
  • Hall of Fame Machine Profile (50 RTC)
  • Prometheus Exporter (40 RTC)
  • OpenAPI Documentation (30 RTC)
  • Epoch Determinism Simulator (113 RTC)
  • Attestation Fuzz Harness (98 RTC)
  • X-Forwarded-For Fix (RIP-201 Security)

Wallet: lustsazeus-lab

Closes #525

@github-actions github-actions bot added BCOS-L1 Beacon Certified Open Source tier BCOS-L1 (required for non-doc PRs) size/XL PR: 500+ lines labels Mar 2, 2026
@github-actions github-actions bot added the documentation Improvements or additions to documentation label Mar 2, 2026
@github-actions github-actions bot added the consensus Consensus/RIP-200 related label Mar 2, 2026
@lustsazeus-lab lustsazeus-lab requested a review from Scottcjn as a code owner March 2, 2026 20:42
@github-actions github-actions bot added the node Node server related label Mar 2, 2026
@Scottcjn
Copy link
Owner

Scottcjn commented Mar 3, 2026

Closing this mega-PR. A few issues:

  1. Single PR claiming 8 bounties (606+ RTC) — PRs should be atomic, one bounty per PR. This makes review nearly impossible.
  2. Touches main server code (rustchain_v2_integrated_v2.2.1_rip200.py) — the X-Forwarded-For fix needs its own focused PR with proper testing context.
  3. Overlaps with edisonlv's work — Dashboard, Hall of Fame, and Prometheus components were merged via feat: Miner Dashboard - Personal Stats & Reward History #533.

If you want to claim individual bounties, please submit them as separate, focused PRs:

  • Epoch determinism simulator → separate PR
  • Attestation fuzz harness → separate PR
  • X-Forwarded-For fix → separate PR (security-focused, needs careful review)
  • OpenAPI docs → separate PR

This is standard open source practice — atomic, reviewable PRs.

@Scottcjn Scottcjn closed this Mar 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

BCOS-L1 Beacon Certified Open Source tier BCOS-L1 (required for non-doc PRs) consensus Consensus/RIP-200 related documentation Improvements or additions to documentation node Node server related size/XL PR: 500+ lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Security: Fix X-Forwarded-For IP spoofing in fleet detection (RIP-201)

2 participants