close

AiSOC

Mã nguồn mở bởi beenuar

AiSOC là trung tâm điều hành an ninh mạng (SOC) mã nguồn mở, tự host được, có AI agent hỗ trợ phân loại cảnh báo. Hệ thống nhận log từ các công cụ bảo mật, chạy luật phát hiện, gom cảnh báo thành sự cố, để agent điều tra và đề xuất hành động cho người duyệt.

AiSOC dùng để làm gì?

  • Gom log từ EDR, SIEM, đám mây (AWS, GCP, Azure), Okta, Kubernetes, syslog/CEF về một nơi
  • Chạy luật phát hiện có sẵn và gom các cảnh báo liên quan thành sự cố
  • Để AI agent phân loại cảnh báo, ghi lại toàn bộ prompt, lệnh gọi công cụ và kết luận
  • Duyệt hoặc từ chối hành động phản ứng trước khi hệ thống tác động tới công cụ bên ngoài
  • Tra cứu danh mục lỗ hổng đang bị khai thác CISA KEV ngay sau khi cài, không cần API key

Giao diện

Ảnh và video lấy từ README của dự án trên GitHub, bản quyền thuộc nhóm phát triển.

Cần biết trước khi dùng

  • Cần chú ýHướng dẫn cài có dạng "curl … | sh": chạy script từ Internet trực tiếp, nên đọc script trước khi chạy.
  • Lưu ýDependency được khai báo theo khoảng phiên bản (ví dụ ">="), chưa tra lỗ hổng tự động được. Cần quét trên bản cài thật.
  • Lưu ýTino chưa kiểm thử việc cài ứng dụng này lên VPS.

Kiểm tra tự động ngày 04/11/2026 từ dữ liệu GitHub, OSV.dev và docker-compose. Đây không phải chứng nhận bảo mật; Tino không phát triển hay bảo trì repo này.

AiSOC là gì?

Đội bảo mật nhỏ thường bị ngập trong cảnh báo từ nhiều công cụ khác nhau, mỗi công cụ một định dạng. AiSOC chuẩn hoá dữ liệu về một khuôn chung, đưa qua Kafka, chạy bộ luật phát hiện (theo README: 2538 luật thực thi được trong thư viện 7023 luật, kèm 76 luật theo cửa sổ thời gian), rồi gom các cảnh báo liên quan thành sự cố. Mỗi sự cố được một AI agent điều tra; mọi prompt, lệnh gọi công cụ, trích dẫn và chi phí token ghi vào Investigation Ledger, xuất được thành gói bằng chứng có chữ ký.

Mô hình AI chạy ngay trong bộ cài: Ollama với llama3.2 3B lượng tử hoá (khoảng 2 GB), chạy bằng CPU, nên bản mặc định không gửi prompt ra ngoài và không cần API key. README nói rõ đây không phải mô hình mạnh; bạn có thể chuyển sang GPU, mô hình trên máy chủ khác hoặc nhà cung cấp riêng trong giao diện.

Agent không tự viết SQL mà gọi các công cụ có kiểu cố định. Playbook phản ứng mặc định chỉ chạy ở chế độ xem trước; muốn chạy thật phải bật ở cả ba cấp (triển khai, tenant, playbook) và có người duyệt khác người yêu cầu. Hệ thống có SSO SAML/OIDC, SCIM, MFA, phân quyền RBAC và cách ly dữ liệu theo tenant.

README tự nêu giới hạn: AiSOC không thay được SIEM cho việc lưu log dài hạn và tra cứu tuân thủ, không tự dò được dữ liệu bạn chưa kết nối. Dự án theo giấy phép MIT, do công ty bảo mật Cyble tài trợ phát triển.

Nên dùng khi

  • Đội bảo mật hoặc IT nhỏ cần gom cảnh báo từ nhiều nguồn và có AI phân loại sơ bộ
  • Bạn muốn thử SOC có AI mà không gửi log nhạy cảm cho dịch vụ AI bên ngoài
  • Bạn cần lưu vết đầy đủ AI đã làm gì và vì sao khi kết luận một cảnh báo

Không nên dùng khi

  • VPS dưới 8 GB RAM hoặc dưới 20 GB ổ trống: bản core cần chừng đó cho Docker, bản full cần khoảng 12 GB RAM
  • Bạn cần hệ thống lưu log dài hạn để đáp ứng kiểm toán, tuân thủ: README nói AiSOC không thay SIEM cho việc này
  • Bạn mong AI tự xử lý sự cố không cần người: mặc định mọi hành động phản ứng đều cần người duyệt
  • Chưa có người hiểu vận hành bảo mật để rà luật, cảnh báo và quyền truy cập: hệ thống chứa log nhạy cảm và thông tin đăng nhập các công cụ bảo mật của bạn

