--- 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. 您也可以在管理員介面調整防護強度和觸發自動測試。 如有任何問題,請隨時提出!