Shannon: AI Pentester Tự Động Phá Vỡ Ứng Dụng Của Bạn Trước Khi Hacker Làm Điều Đó
Tìm hiểu Shannon - AI pentester tự động hoàn toàn của Keygraph, không chỉ cảnh báo mà thực sự khai thác lỗ hổng và trả về proof-of-concept.

Chào mừng trở lại với series GitHub Deep Dive! Hôm nay chúng ta sẽ khám phá Shannon - một AI pentester mã nguồn mở, hoàn toàn tự động do nhóm Keygraph phát triển.
Sứ mệnh của Shannon ngắn gọn: phá vỡ ứng dụng của bạn trước khi hacker làm điều đó. Nó không tạo ra một danh sách cảnh báo dài lê thê về các lỗ hổng tiềm năng - nó thực sự khai thác chúng và chỉ báo cáo những gì nó có thể chứng minh bằng bằng chứng thực tế.
Với tỷ lệ thành công 96.15% trên benchmark XBOW, Shannon đang đặt ra một tiêu chuẩn mới cho công cụ bảo mật tự động.
Hãy cùng phân tích qua mô hình tư duy của chúng ta.
Tóm tắt (TL;DR)
Hộp Trả Lời Nhanh (Quick Answer Box cho Google Search):
- Shannon là gì? AI pentester tự động hoàn toàn và mã nguồn mở do đội ngũ Keygraph phát triển. Thay vì tạo danh sách cảnh báo lý thuyết, Shannon trực tiếp tấn công khai thác lỗ hổng và trả về mã lệnh curl chứng minh (Proof-of-Exploit).
- Độ chính xác: Đạt tỷ lệ thành công 96.15% trên benchmark bảo mật chuẩn XBOW.
- Công nghệ cốt lõi: Kết hợp LLM với các công cụ an ninh mạng thực thụ (Caido proxy, Nuclei, Playwright browser) và điều phối trạng thái bền vững qua Temporal workflow.
- Kho mã nguồn: KeygraphHQ/shannon trên GitHub.
Shannon của đội ngũ Keygraph là công cụ kiểm thử xâm nhập (pentesting) AI hoàn toàn tự động và mã nguồn mở, trực tiếp thực thi các mã khai thác lỗ hổng thực tế thay vì đưa ra hàng tá cảnh báo lý thuyết suông.
- Tiêu chuẩn Proof-of-Exploit: Bỏ qua các giả định mơ hồ: chỉ báo cáo những lỗ hổng mà agent đã tấn công thành công và cung cấp lệnh curl tái hiện chính xác.
- Pipeline 4 giai đoạn tự trị: Thu thập thông tin (Recon) -> Dựng mô hình bề mặt tấn công -> Khai thác lỗ hổng thực tế -> Báo cáo giải pháp.
- Vượt rào xác thực và 2FA: Vận hành mượt mà bên trong phiên đăng nhập nhiều bước, kiểm tra triệt để lỗi phân quyền BOLA, IDOR giữa các tenant.
- Kho lưu trữ: KeygraphHQ/shannon
Bản đồ Tư duy (Beginner Map)
Lối Tắt 3 Phút: Quét & Khai Thác Thử Nghiệm Với Shannon (The Fast Path)
Nếu bạn muốn kiểm tra lỗ hổng của ứng dụng web nội bộ trong 3 phút:
- Khởi động: Clone repo và bật các dịch vụ hỗ trợ bằng Docker:
git clone https://github.com/KeygraphHQ/shannon.git cd shannon && docker compose up -d - Cấu hình mục tiêu: Khai báo URL ứng dụng staging và tài khoản thử nghiệm trong file cấu hình
target.yaml. - Khai hỏa pentest: Chạy lệnh quét tự động:
pnpm run test:target --url http://staging.internal:3000 - Nhận báo cáo: Kiểm tra thư mục
reports/để lấy chi tiết mã khai thác curl và hướng dẫn vá lỗi cụ thể.
Nếu bạn đang cân nhắc ứng dụng AI agent vào bảo mật ứng dụng web, hãy tiếp cận Shannon qua 4 chặng:
- Nền tảng: Hiểu vì sao các công cụ quét mã tĩnh truyền thống gây nhiễu thông tin và tại sao khai thác thực tế mới là thước đo chính xác.
- Khảo sát: Pipeline đa tác nhân 4 giai đoạn kết hợp các công cụ bảo mật thực thụ (Caido, Nuclei, Playwright).
- Chẩn đoán: Cơ chế lưu giữ trạng thái phiên xác thực có 2FA và khả năng tiếp tục chạy từ điểm dừng qua Temporal workflow.
- Thực chiến: Hướng dẫn dựng môi trường staging cục bộ, cấu hình mục tiêu và kiểm tra bản vá bảo mật tự động.
Phần 1: Nền Tảng (Mental Model)
Các công cụ bảo mật truyền thống giống như máy phát hiện khói - chúng cảnh báo khi phát hiện một pattern trông có vẻ nguy hiểm. Chúng quét chữ ký đã biết, cấu hình sai, và fingerprint. Chúng tạo ra danh sách dài “các vấn đề tiềm năng.” Sau đó con người phải tự phân loại cái nào thực sự quan trọng.
Shannon giống như một đội red team theo yêu cầu. Nó tư duy như một pen tester con người:
- Lập bản đồ bề mặt tấn công bằng cách đọc source code và crawl live app.
- Đặt giả thuyết về những code path nào có thể bị khai thác (injection sink, auth bypass vector, SSRF trigger).
- Chứng minh bằng thực tế - thực sự bắn payload vào instance đang chạy thông qua browser tích hợp và công cụ CLI.
- Chỉ báo cáo những gì đã được xác nhận kèm Proof-of-Concept copy-paste được.
Điểm mấu chốt: “No Exploit, No Report.” Nếu Shannon không thể chứng minh lỗ hổng có thể khai thác được, nó loại bỏ nó. Điều này loại bỏ lượng false-positive khổng lồ mà các scanner truyền thống tạo ra.
Mental Model: Shannon = Phân tích code (White-box) + Khai thác thực tế bằng browser (Black-box) + Chính sách “Không Có Khai Thác, Không Có Báo Cáo”.
Phần 2: Cuộc Điều Tra
Tại Sao Shannon Ra Đời?
Vấn đề cốt lõi mà Shannon giải quyết được gọi là “khoảng trống bảo mật thời vibe-coding.”
Nhờ các công cụ như Claude Code và Cursor, dev team hiện đại ship tính năng với tốc độ chóng mặt. Nhưng bài kiểm tra xâm nhập hàng năm của họ? Chỉ là một snapshot tại một thời điểm. Trong 364 ngày còn lại, mỗi tính năng mới, mỗi refactor, mỗi cập nhật dependency là một bề mặt tấn công chưa được kiểm tra đang đi thẳng lên production.
Shannon được thiết kế để là đội red team liên tục, chạy song song với continuous delivery của bạn.
Pipeline 4 Giai Đoạn Đa Tác Nhân
Kiến trúc của Shannon mô phỏng chính xác những gì một pen tester con người thực sự làm, chia thành bốn giai đoạn riêng biệt:
┌──────────────────────┐
│ Reconnaissance │
└──────────┬───────────┘
│
┌───────────┼────────────┐
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│Phân Tích │ │Phân Tích │ │ ... │
│(Injection) │ │ (XSS) │ │ │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│Khai Thác │ │Khai Thác │ │ ... │
│(Injection) │ │ (XSS) │ │ │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
└───────────────┴───────────────┘
│
▼
┌──────────────────────┐
│ Báo Cáo │
└──────────────────────┘
Giai đoạn 1 - Reconnaissance (Trinh sát): Shannon đọc source code của bạn kết hợp với các công cụ như Nmap và Subfinder, xây dựng bản đồ bề mặt tấn công đầy đủ: mọi endpoint, API route, luồng xác thực, và fingerprint công nghệ.
Giai đoạn 2 - Phân Tích Lỗ Hổng (Song song): Các agent chuyên biệt cho từng danh mục OWASP chạy đồng thời. Agent Injection thực hiện phân tích luồng dữ liệu có cấu trúc - theo dõi input người dùng từ điểm vào đến các sink nguy hiểm (truy vấn database, lệnh shell, HTTP redirect). Kết quả là một danh sách các “hypothesized exploitable paths” được xếp hạng.
Giai đoạn 3 - Khai Thác (Song song): Các exploit agent chuyên biệt nhận các giả thuyết và cố gắng chứng minh chúng bằng thực tế. Chúng dùng browser automation, công cụ CLI, và script khai thác tùy chỉnh. Chỉ những khai thác thành công mới tồn tại.
Giai đoạn 4 - Báo Cáo: Agent cuối cùng tổng hợp chỉ những phát hiện đã được xác nhận vào một báo cáo chuyên nghiệp, có thể hành động được - đã được làm sạch khỏi mọi hallucination - kèm PoC có thể reproduce được.
Được Hỗ Trợ Bởi Công Cụ Bảo Mật Thực Sự
Shannon không phát minh lại bánh xe. Nó tích hợp các công cụ bảo mật đã được kiểm chứng vào pipeline trinh sát:
| Công Cụ | Vai Trò |
|---|---|
| Nmap | Quét cổng mạng & fingerprint dịch vụ |
| Subfinder | Liệt kê subdomain |
| WhatWeb | Nhận dạng technology stack |
| Schemathesis | Fuzzing dựa trên API schema |
Phần 3: Chẩn Đoán Chuyên Sâu
Shannon Thực Sự Tìm Thấy Gì?
Coverage hiện tại của Shannon Lite tập trung vào các lớp lỗ hổng có tác động cao nhất và có thể chứng minh được:
- Injection (SQL Injection, Command Injection, Server-Side Template Injection)
- Broken Authentication & Authorization (auth bypass, leo thang đặc quyền, IDOR, tấn công JWT)
- Cross-Site Scripting (Reflected, Stored, DOM-based)
- Server-Side Request Forgery (SSRF)
Kết quả với các ứng dụng cố tình có lỗ hổng theo tiêu chuẩn ngành:
OWASP Juice Shop: 20+ lỗ hổng nghiêm trọng, bao gồm:
- Bypass xác thực hoàn toàn + exfil toàn bộ database người dùng qua SQL Injection
- Leo thang đặc quyền lên admin thông qua bypass workflow đăng ký
- IDOR exposing dữ liệu cá nhân của bất kỳ người dùng nào
- SSRF cho phép trinh sát mạng nội bộ
c{api}tal API (Checkmarx): ~15 lỗ hổng nghiêm trọng, bao gồm:
- Command injection ở cấp root thông qua endpoint debug ẩn
- Auth bypass nhắm vào API v1 legacy chưa được vá
- Mass Assignment leo thang người dùng bình thường lên admin
OWASP crAPI: 15+ lỗ hổng bao gồm tấn công JWT nâng cao (Algorithm Confusion, alg:none, weak kid injection).
Kiểm Tra Với Xác Thực và 2FA
Một điểm mạnh thực tế của Shannon là khả năng xử lý các lần chạy thử có xác thực. Bạn có thể cung cấp credentials (bao gồm cả TOTP secret cho 2FA) trong file config yaml, và AI sẽ tự xử lý login flow - kể cả OAuth “Sign in with Google”.
# configs/my-app-config.yaml
authentication:
login_type: form
login_url: "https://your-app.com/login"
credentials:
username: "testuser@example.com"
password: "Test1234!"
totp_secret: "LB2E2RX7XFHSTGCK" # Có 2FA? Không vấn đề.
login_flow:
- "Type $username into the email field"
- "Type $password into the password field"
- "Click the 'Sign In' button"
success_condition:
type: url_contains
value: "/dashboard"
rules:
avoid:
- description: "Không test endpoint logout"
type: path
url_path: "/logout"
focus:
- description: "Ưu tiên test các API endpoint"
type: path
url_path: "/api"
Cực kỳ hữu ích cho môi trường staging nơi ứng dụng nằm sau một cổng đăng nhập.
Khả Năng Tiếp Tục Từ Điểm Dừng
Shannon hỗ trợ workspaces có tên checkpoint tiến trình qua git commits. Nếu một lần chạy bị gián đoạn giữa chừng trong quá trình khai thác, bạn có thể tiếp tục từ giai đoạn thành công cuối cùng mà không cần chạy lại hàng giờ trinh sát:
# Bắt đầu với workspace có tên
./shannon start URL=https://staging.myapp.com REPO=myapp WORKSPACE=q2-audit
# Tiếp tục lần chạy tương tự (tự động bỏ qua các agent đã hoàn thành)
./shannon start URL=https://staging.myapp.com REPO=myapp WORKSPACE=q2-audit
Phần 4: Cách Triển Khai
Cài đặt Shannon rất đơn giản - hoàn toàn dựa trên Docker, không có dependency nào ở cấp hệ thống cần quản lý.
Hướng Dẫn Từng Bước
1. Clone và cấu hình:
git clone https://github.com/KeygraphHQ/shannon.git
cd shannon
# Đặt repo mục tiêu của bạn vào ./repos/
git clone https://github.com/your-org/your-app.git ./repos/your-app
2. Thiết lập API key:
export ANTHROPIC_API_KEY="your-api-key"
export CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000
3. Chạy pentest:
./shannon start URL=https://staging.your-app.com REPO=your-app
4. Theo dõi tiến trình:
# Log real-time
./shannon logs
# Hoặc mở Temporal workflow UI
open http://localhost:8233
5. Tìm báo cáo của bạn:
Kết quả được lưu tại ./audit-logs/{hostname}_{sessionId}/deliverables/comprehensive_security_assessment_report.md - một báo cáo chuyên nghiệp, cấp pentest với chỉ những phát hiện đã được xác minh.
Những Điều Cần Lưu Ý
- Thời gian & Chi phí: Một lần chạy đầy đủ mất khoảng 1–1.5 giờ và tốn khoảng $50 USD trong API credit Claude Sonnet.
- Chỉ dùng cho staging: Shannon thực hiện các cuộc tấn công thực sự. Nó sẽ tạo user, sửa đổi dữ liệu, và trigger database queries. Tuyệt đối không dùng trên production.
- Chỉ whitebox: Shannon Lite yêu cầu quyền truy cập vào source code. Nó dùng phân tích code để hướng dẫn tấn công thông minh - không phải fuzzing mù quáng.
Thử thách thực hành (Student First Assignment)
- Clone kho lưu trữ
KeygraphHQ/shannonvà khởi động cụm Docker Compose trên máy local. - Đặt một ứng dụng web thử nghiệm có chủ đích để lộ lỗi (như OWASP Juice Shop) vào thư mục
./repos/. - Cấu hình file
configs/app-config.yamlvới địa chỉ máy chủ staging và header xác thực. - Khởi chạy Shannon, theo dõi sơ đồ bề mặt tấn công trên giao diện Temporal UI và kiểm chứng cách agent chứng minh lỗ hổng trước khi tạo báo cáo.
Các Câu Hỏi Thường Gặp (FAQ Cho Google Search)
Chạy Shannon trên hệ thống Production đang hoạt động có an toàn không?
Tuyệt đối không nên chạy trực tiếp trên production nếu chưa có phương án sao lưu dữ liệu toàn diện. Shannon là một công cụ khai thác thực tế (exploit-driven agent): nó gửi các payload thử nghiệm thật có thể sửa đổi bản ghi trong cơ sở dữ liệu. Môi trường an toàn và chuẩn mực nhất để chạy Shannon là staging hoặc preview container.
Shannon khác gì so với các công cụ quét bảo mật truyền thống (Snyk, SonarQube)?
- Máy quét truyền thống (SAST/DAST tĩnh): Quét chữ ký cú pháp và tạo ra hàng nghìn cảnh báo giả (false positives), buộc kỹ sư phải tốn hàng tuần để xác minh bằng tay.
- Shannon (AI Pentester): Tiếp cận như một hacker mũ trắng con người: thử nghiệm tấn công, vượt rào xác thực, kiểm tra quyền truy cập trái phép (IDOR/BOLA) và chỉ báo cáo khi đã có mã lệnh curl chứng minh lỗ hổng thành công.
Shannon có vượt qua được các ứng dụng có đăng nhập 2FA và CAPTCHA không?
Có. Nhờ tích hợp trình duyệt tự động Playwright, Shannon có thể duy trì phiên đăng nhập cookie, xử lý các luồng xác thực nhiều bước và lưu giữ trạng thái phiên làm việc liên tục qua nhiều giai đoạn tấn công.
Shannon phát hiện tốt nhất những loại lỗ hổng nào?
Shannon đặc biệt xuất sắc trong việc phát hiện các lỗ hổng logic nghiệp vụ mà các máy quét tự động thường bỏ sót:
- Lỗi phân quyền đối tượng cấp độ hỏng (BOLA / IDOR): Người dùng A truy cập trái phép dữ liệu của người dùng B.
- Xác thực và phân quyền lỏng lẻo: Bỏ qua các bước kiểm tra token API.
- Lỗ hổng tiêm mã (SQLi, SSRF, Command Injection): Tấn công trực diện vào các endpoint xử lý dữ liệu đầu vào.
Lời khuyên cuối (Final Take)
| Loại Công Cụ | Cách Tiếp Cận | Điểm Mạnh |
|---|---|---|
| Scanner Truyền Thống | Dựa trên chữ ký | Nhanh, rẻ, nhiều false positive |
| Công cụ kiểu PentAGI | Đa tác nhân, nhiều công cụ | Toàn diện, không phụ thuộc vào model |
| Shannon | Phân tích code + Khai thác thực tế | Ít false positive, chỉ khai thác đã được chứng minh |
Shannon đại diện cho một danh mục mới: AI pentester liên tục tự động. Bằng cách kết hợp việc hiểu source code với thực thi khai thác thực tế và thực thi hợp đồng “không có khai thác, không có báo cáo,” nó mang lại kiểm tra bảo mật cấp doanh nghiệp cho mọi nhóm ship code liên tục.
Nếu bạn là developer đang xây dựng bất cứ thứ gì liên quan đến dữ liệu người dùng, xác thực, hoặc API bên ngoài, Shannon xứng đáng có một vị trí trong staging pipeline của bạn.
Bài viết liên quan
Strix: Công Cụ Pentest & Red-Team AI Tự Động Mã Nguồn Mở
Strix là gì? Hướng dẫn công cụ pentest mã nguồn mở Strix (usestrix/strix): tự động quét repo, chạy exploit thật trong sandbox và tích hợp vào CI/CD.
PentAGI Là Gì: Nền Tảng Pentest Tự Động Với AI Đa Tác Vụ Thông Minh
PentAGI là gì? Khám phá vxcontrol/pentagi: cách các AI agent tự động điều phối 20+ công cụ Kali Linux trong Docker để tìm kiếm và xác minh lỗ hổng bảo mật.
AI DevKit là gì: lớp control plane cho AI coding agent - và giới hạn của nó
Giải mã AI DevKit: lớp control plane điều phối coding agent với TUI console, cấu hình tập trung, bộ nhớ SQLite và các skill quy trình kỹ thuật chuẩn hóa.
Free Claude Code Giải Thích: Một Local Proxy Cho 50+ Nhà Cung Cấp AI
Free Claude Code định tuyến Claude Code, Codex, Pi và 8 agent khác qua một local proxy với 50+ provider thân thiện ToS và fallback tự động.