Featured image of post Shannon: AI Pentester Tự Động Phá Vỡ Ứng Dụng Của Bạn Trước Khi Hacker Làm Điều Đó

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.


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:

  1. Lập bản đồ bề mặt tấn công bằng cách đọc source code và crawl live app.
  2. Đặt giả thuyết về những code path nào có thể bị khai thác (injection sink, auth bypass vector, SSRF trigger).
  3. 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.
  4. 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:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
          ┌──────────────────────┐
          │    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ư NmapSubfinder, 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ò
NmapQuét cổng mạng & fingerprint dịch vụ
SubfinderLiệt kê subdomain
WhatWebNhận dạng technology stack
SchemathesisFuzzing 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”.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# configs/my-app-config.yaml
authentication:
  login_type: form
  login_url: "https://your-app.com/login"
  credentials:
    username: "[email protected]"
    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:

1
2
3
4
5
# 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:

1
2
3
4
5
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:

1
2
export ANTHROPIC_API_KEY="your-api-key"
export CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000

3. Chạy pentest:

1
./shannon start URL=https://staging.your-app.com REPO=your-app

4. Theo dõi tiến trình:

1
2
3
4
5
# 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.

Mental Model Cuối Cùng

Loại Công CụCách Tiếp CậnĐiểm Mạnh
Scanner Truyền ThốngDự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
ShannonPhâ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.

⭐ Star trên GitHub →

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

Subscribe to My Newsletter