Skip to content

v2.0.0 — Production-Ready MVP

Choose a tag to compare

@dieutx dieutx released this 04 Apr 04:10
· 34 commits to main since this release

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.