Tính năng chính

  • 90 connector cấu hình bằng giao diện (Splunk, Sentinel, Elastic, CrowdStrike, Okta, AWS…) và API nhận log
  • Bộ thu cho CloudTrail qua S3/SQS, GCP Pub/Sub, Azure Event Hubs và syslog/CEF
  • Luật phát hiện chạy trên dữ liệu thật, tinh chỉnh tắt/bật, ngưỡng theo từng tenant
  • AI agent phân loại cảnh báo, ghi Investigation Ledger và xuất gói bằng chứng có chữ ký
  • Playbook phản ứng có bước duyệt, tạm dừng bền vững qua khởi động lại
  • Công cụ chuyển luật Splunk SPL, Sentinel KQL, Elastic EQL (chỉ chuyển phần chuyển được)
  • Bản full thêm kho sự kiện ClickHouse, đồ thị thực thể Neo4j, tìm kiếm toàn văn, săn mối đe doạ
  • SSO SAML/OIDC, SCIM, MFA TOTP, RBAC, máy chủ MCP cho Claude Desktop, Cursor, Continue

Cách deploy AiSOC lên VPS bằng Docker

  1. Tạo VPS Chọn gói VPS 160 GB NVMe (8 vCPU · 8 GB RAM · 160 GB NVMe), hệ điều hành Ubuntu 24.04. VPS khởi tạo trong khoảng 5 phút. Tạo VPS cho AiSOC
  2. Cài Docker trên VPS (Ubuntu 24.04) Đăng nhập VPS bằng SSH với tài khoản root rồi chạy. Docker lấy từ kho phần mềm chính thức của Ubuntu.
    apt update && apt install -y docker.io docker-compose-v2 git
    systemctl enable --now docker
  3. Tải mã nguồn Ngoài Docker Compose v2, máy cần python3 3.9 trở lên, bash và make. Bản docker-compose v1 không được hỗ trợ.
    git clone https://github.com/beenuar/AiSOC && cd AiSOC
  4. Kiểm tra máy trước khi cài Kiểm tra công cụ, RAM, ổ đĩa và các cổng (5432, 6379, 9092, 3000…), rồi in lệnh nên chạy tiếp.
    make doctor
  5. Khởi động bản core Tạo file .env, sinh 15 khoá bí mật, dựng 16 container, tạo tài khoản quản trị và in mật khẩu ra màn hình đúng một lần: hãy lưu lại ngay. Lần chạy đầu tải mô hình khoảng 2 GB. Nếu cổng bị chiếm, AiSOC tự chuyển sang cổng trống và in địa chỉ đăng nhập mới.
    make up
  6. Kiểm tra hệ thống chạy đúng Gửi một sự kiện thật qua toàn bộ luồng (nhận log, Kafka, phát hiện, gom sự cố, Postgres) rồi đọc lại qua API; mỗi bước báo PASS hoặc FAIL.
    make smoke
  7. Tuỳ chọn: bản full Thêm kho sự kiện, đồ thị thực thể, tìm kiếm toàn văn và làm giàu dữ liệu: 22 container, cần khoảng 12 GB RAM.
    make up-full
  8. Mở ứng dụng Truy cập http://IP-VPS:3000 (hoặc địa chỉ make up in ra nếu cổng 3000 đã bị chiếm); API nhận log ở cổng 8081 (thay IP-VPS bằng địa chỉ IP của VPS). Nên gắn tên miền và SSL trước khi dùng thật.

Lệnh cài ứng dụng chép từ README của dự án. Đọc trước khi chạy trên máy chủ thật.

Biến môi trường quan trọng

BiếnÝ nghĩa
.envDo make up tự tạo, chứa 15 khoá bí mật: kho thông tin đăng nhập, khoá ký phiên, mật khẩu các kho dữ liệu
AISOC_CREDENTIAL_KEYKhoá mã hoá thông tin đăng nhập connector (khoá Fernet). Mất khoá này là mất toàn bộ thông tin đăng nhập đã lưu
AISOC_INGEST_TOKENToken gửi log qua API nhận log, tạo bằng make ingest-token; tenant xác định theo token
AISOC_MIGRATIONS_STRICTĐặt 1 khi nâng cấp để dừng hẳn nếu migration lỗi, tránh để schema áp dụng dở
AISOC_DIRThư mục cài khi dùng script cài một dòng (mặc định $HOME/aisoc)

