Skip to content

Releases: dieutx/owsbountybot

v2.1.0 — Multi-Chain, Admin Panel, Security Hardening

Choose a tag to compare

@dieutx dieutx released this 04 Apr 14:15

What's New

Multi-Chain Support

  • 5 chains: EVM, Solana, Bitcoin, Tron, Cosmos with wallet address auto-detection
  • Chain auto-switch: dropdown follows detected address as you type
  • Cross-chain detection: flags payouts where recipient chain differs from treasury (EVM), tracks bridge status
  • Block explorer links: clickable tx/address links to Etherscan, Solscan, Mempool.space, Tronscan, Mintscan
  • Per-chain treasury display: each signed payout shows the matching treasury address

Admin Review Panel

  • Inline approve/reject directly from the dashboard (no curl needed)
  • Adjustable payout amount before approving — admin can modify the suggested reward
  • Inline rejection reason input (no browser popups)
  • Admin toggle button with token entry
  • Demo admin token: admin

Security Hardening

  • Atomic daily budget check via SQLite transactions (race condition fix)
  • SSE per-IP connection limits + dead connection cleanup via heartbeat
  • SSE auto-reconnect with exponential backoff (frontend)
  • CSP hardened: removed unsafe-inline, added HSTS, Permissions-Policy
  • Admin rate limiting (20 req/min)
  • Status filter validation (rejects arbitrary strings)
  • Signing retry endpoint with audit trail
  • Tron/Solana detection order fix (Tron checked before Solana catch-all)
  • Bridge fields in all transaction paths (review + retry-sign)

Dashboard Improvements

  • Click-to-expand report details with audit trail timeline
  • Character counter on description field (0/5000)
  • Toast notifications on submit success/failure
  • 18 randomized demo reports including Solana/Tron wallets
  • Reset button sends admin token correctly
  • Demo buttons trigger chain auto-detection
  • Title input maxlength enforced (200 chars)
  • Focus-visible outlines, reduced-motion support, mobile breakpoints

New Endpoints

  • GET /api/health — health check (pings database)
  • POST /api/report/:id/retry-sign — retry signing for approved reports (admin)
  • GET /api/reports/export — CSV export (admin)

Bug Fixes

  • Reset button silently failing (missing auth header)
  • Demo fill not triggering chain detection
  • Bridge fields missing in manual review and retry-sign transactions
  • Wallet API only showing EVM (now shows all chains)
  • Tron addresses misdetected as Solana

Stats

  • 24 integration tests
  • 18 API endpoints
  • 5 supported chains
  • 30+ commits since v2.0.0

Contributors

v2.0.0 — Production-Ready MVP

Choose a tag to compare

@dieutx dieutx released this 04 Apr 04:10

BountyBot v2.0.0

First release. Automated bug bounty triage and payout authorization agent powered by the Open Wallet Standard (OWS).

Live demo: https://owsbountybot.shelmail.xyz

Core Features

  • Evaluator — Quality scoring (0–10) with confidence, vuln class extraction, affected asset detection, manual review path
  • Duplicate detection — Layered fingerprinting (title, description, vuln type, asset, combined) + fuzzy title matching with trigram similarity
  • Policy engine — Per-severity caps, daily budget, per-reporter limits, chain allowlists, cooldowns
  • Multi-step review — Auto-approve (low value), manual review (medium), admin review (high)
  • Payout authorization — OWS-signed approvals with nonce, expiry, and transaction lifecycle states
  • Audit logging — Append-only log with correlation IDs, filterable by entity type/id
  • SQLite persistence — WAL mode, 7 tables with proper schema and indexes

Security

  • Admin token required for manual review, reset, and program re-creation
  • CORS, CSP, rate limiting (5/min per IP), SSE connection cap (200)
  • Constant-time token comparison, signature redaction from all API responses
  • Input validation via Zod, wallet address format validation per chain
  • Policy re-check before signing on manual approval
  • COALESCE-safe SQL to prevent NULL data loss

Dashboard

  • Real-time SSE feed with status filters (All / Signed / Pending / Rejected / Duplicates)
  • Silent smart-diff background sync (only updates changed items)
  • 16 randomized demo reports across 3 quality tiers
  • One-click reset, live connection indicator
  • Confidence scores, vuln class tags, duplicate flags

API Endpoints

Endpoint Method Description
/api/bounty/create POST Initialize bounty program
/api/bounty GET Program stats
/api/report/submit POST Submit a bug report
/api/report/:id GET Report detail + audit trail
/api/report/:id/review POST Manual approve/reject (admin)
/api/reports GET List with ?status= and ?duplicates=1 filters
/api/reset POST Clear all data (admin)
/api/wallet GET Treasury wallet address
/api/transactions GET Payout history
/api/policy GET Active policy + daily budget
/api/audit GET Audit log with filters
/api/events GET SSE real-time stream

Tech Stack

  • Node.js 24+ / Express 5 / ESM
  • SQLite (better-sqlite3, WAL mode)
  • Zod validation
  • @open-wallet-standard/core (OWS SDK)
  • Vanilla HTML/CSS/JS frontend (no build step)
  • 18 integration tests

Contributors

Built for the OWS Hackathon 2026 — Track 2: Agent Spend Governance & Identity.