Featured image of post Giải ngố PentAGI: Tự Động Hóa Pentest Với AI Đa Tác Vụ

Giải ngố PentAGI: Tự Động Hóa Pentest Với AI Đa Tác Vụ

Cùng tìm hiểu chi tiết về PentAGI, một hệ thống kiểm thử xâm nhập (pentest) tự động kết hợp hơn 20 công cụ bảo mật với kiến trúc AI đa tác vụ thông minh.

Chào mừng bạn quay lại với chuỗi bài phân tích GitHub! Hôm nay, chúng ta sẽ xem xét PentAGI, một dự án đột phá mang khái niệm Trí tuệ Nhân tạo Tổng quát (AGI) vào thế giới kiểm thử xâm nhập (pentesting).

Hãy quên đi những công cụ quét lỗ hổng đơn giản—công cụ này điều phối nhiều agent (tác nhân) AI để suy nghĩ, lên kế hoạch và thực hiện các cuộc tấn công mạng thực sự trong một môi trường bị cô lập.

Cùng phân tích nó qua Mô hình Tư duy của chúng ta nhé.


Phần 1: Nền tảng (Mô hình Tư duy)

Hãy coi các công cụ quét bảo mật tiêu chuẩn giống như một trình kiểm tra lỗi chính tả. Chúng tìm kiếm các mẫu lỗi đã biết (như thư viện lỗi thời hoặc thiếu header) và cung cấp cho bạn danh sách các cảnh báo.

Ngược lại, PentAGI giống như việc bạn thuê toàn bộ một nhóm kỹ sư bảo mật. Khi bạn trỏ nó vào một mục tiêu, nó không chỉ quét; nó còn:

  1. Nghiên cứu (Research) dấu vết của hệ thống mục tiêu qua các bộ thu thập web (scraper) và tìm kiếm bên ngoài.
  2. Lên kế hoạch (Plan) tấn công bằng cách dùng tác nhân Developer hiểu biết về hơn 20 công cụ chuyên nghiệp (như nmap, sqlmap, metasploit).
  3. Thực thi (Execute) các cuộc tấn công, tự động thích ứng nếu bị chặn bởi tường lửa, và ghi nhớ những gì hiệu quả cho bước tiếp theo.
  4. Báo cáo (Report) hướng dẫn khai thác chi tiết.

Mô hình Tư duy: PentAGI = Hệ thống AI Đa tác vụ + Bộ công cụ chuẩn Kali Linux được sandbox hóa + Đồ thị Lưu trữ Bộ nhớ vĩnh viễn (Persistent Memory Graph).


Phần 2: Điều tra chuyên sâu

Dưới mui xe, PentAGI là một tuyệt tác của kiến trúc microservices hiện đại, tận dụng mạnh mẽ Go, PostgreSQL, và Database Đồ thị (Graph DB).

Dưới đây là các trụ cột kiến trúc cốt lõi:

  • Bộ Não (Hệ thống AI Đa tác vụ): Một công cụ điều phối (Orchestrator) chia nhỏ nhiệm vụ cho các tác nhân Researcher (Nhà nghiên cứu), Developer (Nhà phát triển), và Executor (Người thực thi).
  • Bộ Nhớ (Graphiti & pgvector): Đây là yếu tố thay đổi cuộc chơi. PentAGI sử dụng Knowledge Graph dựa trên Neo4j (Graphiti) để lưu trữ mối quan hệ giữa các thực thể (vd: endpoint này dùng DB này, DB này dễ bị dính mã lỗi CVE này). Nó cũng dùng PostgreSQL với pgvector để nhớ các chuỗi khai thác thành công trong quá khứ.
  • Cơ Bắp (Công cụ bị cô lập): Hệ thống kết nối với môi trường Docker được sandbox (cô lập) nơi các lệnh được thực thi cực kỳ an toàn.
  • Hệ Thần Kinh (Hệ thống Quan sát - Observability): Tích hợp sẵn logging với OpenTelemetry, Grafana, Jaeger, và nền tảng phân tích LLM Langfuse.

Điểm mấu chốt là nó hoàn toàn không phụ thuộc vào mô hình AI cụ thể nào (model-agnostic). Bạn có thể cắm OpenAI, Anthropic, Gemini, AWS Bedrock, hoặc thậm chí là các mô hình nội bộ (local) qua Ollama.


Phần 3: Chẩn đoán tính năng

Điều này có ý nghĩa gì đối với lập trình viên Python và Web?