Cách dùng sau khi cài

  1. Đăng nhậpMở địa chỉ make up in ra, đăng nhập bằng tài khoản quản trị và mật khẩu vừa nhận. Quên mật khẩu thì chạy make bootstrap ARGS=--reset-password để tạo mật khẩu mới.
  2. Nạp dữ liệu mẫuTenant chưa có dữ liệu sẽ vào trình hướng dẫn cài đặt. Bấm Load sample data để đẩy 5 kịch bản mẫu qua đúng luồng xử lý thật; dữ liệu mẫu được gắn nhãn và không đánh dấu hoàn tất cài đặt.
  3. Kết nối nguồn log thậtVào Settings → Connectors để chọn connector có sẵn, hoặc tạo token bằng make ingest-token rồi POST sự kiện tới http://localhost:8081/v1/ingest/batch kèm header Authorization: Bearer.
  4. Xem kết luận của AIMở một cảnh báo để xem kết luận, độ tin cậy và lý giải của agent trong Investigation Rail; toàn bộ prompt và lệnh gọi công cụ nằm trong Investigation Ledger.
  5. Khi gặp lỗiChạy make doctor. Kafka báo khoẻ mà không có dữ liệu chạy qua thường do Docker hết ổ đĩa; container khởi động lại liên tục trên máy 8 GB thì dùng bản core thay vì full.

Cập nhật và sao lưu

Sao lưu bằng ./scripts/backup.sh --component all: gồm Postgres (cảnh báo, sự cố, người dùng, chính sách, nhật ký kiểm toán), ClickHouse, Neo4j, Qdrant, Redis và plugin; các bản sao lưu được mã hoá AES-256-GCM. Khôi phục bằng ./scripts/restore.sh --timestamp kèm mốc thời gian. Lưu riêng AISOC_CREDENTIAL_KEY cùng bản sao lưu.

Tài liệu nâng cấp yêu cầu đọc CHANGELOG, sao lưu database, rồi theo quy trình dừng, git checkout phiên bản mới, chạy migration (aisoc db upgrade) và khởi động lại API. Mô hình AI nằm trong volume, chỉ make clean mới xoá.

Câu hỏi thường gặp

AiSOC có bắt buộc dùng API key của OpenAI hay Claude không?

Không. Bản mặc định chạy mô hình llama3.2 3B qua Ollama ngay trên máy chủ, không gửi prompt ra ngoài. Bạn có thể đổi sang nhà cung cấp riêng trong giao diện, nhưng README ghi chưa thử với nhà cung cấp hosted nào.

VPS 4 GB RAM có chạy được AiSOC không?

Không đủ theo tài liệu. Bản core cần 8 GB RAM và 20 GB ổ trống cho Docker; dưới khoảng 2 GB ổ trống, Kafka có thể hỏng thư mục log mà vẫn báo khoẻ.

AI có tự chặn IP, khoá tài khoản khi phát hiện tấn công không?

Mặc định là không. Hành động phản ứng chỉ chạy thật khi được bật ở cả ba cấp và có người duyệt; người duyệt phải đủ quyền và khác người yêu cầu.

Có thử AiSOC mà không cài Docker được không?

Có. Lệnh pip install aisoc-sandbox && aisoc-sandbox demo chạy thử một cảnh báo qua luồng agent, không cần mạng. Bạn cũng có thể mở repo trong GitHub Codespaces rồi chạy make up.

Ứng dụng liên quan

Miễn trừ trách nhiệm

Tino không phát triển, không sở hữu và không liên kết với AiSOC hay nhóm phát triển beenuar. Tên, logo và nhãn hiệu thuộc về chủ sở hữu tương ứng; việc nhắc tới chỉ để mô tả, không có nghĩa là dự án xác nhận hay hợp tác với Tino.

AiSOC được phân phối theo giấy phép MIT của nhóm phát triển. Tino không bảo đảm về tính năng, bảo mật hay mức độ phù hợp của phần mềm; bạn tự chịu trách nhiệm khi cài đặt, cấu hình và sử dụng.

Lệnh cài và thông tin trên trang lấy từ tài liệu công khai của dự án tại thời điểm cập nhật và có thể đã thay đổi. Đọc tài liệu chính thức và sao lưu dữ liệu trước khi chạy trên máy chủ thật.