
🔗 URI検証のための軽量セキュリティオーケストレーターモバイルアプリケーション。統合されたマルチエンジンインターフェースを提供し、リンクの安全性をリアルタイムで集約・検証します。
複数の脅威検出APIと高度なドメインスプーフィング検出を組み合わせ、悪意のあるWebサイトからユーザーを保護する、最新のAndroid向け包括的URLセキュリティ分析アプリケーションです。
ルートディレクトリにsecrets.propertiesファイルを作成します:
ABUSEIPDB_API_KEY=your_abuseipdb_key
VIRUSTOTAL_API_KEY=your_virustotal_key
URLSCAN_API_KEY=your_urlscan_key
重要:本アプリケーションを使用する際は、各APIプロバイダーの利用規約に従う必要があります:
リポジトリをクローン
git clone <repository-url>
cd olyx
APIキーを設定
cp secrets.properties.example secrets.properties
# secrets.propertiesを編集してAPIキーを設定
ビルドと実行
./gradlew assembleDebug
./gradlew installDebug
olyx/
├── app/
│ ├── src/main/
│ │ ├── java/com/olyx/
│ │ │ ├── data/
│ │ │ │ ├── Models.kt # ApiResult, HistoryEntry
│ │ │ │ ├── HistoryManager.kt # Persistence logic
│ │ │ │ └── SpoofingDetector.kt # Domain analysis engine
│ │ │ ├── network/
│ │ │ │ └── ApiService.kt # API integrations
│ │ │ ├── ui/
│ │ │ │ ├── components/
│ │ │ │ │ ├── ApiScoreCard.kt # Individual API results
│ │ │ │ │ └── GlobalScoreCard.kt # Aggregate score display
│ │ │ │ ├── screens/
│ │ │ │ │ ├── HomeScreen.kt # URL input
│ │ │ │ │ ├── AnalysisScreen.kt # Results display
│ │ │ │ │ ├── HistoryScreen.kt # Search history
│ │ │ │ │ └── AboutScreen.kt # App information
│ │ │ │ ├── theme/
│ │ │ │ │ ├── Color.kt # Dark theme palette
│ │ │ │ │ ├── Theme.kt # Material3 setup
│ │ │ │ │ └── Type.kt # Typography
│ │ │ │ └── utils/
│ │ │ │ └── ScoreUtils.kt # Scoring algorithms
│ │ │ ├── utils/
│ │ │ │ └── Constants.kt # App constants
│ │ │ └── MainActivity.kt # Entry point
│ │ └── res/
│ │ ├── raw/
│ │ │ └── legitimate_domains.txt # Protected domains list
│ │ └── font/
│ │ ├── gemunulibre_regular.ttf
│ │ └── redhatdisplay_regular.ttf
├── screens/ # Screenshots
├── build.gradle.kts
└── secrets.properties # API keys (not in repo)
app/src/main/res/raw/legitimate_domains.txtを編集:
yourbank.com
yourbank.fr
yourbusiness.com
SpoofingDetector.ktのしきい値を変更:
private fun calculateSuspicion(...): Int {
if (distance == 1) return 90 // Very similar → High risk
if (distance == 2) return 70 // Somewhat similar → Medium risk
if (distance == 3) return 50 // Less similar → Low-Medium risk
}
ScoreUtils.ktのスプーフィング影響を更新:
val penalty = (spoofingResult.suspicionLevel * 0.5).toInt() // 50% of suspicion level
# 単体テストを実行
./gradlew test
# インストルメントテストを実行
./gradlew connectedAndroidTest
# カバレッジレポートを生成
./gradlew jacocoTestReport
統計的偏差分析を使用:
Base Score = Average(API Scores)
Penalty = Suspicion Level × 0.5
Final Score = max(0, Base Score - Penalty)
文字列間の最小編集操作(挿入/削除/置換)を計算し、タイポスクワッティングを検出します。
このプロジェクトはGNU Affero General Public License v3.0の下でライセンスされています。詳細はLICENSEを参照してください。