Commit Graph

43 Commits

Author SHA1 Message Date
LORDBABUINO
fcef52adbf fix: pass datadir to bitcoin-cli so Python scripts find cookie auth
setup.sh starts bitcoind with -datadir=bitcoin-data, but bitcoin_rpc.py
was calling bitcoin-cli without it, so it looked in ~/.bitcoin for the
auth cookie and failed with "Incorrect rpcuser or rpcpassword".

Add datadir config to config.ini and resolve it in _build_base_args().
2026-03-05 14:00:56 -08:00
LORDBABUINO
8e226143dd feat: Optimize setup.sh and reproduce.py
- setup.sh: remove unused MINER_FUND_BTC variable
- setup.sh: remove signet stop section (only regtest used)
- setup.sh: remove reference to deleted verify.py in next steps
- reproduce.py: verified clean, no redundant mining or unnecessary sleeps
2026-03-05 11:30:58 -08:00
LORDBABUINO
3a11a3393e feat: Optimize frontend rendering and API calls
- Update loading screen messages to match actual backend processing steps
- Verified walletService.js, App.jsx, ReportScreen.jsx, FindingCard.jsx
  have no dead code or legacy endpoint references
2026-03-05 11:30:07 -08:00
LORDBABUINO
0e0a24bfb7 feat: Optimize detect.py performance
- Cache get_input_addresses() and get_output_addresses() results in TxGraph
  to avoid redundant parsing across 12 detector functions
- TxGraph.fetch_tx() already cached raw RPC calls; now parsed results are
  cached too, eliminating repeated iteration over vin/vout arrays
- JSON output structure remains identical (no breaking changes)
2026-03-05 11:28:53 -08:00
LORDBABUINO
b700b7add8 feat: Clean up dead code within remaining files
- detect.py: remove unused imports (time, hashlib, log2)
- bitcoin_rpc.py: remove __main__ test block, unused CLI/SIGNET_ARGS vars,
  and unused functions (fund_wallet, wait_for_mempool_empty, decode_psbt,
  decode_raw_tx), remove unused time import
- VulnerabilityBadge.jsx: verified clean, no UtxoCard references
- WalletResource.java: already cleaned in prior commit
2026-03-05 11:27:26 -08:00
LORDBABUINO
b466bb7721 feat: Remove unused Python test/utility scripts
- Delete verify.py (test script, not in critical path)
- Delete test_vulnerabilities.py (test script, not in critical path)
- Delete create_random_transactions.py (data generation, not in critical path)
2026-03-05 11:24:59 -08:00
LORDBABUINO
eb148ea69e feat: Remove alternate-network and utility shell scripts
- Delete setup_signet.sh (signet workflow, not used in regtest)
- Delete mine_blocks.sh (utility script, not in critical path)
- Delete run_all.sh (orchestrator script, not needed)
- Delete openconf.sh (config viewer, not needed)
2026-03-05 11:24:48 -08:00
LORDBABUINO
a5bbd3712e feat: Remove unused frontend files
- Delete UtxoCard.jsx and UtxoCard.module.css (never imported)
- Delete mockData.js (never imported)
2026-03-05 11:24:37 -08:00
LORDBABUINO
87dee19070 feat: Remove unused backend Java files
- Delete WalletController.java (BDK-based, entirely unused)
- Delete WalletMockData.java (mock data for legacy endpoints)
- Delete ExampleResponse.java and its tests (depended on BDK)
- Delete empty domain classes: Wallet.java, UTXO.java, BitcoinRepository.java, WalletUtils.java
- Remove legacy endpoints from WalletResource.java: POST /api/wallet/analyze, GET /api/wallet/{analysisId}/utxos
- Remove BDK, JNA, and Kotlin dependencies from pom.xml
2026-03-05 11:23:47 -08:00
LORDBABUINO
458a37c566 refactor: use local bitcoin-data dir and bcli helper in setup.sh 2026-03-05 00:13:06 -03:00
LORDBABUINO
52691c41d3 refactor: pass bitcoind config via CLI flags instead of writing bitcoin.conf 2026-03-04 23:44:14 -03:00
LORDBABUINO
4392e7f502 Merge pull request #3 from LORDBABUINO/vulnerabilities-sujestions
feat: add correction suggestions to vulnerability findings and display them in UI
2026-02-27 17:28:41 +00:00
LORDBABUINO
a6aec9b620 feat: add correction suggestions to vulnerability findings and display them in UI
- Add a `correction` field to every `finding()` call in detect.py with
  actionable remediation advice for all 12 vulnerability types
- Add `CorrectionPanel` component to FindingCard.jsx that renders the
  correction text under the technical details when a card is expanded
- Add `.correction` CSS styles with accent-tinted background and a
  "HOW TO FIX" label to visually distinguish remediation from details
