π Secure Β· π€ AI-Powered Β· π° Earn Rewards Β· π Decentralized Β· β‘ Real-time Protection
π Visit Our Website | π Documentation | π¬ Report Issues
This project is under active development and may contain bugs or breaking changes.
Estimated time to a user-ready release: November - December 2025.
Use for testing and development only. Do not rely on this for production protection.
Gurftron is a next-generation browser security extension that combines artificial intelligence, community-driven threat detection, and blockchain-based incentives to protect users from phishing attacks, malware, and malicious websites. Built on Starknet, Gurftron rewards users with STRK tokens for identifying and voting on threats, creating a decentralized security ecosystem.
- Watch Gurftron in action: AI-powered phishing detection, community voting, and blockchain rewards*
original.mp4
- π About
β οΈ The Problem- π‘ Our Solution
- β¨ Why Gurftron?
- π₯ Who Benefits?
- βοΈ How It Works
- π οΈ Tech Stack
- π Getting Started
- π° Earning Rewards
- π Project Structure
- π€ Contributing
- π License
Online threats are evolving faster than traditional security solutions can adapt:
- π£ Phishing attacks cost businesses and individuals billions annually
- β‘ Zero-day threats appear before antivirus databases are updated
- π’ Centralized security relies on single points of failure
- π« No incentives exist for users to actively participate in threat detection
- π Slow response times from traditional security vendors
- π Privacy concerns with cloud-based scanning services
Users are left vulnerable, with no way to contribute to or benefit from collective security intelligence.
Gurftron creates a decentralized security network where users are both protected and rewarded:
- π€ AI-Powered Detection: Multiple AI models (Gemini, Local LLMs) analyze websites in real-time
- π Multi-Layer Scanning: Integration with Google Safe Browsing, AbuseIPDB, Brave Search, and ClamAV
- π³οΈ Community Validation: Users vote on detected threats, earning STRK tokens for accurate assessments
- βοΈ Blockchain Storage: Threat data stored on Starknet with immutable records
- π Native File Scanning: Real-time malware detection through integrated ClamAV engine
- β Reputation System: Build credibility through consistent, accurate threat reporting
- π° Get paid to browse safely (earn STRK tokens)
- β‘ Real-time protection against phishing and malware
- π Privacy-first: Your browsing stays local; only threats are reported
- π³οΈ Community power: Your votes shape the threat database
- π‘οΈ Multi-layered security: AI + community + traditional antivirus
- π Decentralized threat intelligence that no single entity controls
- π Faster response to emerging threats through crowd wisdom
- π Economic incentives align user behavior with network security
- π Transparent records of all threats and validations on-chain
- π Reduced dependence on centralized security vendors
- π Open-source: Full transparency and community contributions
- π Extensible: Add new AI models, scanners, or features
- π Well-documented: Clear setup and contribution guides
- π Multi-platform: Works on Chrome, Edge, Brave, Firefox
- π‘οΈ Protection while browsing
- πΈ Passive income through threat reporting
- π Control over their security data
- π Enhanced employee protection
- π Reduced phishing success rates
- π Decentralized security posture
- π‘ Platform to share threat intelligence
- π° Rewards for valuable contributions
- β Reputation building in the community
- π― Real-world utility for blockchain technology
- π³οΈ Active participation in decentralized governance
- π Staking and earning opportunities
- π€ Collective immunity through shared threat data
- β‘ Faster detection of emerging threats
- π Democratized security infrastructure
βββββββββββββββ
β π Browser β
β Extension βββββ π€ User browses the web
ββββββββ¬βββββββ
β
βββΊ π€ AI Analysis (Gemini/Local)
βββΊ π API Checks (Safe Browsing, AbuseIPDB, etc.)
βββΊ π¦ File Scanning (ClamAV via Rust Engine)
β
βΌ
β οΈ Threat Detected?
β
ββ β
No βββΊ Continue browsing
β
ββ π¨ Yes βββΊ Block & Report to Smart Contract
β
βΌ
ββββββββββββββββββββββ
β βοΈ Starknet Contract β
β (Pending State) β
ββββββββββ¬ββββββββββββ
β
βΌ
π³οΈ Community Votes (Validate/Reject)
β
60% Approve?
β
ββββββββββββββ΄βββββββββββββ
β β
β
Yes β No
β β
βΌ βΌ
π― Threat Confirmed π« Rejected/Ignored
β
βΌ
π° Rewards Distributed:
β’ Reporter: 10 points (0.1 STRK)
β’ Voters: 2 points each (0.02 STRK)
β’ Premium users: 2x rewards
- π Extension: Vanilla JavaScript with Chrome Extension Manifest V3
- π UI: TailwindCSS for modern, responsive design
- πΎ Storage: Dexie.js (IndexedDB wrapper) for local caching
- π Smart Contract: Cairo 2.8.0 on Starknet
- π¦ Security Engine: Rust with Tokio async runtime
- π₯οΈ Server: Fastify (Node.js) for contract write proxy
- ποΈ Database: MongoDB for event aggregation, SQLite for scan caching
- π APIs:
- π Google Safe Browsing
- π« AbuseIPDB
- π Brave Search
- π€ Gemini for AI analysis
- π Network: Starknet (Sepolia testnet, Mainnet ready)
- π Wallet Integration: ArgentX, Braavos via get-starknet
- π Token: STRK for staking and rewards
- π¦ Antivirus: ClamAV for file scanning
- π Hashing: SHA-256 for file integrity
- π Native Messaging: Secure browser-to-native communication
Before you begin, ensure you have:
- Node.js (v18 or higher): Download
- Rust (latest stable): Install Rustup
- Scarb (Cairo toolchain): Install Scarb
- Starknet Foundry (sncast): Install Guide
- MongoDB (for backend server): Download
- ClamAV (automatic on first run, or manual install)
- Starknet Wallet (ArgentX or Braavos browser extension)
- Git: For cloning the repository
The smart contract manages threat validation, voting, and reward distribution. βοΈ
Detailed instructions: See contracts/README.md
Quick Start:
# Navigate to contracts directory
cd contracts
# Build the contract
scarb build
# Create deployment account
sncast account create --network sepolia --name deployer
# Fund account from faucet
# Visit: https://starknet-faucet.vercel.app/
# Deploy account
sncast account deploy --network sepolia --name deployer
# Declare contract
sncast declare --network sepolia --contract-name GurftronDB
# Deploy contract (save the contract address!)
sncast deploy --network sepolia \
--class-hash YOUR_CLASS_HASH \
--constructor-calldata YOUR_ADMIN_ADDRESS STRK_TOKEN_ADDRESSSave your deployed contract address - you'll need it for the extension configuration!
Default Rewards (configurable by admin):
- Insert threat: 10 points = 0.1 STRK
- Vote on threat: 2 points = 0.02 STRK
- Premium users: 2x multiplier
- Minimum to claim: 1000 points = 10 STRK
The extension monitors browsing activity and scans for threats. π
# Clone repository (if you haven't already)
git clone https://github.com/mitmelon/gurftron.git
cd gurftron
# Install dependencies
npm install
# Build CSS with TailwindCSS
npm run build:css
# Build extension for production
npm run build
# Or for development with auto-rebuild
npm run devInstall in Browser:
- Open Chrome and navigate to
chrome://extensions/ - Enable Developer mode (top right toggle)
- Click Load unpacked
- Select the
distfolder from your build output - Pin the extension to your toolbar for easy access
Verify Installation:
- You should see the Gurftron icon in your browser toolbar
- Click it to open the dashboard
- You'll be prompted to complete setup on first launch
The Rust engine provides native file scanning via ClamAV. π
Detailed instructions: See program/guftron_engine/README.md
Quick Start:
# Navigate to engine directory
cd program/guftron_engine
# Build for production
cargo build --release
# Run first-time setup
./target/release/gurftron_engine
# (Windows: .\target\release\gurftron_engine.exe)What Happens:
- Checks for ClamAV installation (auto-installs on Windows)
- Starts ClamAV daemon
- Updates virus definitions
- Registers native messaging with your browsers
- Creates SQLite database for scan caching
- Install llm model that fits your device
- Exposes the completion endpoints for extension access
Verify Installation:
# Test the engine
echo '{"action":"ping"}' | ./target/release/gurftron_engine
# Should return: {"result":"success",...}The engine now runs automatically when the extension needs to scan files and access local llm
The backend server handles contract write operations and event aggregation. π
Quick Start:
# Navigate to server directory
cd gurftron-server
# Create .env file in root directory
cd ..
touch .env # (Windows: type nul > .env)Configure .env file (in root directory):
# MongoDB Connection
MONGODB_URI=mongodb://localhost:27017/gurftron
# Starknet Configuration
STARKNET_RPC_URL=your_rpc_endpoint
WALLET_PRIVATE_KEY=your_private_key_here
WALLET_ADDRESS=your_account_address_here
CONTRACT_ADDRESS=your_deployed_contract_address_here
NETWORK=sepolia
# Server API Security
API_KEY=your_secret_api_key_here
# Server Configuration
PORT=3000
# STRK token contract address (Sepolia) - same for mainnet too
STRK_TOKEN_ADDRESS=0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d
Start MongoDB (if running locally):
# Windows
mongod
# macOS (with Homebrew)
brew services start mongodb-community
# Linux
sudo systemctl start mongodStart the Server:
# From root directory
npm start
# Or for development with auto-reload
npm run devServerWhat the Server Does:
- Proxies contract write operations from extension
- Aggregates and stores blockchain events
- Manages transaction history
- Provides API for contract interactions
- Handles rate limiting and authentication
Verify Server:
# Should see:
# Server listening at http://0.0.0.0:3000
# Connected to MongoDBServer Endpoints:
GET /health- Health checkPOST /contract/write- Execute contract write operationsGET /events/:walletAddress- Fetch user eventsGET /requests/:walletAddress- Get transaction history
Important Notes:
- Keep your
STARKNET_PRIVATE_KEYsecure and never commit to git - The API_KEY should match what you enter in extension settings
- Server must be running for contract write operations (inserts, votes)
- MongoDB must be accessible at the URI specified
Now connect everything together! π―
- Open Extension: Click the Gurftron icon in your browser
- Install Page: You'll see the installation welcome screen
- Click "Get Started": Proceed to login
- Choose Wallet: Select ArgentX or Braavos
- Connect: Authorize the connection request
- Sign In: Sign the authentication message
- Dashboard: You're now at the main dashboard
-
Navigate to Settings: Click the gear icon or go to Settings from the sidebar
-
Enter API Keys (get free keys from these providers):
-
Gemini API (Required for AI analysis)
- Get key: Google AI Studio
- Paste into "Gemini API Key" field
- Click "Save"
-
Google Safe Browsing (Recommended)
- Get key: Google Cloud Console
- Enable "Safe Browsing API"
- Paste into "Google Safe Browsing API Key"
- Click "Save"
-
AbuseIPDB (Optional but recommended)
- Get key: AbuseIPDB
- Paste into "AbuseIPDB API Key"
- Click "Save"
-
Brave Search (Optional)
- Get key: Brave Search API
- Paste into "Brave Search API Key"
- Click "Save"
-
-
Select LLM Type: Choose your preferred AI model:
gemini- Google's Gemini (recommended, requires API key)local- Local LLM (privacy-focused, slower)
-
Save Configuration: Each setting saves independently
Connect the extension to your backend server:
-
Server URL: Enter your server URL (e.g.,
http://localhost:3000)- Click "Save"
-
Server API Key: Enter the API_KEY from your
.envfile- Click "Save"
This enables the extension to submit threats and votes to the smart contract through your server.
If you deployed your own contract:
- Open the extension's
starknet.js - Update the contract address to your deployed address and rpc
- Save and rebuild the extension
Once configured, Gurftron automatically protects you and earns rewards! π
- π Browse Normally: Gurftron monitors in the background
- π¨ Threats Detected: AI analyzes and blocks suspicious sites
- π Auto-Report: Threats are submitted to the smart contract
- π³οΈ Community Votes: Other users validate your findings
- π Earn STRK: Get rewards when threats are confirmed
- π Dashboard: View pending threats requiring validation
- π Review: Check threat details, URLs, and AI analysis
- β Vote: Approve (valid threat) or Reject (false positive)
- π° Earn Points: 2 points per vote when you're in the majority
| Action | Points | STRK Value | Requirements |
|---|---|---|---|
| Report threat | 10 | 0.1 STRK | Threat approved by community |
| Vote on threat | 2 | 0.02 STRK | Vote with majority |
| Stake tokens | Varies | - | Unlock voting rights |
| Premium status | 2x | - | Set by admin |
Minimum to Claim: 1000 points (10 STRK)
Approval Threshold: 60% of votes must be positive
To report threats and vote, you must stake STRK:
- Minimum Stake: 10 STRK
- Lock Period: 30 days
- Purpose: Prevents spam and malicious reports
- Withdrawal: Available after lock period
Stake from Dashboard:
- Go to "Staking" section
- Enter amount (minimum 10 STRK)
- Approve and confirm transaction
- Wait for confirmation
Build reputation through quality contributions:
- Positive: Approved threats, accurate votes
- Negative: Rejected threats, minority votes, malicious activity
- Minimum: -100 (below this, you can't participate)
- Benefits: Higher reputation = more trust = potential premium status
gurftron/
βββ contracts/ # Starknet smart contract
β βββ src/
β β βββ lib.cairo # Main contract code
β βββ Scarb.toml # Contract dependencies
β βββ README.md # Contract build & deploy guide
β
βββ program/
β βββ guftron_engine/ # Rust security engine
β βββ src/
β β βββ main.rs # Native messaging & ClamAV
β βββ Cargo.toml # Rust dependencies
β βββ README.md # Engine build guide
β
βββ src/ # Chrome extension source
β βββ background.js # Service worker (background service worker / SW)
β βββ bundle.css # Compiled CSS bundle (Tailwind output)
β βββ content.js # Content script that injects and orchestrates page scanning
β βββ contract-writer.js # Smart contract call helpers and writer logic
β βββ dashboard.html # Main dashboard UI (extension popup / UI page)
β βββ dashboard.js # Dashboard page logic and UI interactions
β βββ dexieStorage.js # Dexie wrapper for IndexedDB persistence
β βββ gurftron.js # Injected helper script for page instrumentation
β βββ install.html # Installation / welcome page UI
β βββ install.js # Installation page logic
β βββ login.html # Wallet connection / login UI
β βββ results.css # Styles specific to results UI
β βββ results.html # Results page shown when a threat is detected
β βββ results.js # Results page logic (ESM module)
β βββ settings.html # Settings page UI
β βββ starknet.js # Blockchain interactions and wallet helpers
β βββ ui-helpers.js # Small UI utilities (toasts, ajax helpers)
β βββ images/ # Icons and other image assets used by the extension
β
βββ dist/ # Built extension (after npm run build)
β
βββ gurftron-server/ # Optional backend server
β βββ server.js
β
βββ manifest.json # Extension manifest (Manifest V3)
βββ package.json # Node dependencies
βββ webpack.config.js # Build configuration
βββ tailwind.config.js # TailwindCSS config
βββ README.md # This file
- Purpose: AI-powered website analysis
- Get Key: Google AI Studio
- Free Tier: 60 requests per minute
- Cost: Free for moderate use
- Purpose: Check URLs against Google's threat database
- Get Key: Google Cloud Console
- Setup: Enable "Safe Browsing API" in your project
- Free Tier: 10,000 requests/day
- Purpose: Validate IP addresses for malicious activity
- Get Key: AbuseIPDB Registration
- Free Tier: 1,000 requests/day
- Purpose: Enhanced search-based threat detection
- Get Key: Brave Search API
- Free Tier: Available with registration
# Terminal 1: Watch and rebuild extension
npm run dev
# Terminal 2 (optional): Run backend server
npm run devServer# Test smart contract
cd contracts
scarb test
# Test Rust engine
cd program/guftron_engine
cargo test
# Manual extension testing
# Load unpacked extension in Chrome and test UI flows# Build everything
npm run build:css
npm run build
# Build contract
cd contracts && scarb build
# Build engine
cd program/guftron_engine && cargo build --releaseWe welcome contributions! Here's how:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- π§ Additional AI model integrations
- π Multi-language support
- π¨ UI/UX improvements
- π New security scanner integrations
- π Documentation enhancements
- π Bug fixes and optimizations
- Check wallet connection: Ensure ArgentX/Braavos is installed and connected
- Verify API keys: Go to Settings and confirm all keys are saved
- Reload extension: Go to
chrome://extensions/and click reload - Check console: Right-click extension β Inspect β Check for errors
- ClamAV not starting: Manually install ClamAV for your OS
- Native messaging error: Re-run the engine to re-register
- Port 3310 busy: Another ClamAV instance is running, restart it
- Rust program not compiling: Make sure you have
CMAKEandLLVMInstalled on your computer. - See
program/guftron_engine/README.mdfor detailed troubleshooting
- Transaction fails: Ensure you have enough STRK for gas
- Stake rejected: Minimum stake is 10 STRK
- Can't vote: Check if you've staked and passed lock period
- See
contracts/README.mdfor deployment issues
- Rate limits: Most APIs have free tier limits, upgrade if needed
- Invalid key: Regenerate keys from provider dashboards
- CORS errors: Some APIs require backend proxy (use
gurftron-server)
- Private keys: Never share your wallet private keys
- API keys: Store securely, don't commit to public repos
- Smart contract: Audit before mainnet deployment
- Staking: Only stake what you can afford to lock for 30 days
- Voting: Bad-faith voting can result in reputation loss
- MVP with AI detection and ClamAV integration
- Starknet smart contract with voting system
- Chrome extension with wallet integration
- Vesu integration for rewards sustainability
- Local ML models for privacy users
- Whitelist inclusion
- Deep fake detection in video & images
- Mobile app (React Native)
- DAO governance for system parameters
- Enterprise API for businesses
- Threat intelligence marketplace
This project is licensed under the ISC License. See individual components for specific license details:
- Smart Contract: MIT License
- Rust Engine: Check source file headers
- Extension: ISC License
- π Website: gurftron.work.gd
- π GitHub Issues: Report bugs
- π Documentation: See component READMEs for detailed guides
- π Smart Contract:
contracts/README.md - π¦ Rust Engine:
program/guftron_engine/README.md
Built with:
- π¦ Rust & Tokio
- ποΈ Cairo & Starknet
- π€ AI (Gemini, Local LLMs)
- π‘οΈ ClamAV
- β‘ Node.js & Webpack
- π¨ TailwindCSS
π Visit gurftron.work.gd Β· Start protecting the web and earning rewards today! π