File size: 2,499 Bytes
0e91d38
c34f27d
 
 
 
 
781f9d1
0e91d38
c34f27d
0e91d38
 
a088502
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
---
title: InfoSecAI-finalProj-backend
emoji: 🌍
colorFrom: green
colorTo: pink
sdk: gradio
sdk_version: 6.9.0
app_file: app.py
pinned: false
---

# InfoSecAI-finalProj

這是一個基於 Gradio 的資訊安全防護系統,用於模擬校園入口網站的異常行為檢測和身份驗證。系統利用 HDBSCAN 進行異常檢測,並結合環境變數來設定 SMTP 郵件通知。

## 專案結構

```
InfoSecAI-finalProj/
├── app.py                      # Gradio 應用程式主檔案
├── requirements.txt            # Python 依賴項清單
├── SimHei.ttf                  # 中文字體檔案 (用於 Matplotlib 顯示)
├── baseline_logs.csv           # 歷史日誌數據 (用於模型訓練和基準)
├── hdbscan_model.pkl           # HDBSCAN 模型檔案
├── le_action.pkl               # Label Encoder (action)
├── le_ip.pkl                   # Label Encoder (IP)
├── logger_service.py           # 日誌服務模組
└── README.md                   # 專案說明文件 (包含 Hugging Face Spaces 配置)
```

## 環境變數設定 (Hugging Face Spaces)

為了應用程式能正常運作,請在 Hugging Face Spaces 的「Settings」->「Repository secrets」中設定以下環境變數:

*   `SMTP_HOST`:SMTP 伺服器地址
*   `SMTP_PORT`:SMTP 伺服器端口 (通常是 587)
*   `SMTP_USERNAME`:SMTP 登入用戶名 (發送郵件的郵箱地址)
*   `SMTP_PASSWORD`:SMTP 登入密碼 (或應用程式專用密碼)
*   `SMTP_FROM`:發送郵件的地址 (如果與 SMTP_USERNAME 相同則可省略)
*   `APP_BASE_URL`:您的 Hugging Face Spaces 應用程式的 URL (例如 `https://your-username-your-space-name.hf.space`)
*   `FIXED_TEST_EMAIL`:用於測試郵件發送的固定電子郵件地址
*   `GROQ_API_KEY`:如果啟用 Groq AI 分析功能,請提供 API Key
*   `ENABLE_HDBSCAN`:設置為 `1` 以啟用 HDBSCAN 異常檢測,設置為 `0` 則禁用。

## 啟動應用程式

Hugging Face Spaces 會自動安裝 `requirements.txt` 中的依賴並運行 `app.py`。您無需手動執行啟動指令。

## 測試與使用

1.  部署後,訪問您的 Hugging Face Spaces URL。
2.  透過模擬器輸入 IP、Cookie 等資訊,並嘗試登入或執行各項操作。
3.  觀察「即時 Log 與 AI 判定區」和「異常 Log 分析」來查看系統的檢測結果。
4.  您也可以在管理員介面調整防護強度和觸發自動測試。

如有任何問題,請隨時提出!