LogSentinelAI — แค่ประกาศโครงสร้าง แล้วให้ LLM วิเคราะห์ล็อกได้เลย (PoC)
(github.com/call518)สวัสดีครับ!
ตอนนี้ผมกำลังทำโปรเจกต์โอเพนซอร์สชื่อ LogSentinelAI ที่เกี่ยวกับการทำระบบวิเคราะห์ล็อกแบบอัตโนมัติอยู่ครับ
เครื่องมือนี้สามารถใช้ LLM(AI) วิเคราะห์เหตุการณ์ด้านความปลอดภัยหรือสัญญาณความผิดปกติจากล็อกของระบบหลากหลายประเภท เช่น Apache, Linux และยังเชื่อมต่อกับ Elasticsearch/Kibana เพื่อการแสดงผลแบบภาพได้อีกด้วย
รองรับ GeoIP, การมอนิเตอร์แบบเรียลไทม์, การวิเคราะห์ล็อกระยะไกลผ่าน SSH และผลลัพธ์จะออกมาเป็น JSON แบบมีโครงสร้าง จึงนำไปใช้ต่อกับงานสถิติหรือแดชบอร์ดได้ทันที
⚡️ Declarative Extraction (การดึงข้อมูลแบบประกาศโครงสร้าง)
ความสามารถหลักของ LogSentinelAI คือ แค่นักพัฒนาประกาศโครงสร้างผลลัพธ์ที่ต้องการ แล้ว LLM จะวิเคราะห์ล็อกให้โดยอัตโนมัติตามโครงสร้างนั้นและส่งกลับเป็น JSON
กล่าวคือ โดยไม่ต้องมีการพาร์สหรือทำ post-processing ที่ซับซ้อน แค่กำหนดว่า “ต้องการดึงอะไรออกมา” แล้ว AI จะจัดการส่วน “ดึงอย่างไร” ให้เอง
# ตัวอย่าง: ในตัววิเคราะห์ HTTP Access log แค่ประกาศโครงสร้างผลลัพธ์ที่ต้องการ
from pydantic import BaseModel
class MyAccessLogResult(BaseModel):
ip: str
url: str
is_attack: bool
# หากกำหนดเพียงโครงสร้างผลลัพธ์ (Pydantic class) แบบด้านบน
# LLM จะวิเคราะห์แต่ละล็อกโดยอัตโนมัติและคืนค่า JSON ในลักษณะนี้:
# {
# "ip": "192.168.0.1",
# "url": "/admin.php",
# "is_attack": true
# }
ตอนนี้ยังมีหลายจุดที่ต้องพัฒนาอยู่ แต่ถ้าใครสนใจเรื่องระบบวิเคราะห์ล็อกอัตโนมัติหรือความปลอดภัย อยากให้ลองนำไปใช้ดูสักครั้งครับ
หากช่วยแชร์ข้อเสนอแนะหรือไอเดียในการปรับปรุง จะเป็นประโยชน์อย่างมากเลยครับ
โปรเจกต์: https://github.com/call518/LogSentinelAI
ขอบคุณครับ!
ยังไม่มีความคิดเห็น