
🔗 Applicazione mobile leggera di orchestrazione della sicurezza per la verifica degli URI, che fornisce un'interfaccia unificata multi-motore per aggregare e convalidare la sicurezza dei link in tempo reale.
Un'applicazione Android moderna per l'analisi completa della sicurezza degli URL, che combina più API di rilevamento delle minacce con un rilevamento avanzato dello spoofing dei domini per proteggere gli utenti da siti web dannosi.
Crea un file secrets.properties nella directory principale:
ABUSEIPDB_API_KEY=tua_chiave_abuseipdb
VIRUSTOTAL_API_KEY=tua_chiave_virustotal
URLSCAN_API_KEY=tua_chiave_urlscan
Importante: Utilizzando questa applicazione, devi rispettare i Termini di Servizio di ciascun fornitore API:
Clona il repository
git clone <repository-url>
cd olyx
Configura le chiavi API
cp secrets.properties.example secrets.properties
# Modifica secrets.properties con le tue chiavi API
Compila ed esegui
./gradlew assembleDebug
./gradlew installDebug
olyx/
├── app/
│ ├── src/main/
│ │ ├── java/com/olyx/
│ │ │ ├── data/
│ │ │ │ ├── Models.kt # ApiResult, HistoryEntry
│ │ │ │ ├── HistoryManager.kt # Logica di persistenza
│ │ │ │ └── SpoofingDetector.kt # Motore di analisi domini
│ │ │ ├── network/
│ │ │ │ └── ApiService.kt # Integrazioni API
│ │ │ ├── ui/
│ │ │ │ ├── components/
│ │ │ │ │ ├── ApiScoreCard.kt # Risultati API individuali
│ │ │ │ │ └── GlobalScoreCard.kt # Visualizzazione punteggio aggregato
│ │ │ │ ├── screens/
│ │ │ │ │ ├── HomeScreen.kt # Inserimento URL
│ │ │ │ │ ├── AnalysisScreen.kt # Visualizzazione risultati
│ │ │ │ │ ├── HistoryScreen.kt # Cronologia ricerche
│ │ │ │ │ └── AboutScreen.kt # Informazioni app
│ │ │ │ ├── theme/
│ │ │ │ │ ├── Color.kt # Tavolozza tema scuro
│ │ │ │ │ ├── Theme.kt # Configurazione Material3
│ │ │ │ │ └── Type.kt # Tipografia
│ │ │ │ └── utils/
│ │ │ │ └── ScoreUtils.kt # Algoritmi di punteggio
│ │ │ ├── utils/
│ │ │ │ └── Constants.kt # Costanti dell'app
│ │ │ └── MainActivity.kt # Punto di ingresso
│ │ └── res/
│ │ ├── raw/
│ │ │ └── legitimate_domains.txt # Elenco domini protetti
│ │ └── font/
│ │ ├── gemunulibre_regular.ttf
│ │ └── redhatdisplay_regular.ttf
├── screens/ # Screenshot
├── build.gradle.kts
└── secrets.properties # Chiavi API (non nel repository)
Modifica app/src/main/res/raw/legitimate_domains.txt:
tua_banca.com
tua_banca.fr
tua_azienda.com
Modifica le soglie in SpoofingDetector.kt:
private fun calculateSuspicion(...): Int {
if (distance == 1) return 90 // Molto simile → Rischio alto
if (distance == 2) return 70 // Abbastanza simile → Rischio medio
if (distance == 3) return 50 // Meno simile → Rischio medio-basso
}
Aggiorna l'impatto dello spoofing in ScoreUtils.kt:
val penalty = (spoofingResult.suspicionLevel * 0.5).toInt() // 50% del livello di sospetto
# Esegui test unitari
./gradlew test
# Esegui test strumentati
./gradlew connectedAndroidTest
# Genera report di copertura
./gradlew jacocoTestReport
Utilizza l'analisi della deviazione statistica:
Punteggio Base = Media(Punteggi API)
Penalità = Livello di Sospetto × 0.5
Punteggio Finale = max(0, Punteggio Base - Penalità)
Calcola il numero minimo di operazioni di modifica (inserimento/cancellazione/sostituzione) tra stringhe per rilevare il typosquatting.
Questo progetto è concesso in licenza ai termini della GNU Affero General Public License v3.0. Vedi LICENSE per i dettagli.