凌晨三點,系統吐出十萬行 Log:登入失敗暴增、API 大量回傳 403、WAF 又攔到可疑請求。逐行看完不可能,這種時候 AI 確實幫得上忙——把相似事件分群、壓成摘要,再圈出不尋常的片段。例如同一帳號在短時間內大量登入失敗,或某支 API 的錯誤率突然拉高。
Qi 等人(2023)的 LogGPT 就是這個方向的嘗試:讓大型語言模型讀懂 Log 的語意,判斷一段序列是否異常。但他們自己的實驗也記了一筆——LogGPT 把相當多正常序列判成了異常,誤報並不低。
這一筆值得放大:異常不等於攻擊。 備份作業、壓力測試、批次匯入、剛上線的新版本,看起來都可以很可疑。反過來也一樣,AI 手上只有這一段 Log、沒有營運脈絡,本來就可能漏掉真正有問題的事件。
所以 AI 交給你的不是結論,是一份「這幾段值得看」的清單。
把清單變成能力,是 Detection Engineering 的工作:把線索寫成規則,讓它下次自動觸發,能被測試、能調門檻,然後持續盯著誤報與漏報怎麼變化。AI 幫你從監視器裡圈出可疑片段,偵測工程才是那個決定「什麼情況要響鈴」的人。
驗收方式很具體:AI 找到的異常,能不能寫成一條下次會自動觸發、而且你敢讓它半夜叫人的規則?
能寫成規則,它才開始變成偵測能力。寫不出來,它到目前為止只是一次觀察——而觀察不會在下一個凌晨三點自己醒來。
下一篇換個場景:Log 缺了營運脈絡會誤判,那程式碼呢?
Jiaxing Qi, Shaohan Huang, Zhongzhi Luan, Carol Fung, Hailong Yang & Depei Qian, LogGPT: Exploring ChatGPT for Log-Based Anomaly Detection, IEEE HPCC/DSS/SmartCity/DependSys 2023, pp. 273–280(arXiv:2309.01189)。注意同年另有一篇同名論文(Han et al., arXiv:2309.14482),主題相近但方法不同。
Min Du, Feifei Li, Guineng Zheng & Vivek Srikumar, DeepLog: Anomaly Detection and Diagnosis from System Logs through Deep Learning, ACM CCS 2017。