2026-02-27 14:26:37 -03:00
LORDBABUINO
a2970018c5 Merge pull request #2 from LORDBABUINO/app-images
feat: add application demo images
2026-02-27 16:54:34 +00:00
LORDBABUINO
b3c5d9a651 feat: add application demo images 2026-02-27 13:53:44 -03:00
Breno Brito
e8b783fe8b docs: image from slides 2026-02-27 13:43:17 -03:00
Breno Brito
c9e45af46e docs: Improve how it works 2026-02-27 13:23:36 -03:00
Breno Brito
7ec87fb45f docs: Shorten slides 2026-02-27 12:54:28 -03:00
Miranda
153f63d779 Feat: Update slides 2026-02-27 12:24:24 -03:00
Miranda
cea43f0cdd Feat: Update slides 2026-02-27 12:21:22 -03:00
Herberson Miranda
8b1e9be146 Update slides.md 2026-02-27 12:12:31 -03:00
Breno Brito
498a721611 docs: Slides in PDF 2026-02-27 11:41:38 -03:00
Breno Brito
87f56c14f9 docs: Add presentation deck 2026-02-27 11:16:15 -03:00
LORDBABUINO
b8e4f03695 Feat: add config.ini for blockchain connection settings 2026-02-27 02:55:07 -03:00
Breno Brito
374e185ba1 docs: align taxonomy and report model with detector output 2026-02-27 02:41:05 -03:00
Renato Britto
ce2476f6ca feat: add create random transactions script 2026-02-27 02:23:47 -03:00
LORDBABUINO
00ab3c10f7 Docs: add installation and run instructions to README 2026-02-27 02:18:09 -03:00
LORDBABUINO
ccc61d663e Feat: Wire frontend to backend scan endpoint, replace UTXO report with findings
- Add GET /api/wallet/scan endpoint that shells out to detect.py
- Add CORS config and detect.py script path to application.properties
- walletService.js now calls the real scan endpoint instead of mock
- Replace UtxoCard-based ReportScreen with FindingCard-based layout
- FindingCard: collapsible card with data-driven details panel (address groups, string lists, key-value scalars)
- VulnerabilityBadge: all 14 finding types labeled, severity lowercased, critical style added
- ReportScreen: summary bar shows findings/warnings/txs analyzed; clean banner; separate warnings section
2026-02-27 02:06:31 -03:00
LORDBABUINO
78d335b571 feat: structured JSON output for detect.py
Replace flat string findings with typed objects following a unified
{ type, severity, description, details } envelope across all 12
detectors. Full TXIDs and addresses, no truncation.
2026-02-27 02:06:31 -03:00
Breno Brito
48de6af723 Add Slidev pitch presentation 2026-02-27 02:06:31 -03:00
LORDBABUINO
c198b35f92 feat: auto-expand descriptor to both /0/* and /1/* variants
When a descriptor is passed directly, strip its checksum, derive the
missing external/internal counterpart, and normalize both through
getdescriptorinfo before importing — matching the full address set
that --wallet produces.
2026-02-27 02:06:31 -03:00
Renato Britto
6a01b9e450 feat: add miner and setup.sh 2026-02-27 02:06:31 -03:00
Renato Britto
fb5381d7b1 feat: add vuln reproduction and detection scripts 2026-02-27 02:06:31 -03:00
LORDBABUINO
1f7ecf321c Feat: Wire frontend to backend, add wallet API endpoints
- Replace frontend mock with real fetch calls to POST /api/wallet/analyze and GET /api/wallet/{id}/utxos
- Add Vite dev proxy for /api to avoid CORS in development
- Implement WalletResource.java with the two endpoints
- Add WalletMockData.java with the 5-UTXO dataset
- Configure CORS and port in application.properties
- Add backend/requests/wallet.http with kulala tests (29 assertions, all passing)
2026-02-27 02:06:31 -03:00
Miranda
e6a8e77134 Feat: Backend commit 2026-02-27 02:06:31 -03:00
Miranda
ba99b72b40 Feat: Backend commit 2026-02-27 02:06:31 -03:00
Miranda
494838d643 Feat: Backend commit 2026-02-27 02:06:31 -03:00
Miranda
f067ef54f7 Feat: Update 2026-02-27 02:06:31 -03:00
LORDBABUINO
1c04b0b096 Feat: scaffold React frontend with Vite and Stealth theme
Three-screen state machine (input → loading → report) for analyzing
Bitcoin wallet descriptor privacy. Includes mock UTXO data with
ADDRESS_REUSE, DUST_SPEND, CONSOLIDATION, and CIOH vulnerability types.
2026-02-27 02:06:31 -03:00
Miranda
67db81448b Feat: Backend commit 2026-02-27 02:06:31 -03:00
LORDBABUINO
7f2bc724a1 Docs: write project README
Add full README covering purpose, the four privacy vulnerabilities
detected (address reuse, dust spend, UTXO consolidation, CIOH),
usage instructions, project structure, and a privacy notice.
2026-02-27 02:06:26 -03:00
Miranda
dd10099036 Feat: Update 2026-02-26 19:58:36 -03:00
Miranda
8a543f27f6 first commit 2026-02-26 19:56:56 -03:00