Skip to content

Security: CryptoExplor/Wallet-Forge

Security

SECURITY.md

Security Verification Guide

πŸ›‘οΈ How to Verify Wallet Forge Is Safe

Wallet Forge handles sensitive data (private keys). Here's how to verify it's trustworthy before using it.


βœ… Step-by-Step Verification

1. Verify Offline Capability

Test that the tool works without internet:

# Method 1: Download and test
git clone https://github.com/CryptoExplor/Wallet-Forge
cd Wallet-Forge/public

# Disconnect from internet (turn off WiFi/unplug ethernet)

# Open index.html in browser
open index.html  # macOS
start index.html # Windows
xdg-open index.html # Linux

# Tool should load and function perfectly βœ…

What this proves:

  • No API calls to external servers
  • No CDN dependencies
  • No hidden network requests
  • Truly client-side operation

2. Inspect Network Activity

Use browser DevTools to confirm zero network calls:

1. Open Wallet Forge in browser
2. Open DevTools (F12 or Cmd+Opt+I)
3. Go to Network tab
4. Clear network log
5. Use the tool (import, validate, export)
6. Verify: Zero network requests βœ…

Expected result:

  • Network tab shows: "0 requests"
  • No XHR/Fetch requests
  • No external resource loads

Screenshot for reference:

Network tab: Empty (except initial page load)

3. Verify Content Security Policy

Check CSP headers block network calls:

1. Open Wallet Forge
2. Open DevTools β†’ Console
3. Try to manually make a network call:
   fetch('https://example.com')
4. Should see CSP error: "Refused to connect" βœ…

What this proves:

  • CSP meta tag is enforced
  • Browser blocks any network attempts
  • Even malicious injected code can't phone home

4. Audit Source Code

Review the code yourself:

# Clone repo
git clone https://github.com/CryptoExplor/Wallet-Forge
cd Wallet-Forge

# The entire app is in these files:
ls -lh public/
# index.html    (~21KB)  - Main application
# sha3.min.js   (~5.6KB) - Keccak256 crypto library

# Read the code:
cat public/index.html
cat public/sha3.min.js

What to look for:

  • βœ… No fetch() or XMLHttpRequest calls
  • βœ… No <script src="https://..."> external scripts
  • βœ… No analytics libraries (Google Analytics, etc.)
  • βœ… No localStorage writes (except burn session)
  • βœ… CSP meta tag present

5. Verify Cryptography Library

Confirm sha3.min.js is legitimate:

# Download from CDN
curl -o sha3-cdn.min.js \
  https://cdnjs.cloudflare.com/ajax/libs/js-sha3/0.8.0/sha3.min.js

# Compare with local copy
diff sha3-cdn.min.js public/sha3.min.js

# Should be identical βœ…

Or check file hash:

# SHA-256 hash should match CDN version
shasum -a 256 public/sha3.min.js

# Compare with official CDN hash
# https://cdnjs.com/libraries/js-sha3

6. Test in Isolated Environment

Run in a sandboxed environment:

# Option 1: Docker container
docker run -p 8000:8000 -v $(pwd)/public:/app python:3-alpine \
  sh -c "cd /app && python -m http.server 8000"

# Option 2: VM or dedicated machine
# Copy files to VM with no network access
# Verify tool works offline

What this proves:

  • Tool functions without network
  • No hidden dependencies
  • No cloud services required

πŸ” Red Flags to Watch For

If you see any of these, DO NOT USE:

❌ Network requests in DevTools
❌ External <script> tags (except local sha3.min.js)
❌ Google Analytics or tracking pixels
❌ localStorage writes without user action
❌ Obfuscated or minified code (except sha3.min.js)
❌ Requests for wallet connect
❌ Requests for RPC endpoints


πŸ§ͺ Advanced Verification

Check File Integrity

Verify files haven't been tampered with:

# Get latest release hash
git clone https://github.com/CryptoExplor/Wallet-Forge
cd Wallet-Forge
git checkout v1.2.0

# Compute file hashes
shasum -a 256 public/index.html
shasum -a 256 public/sha3.min.js

# Compare with published hashes in release notes

Reverse-Engineer the App

For maximum security, understand every line:

# The app is intentionally simple:
# - HTML structure
# - CSS styling (inline)
# - JavaScript functions (inline)
# - sha3.min.js (standard library)

# Total: ~500 lines of custom code
# All readable, no obfuscation

Test EIP-55 Validation

Verify checksum validation is correct:

// Test addresses
βœ… Valid:   0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
❌ Invalid: 0xD8DA6BF26964AF9D7EED9E03E53415D37AA96045 (wrong case)

// Paste both into tool
// First should show βœ“ Valid
// Second should show βœ— Invalid

πŸ“‹ Security Checklist

Before using Wallet Forge with real private keys:

  • Tested offline mode (disconnected from internet)
  • Verified zero network requests in DevTools
  • Confirmed CSP blocks external connections
  • Reviewed source code in index.html
  • Verified sha3.min.js matches CDN version
  • Tested EIP-55 validation accuracy
  • Ran in isolated environment (VM/container)
  • No red flags detected

🚨 Reporting Security Issues

Found a security vulnerability? Please report responsibly:

DO:

  • Email: [your-email@example.com]
  • Create private GitHub security advisory
  • Wait for response before public disclosure

DON'T:

  • Post vulnerabilities in public issues
  • Share on social media before fix
  • Exploit vulnerabilities maliciously

πŸ”’ Best Practices for Use

Recommended Setup

1. Download index.html + sha3.min.js
2. Transfer to offline machine (USB drive)
3. Disconnect machine from network
4. Open in browser
5. Use for sensitive operations
6. Burn session when done
7. Verify data before reconnecting

For Maximum Security

1. Use dedicated offline machine
2. Verify file hashes before use
3. Never connect to internet after use
4. Use burn session feature
5. Clear browser cache after
6. Restart machine

🎯 Threat Model

What Wallet Forge Protects Against

βœ… Network eavesdropping - No data transmitted
βœ… Man-in-the-middle - No network calls
βœ… Server compromise - No server
βœ… Tracking - No analytics
βœ… Data leaks - Client-side only

What Wallet Forge Does NOT Protect Against

❌ Compromised machine - If your computer has malware, all bets are off
❌ Keyloggers - Physical/software keyloggers can capture input
❌ Screen capture - Malware can screenshot your data
❌ Clipboard hijacking - Malware can steal clipboard contents
❌ Browser vulnerabilities - Browser exploits could bypass CSP


πŸ” Additional Security Measures

Use With Tails OS

For maximum paranoia:

1. Boot Tails OS (amnesic live system)
2. Transfer Wallet Forge files via USB
3. Use without network
4. Tails wipes all data on shutdown

Use With Qubes OS

For compartmentalization:

1. Create isolated Qube
2. No network access
3. Use Wallet Forge in Qube
4. Destroy Qube after use

πŸ“š References


βœ… Verification Completed?

Once you've verified Wallet Forge is safe:

  1. ⭐ Star the repo if you trust it
  2. πŸ”— Share with others (help them verify too)
  3. 🀝 Contribute improvements
  4. πŸ“£ Report any security concerns

Remember: Trust, but verify. Always audit tools that handle private keys.


Last Updated: v1.2.0 (January 2026)

There aren’t any published security advisories