Thông thường, pentest là một quy trình bên ngoài được thực hiện ngay trước khi ra mắt sản phẩm. Các API toàn diện (REST và GraphQL) của PentAGI cho phép bạn tích hợp red-teaming tự động trực tiếp vào CI/CD của bạn.

Use-Case thực tế: Pentest Web trong CI/CD

Thay vì chỉ chạy unit test, bạn có thể trigger (kích hoạt) một AI agent tự động tấn công môi trường staging của bạn.

Ở hậu trường, tác nhân tuân thủ theo các câu lệnh prompt (lệnh hướng dẫn) quy tắc khắt khe. Dưới đây là đoạn trích về cách PentAGI hướng dẫn các tác nhân bên trong để làm một bài Pentest Web toàn diện:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 1. Collect All Endpoints of the Application
Navigate through pages, document exact URLs, inputs, and file upload endpoints.

# 2. Perform Checks on Inputs
- Path Traversal: Read /etc/passwd on Linux targets
- CSRF: Convert POST to GET, test without tokens
- XSS: Inject unique strings like XSS_TEST_123, bypass filters
- SQLi: Map inputs and run sqlmap with tamper scripts
- Command Injection: Use time-based payloads (e.g., \`sleep 10\`)
- SSRF: OOB interaction via Interactsh

Ví dụ Code: Kích hoạt Flow qua GraphQL

Vì PentAGI coi mọi thứ như một “Flow” (Luồng), lập trình viên có thể dùng code để tự động bắt đầu một đợt pentest thông qua token Bearer tiêu chuẩn.

1
2
3
4
5
6
curl -X POST https://your-pentagi-instance:8443/api/v1/graphql \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "mutation { createFlow(modelProvider: \"openai\", input: \"Test the security of https://staging.myapp.com focusing on SQLi on the search endpoint\") { id title status } }"
  }'

Xử lý Cửa sổ Ngữ cảnh (Context Window) Khổng lồ

Nếu bạn đã từng vọc vạch tính năng agentic AI, bạn sẽ biết context (ngữ cảnh) bị phình lên cực kỳ nhanh. PentAGI giải quyết vấn đề này một cách tự nhiên (natively) thông qua hệ thống Chain Summarization (Tóm tắt chuỗi) dựa trên cấu trúc AST. Nó đánh chặn các mẩu tin nhắn LLM quá khổ, chọn lọc và tóm tắt lịch sử nhiệm vụ cũ vào pgvector, đồng thời giữ cho bộ nhớ làm việc ngay lập tức luôn mới mẻ. Đây là một pattern tuyệt vời mà các dev Python mảng AI nên học hỏi!


Phần 4: Giải pháp & Cách dùng

Việc bắt đầu sử dụng dễ dàng một cách đáng ngạc nhiên, cảm ơn Docker Compose.

  1. Clone Repo & Cấu hình:
1
2
git clone https://github.com/vxcontrol/pentagi.git && cd pentagi
curl -o .env https://raw.githubusercontent.com/vxcontrol/pentagi/master/.env.example

(Thêm API key của bạn vào file .env, ví dụ: OPEN_AI_KEY hoặc OLLAMA_SERVER_URL)

  1. Chạy Stack:
1
docker compose up -d
  1. Tương tác: Truy cập localhost:8443 cho giao diện người dùng, hoặc sử dụng các API playground. Bạn tạo một Trợ lý (Assistant) mới, gán cho nó một LLM, bật tính năng “Agent Delegation,” và giao cho nó một kịch bản tấn công.

Một Lời Cảnh Báo: PentAGI tự thực thi các mã khai thác (exploit) thực sự. Không bao giờ trỏ nó vào các hạ tầng mà bạn không trực tiếp sở hữu hoặc chưa được phép kiểm thử bằng văn bản. Luôn đảm bảo bạn chạy nó trong network docker được bảo mật.


Mô hình Tư duy Tổng kết

  • Các Công cụ Pentest Truyền thống: Thủ công, chính xác, nhưng đòi hỏi con người chắp vá các kết quả lại với nhau.
  • PentAGI: Một nhóm hacker hoàn chỉnh được đóng gói. Nó hiểu context, truy vấn kiến thức bằng các lỗ hổng đồ thị (knowledge graph), thực thi các lệnh CLI thật trong hộp cát (sandbox) và ghi nhớ điều gì thực sự tốt bằng cách rà soát vector.

Đối với các lập trình viên, nó biến pentesting từ một dịch vụ bên ngoài không minh bạch thành một vòng lặp phản hồi liên tục, hoạt động thông qua API.

Được tạo với sự lười biếng tình yêu 🦥

Subscribe to My Newsletter