Tôi đã xây dựng bộ 23 công cụ bảo mật để AI Agents có thể tự động vận hành
Tác giả đã phát triển một máy chủ MCP tích hợp 23 công cụ bảo mật, cho phép các AI Agent thực hiện các tác vụ như quét WHOIS, kiểm tra SSL, tra cứu CVE và phân tích mối đe dọa chỉ bằng một câu lệnh duy nhất mà không cần API key.

Tôi mong muốn có một giao diện duy nhất nơi một AI agent có thể chạy WHOIS, kéo chứng chỉ SSL, liệt kê các tên miền con (subdomain), kiểm tra CVE và truy vấn các nguồn dữ liệu tình báo mối đe dọa — tất cả chỉ từ một câu lệnh (prompt).
Vì vậy, tôi đã xây dựng 23 công cụ bảo mật dưới dạng một máy chủ MCP. Bất kỳ AI agent nào nói được ngôn ngữ MCP đều có thể gọi các công cụ này một cách tự nhiên.
Dưới đây là những gì tôi đã xây dựng, cách cài đặt và những bài học rút ra được.
Cài đặt (2 phút)
Hãy bắt đầu với phần cài đặt vì đây là khâu đơn giản nhất.
Bạn hãy thêm đoạn sau vào cấu hình MCP client của mình:
{
"mcpServers": {
"contrast": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-remote", "https://api.contrastcyber.com/mcp/"]
}
}
}
Công cụ này hoạt động với Claude Desktop, Cursor, Windsurf, Cline, VS Code — bất kỳ thứ gì hỗ trợ giao thức MCP.
Không cần API key. Không cần đăng ký. Miễn phí 100 yêu cầu/giờ.
Bộ 23 công cụ bảo mật
Trinh sát (Recon) — "Có gì đang chạy trên tên miền này?"
| Công cụ | Chức năng |
|---|---|
domain_report | Báo cáo bảo mật đầy đủ — DNS, WHOIS, SSL, subdomain, điểm rủi ro |
dns_lookup | Bản ghi A, AAAA, MX, NS, TXT, CNAME, SOA |
whois_lookup | Nhà đăng ký, ngày tạo, ngày hết hạn, nameservers |
ssl_check | Chuỗi chứng chỉ, bộ mã hóa, ngày hết hạn, xếp hạng (A-F) |
subdomain_enum | Brute-force + nhật ký Certificate Transparency |
tech_fingerprint | CMS, framework, CDN, analytics, stack máy chủ |
scan_headers | Các header bảo mật HTTP trực tiếp — CSP, HSTS, X-Frame-Options |
email_mx | Nhà cung cấp mail, xác thực SPF/DMARC/DKIM |
ip_lookup | PTR, cổng mở, hostname, danh tiếng |
asn_lookup | Số AS, chủ sở hữu, tiền tố IP |
Tình huống thực tế: "Kiểm tra xem是否有 subdomain nào của chúng ta có chứng chỉ SSL sắp hết hạn không" — agent sẽ gọi subdomain_enum, lặp qua từng kết quả với ssl_check, và báo lại những cái nào sẽ hết hạn trong vòng 30 ngày. Không cần viết code.
Lỗ hổng (Vulnerability) — "CVE này có thể khai thác được không?"
| Công cụ | Chức năng |
|---|---|
cve_lookup | Chi tiết CVE, điểm CVSS, điểm EPSS, trạng thái KEV |
cve_search | Tìm kiếm theo sản phẩm, mức độ nghiêm trọng hoặc khoảng thời gian |
exploit_lookup | Các khai thác công khai từ GitHub Advisory + ExploitDB |
Tình huống thực tế: "Tìm tất cả CVE nghiêm trọng cho Apache httpd trong 6 tháng qua có công khai khai thác" — chỉ một câu lệnh, ba lần gọi công cụ được xích chuỗi tự động.
Tình báo mối đe dọa (Threat Intelligence) — "IOC này có độc hại không?"
| Công cụ | Chức năng |
|---|---|
ioc_lookup | Tự động phát hiện IP/domain/URL/hash → ThreatFox + URLhaus |
hash_lookup | Danh tiếng hash malware qua MalwareBazaar |
phishing_check | Kiểm tra URL phishing/malware đã biết |
password_check | Kiểm tra lộ qua HIBP (k-anonymity, mật khẩu không bao giờ được gửi đi) |
email_disposable | Phát hiện email dùng một lần/tạm thời |
Tình huống thực tế: Bạn nhận được một URL đáng ngờ trên Slack. Dán nó vào và hỏi "cái này có an toàn không?" — agent sẽ chạy phishing_check + ioc_lookup và cho bạn biết liệu đó có phải là mối đe dọa đã biết hay không.
Bảo mật mã nguồn (Code Security) — "Code của tôi có lỗ hổng không?"
| Công cụ | Chức năng |
|---|---|
check_secrets | Phát hiện khóa AWS, token, mật khẩu được hardcode trong nguồn |
check_injection | SQL injection, command injection, path traversal |
check_headers | Xác thực cấu hình header bảo mật |
Tình huống thực tế: Trước khi gộp PR (pull request), hãy yêu cầu agent của bạn quét các thay đổi (diff) để tìm các bí mật (secrets) được hardcode và lỗ hổng tiêm (injection).
Điện thoại & Email — "Liên hệ này có hợp pháp không?"
| Công cụ | Chức năng |
|---|---|
phone_lookup | Xác thực, quốc gia, nhà mạng, loại dòng điện thoại |
Giao diện thực tế
"Chạy một cuộc kiểm toán bảo mật đầy đủ trên example.com"
Domain: example.com
Risk Score: 32/100 (Low)
DNS: 6 records found
SSL: Grade A, expires 2027-01-15, TLS 1.3
Headers: 4/7 present (missing CSP, HSTS preload, Permissions-Policy)
Subdomains: 3 found
WHOIS: Registered 1995-08-14, ICANN
Tech: Akamai CDN, nginx
"Kiểm tra xem CVE-2024-3094 có công khai khai thác không"
CVE-2024-3094 (xz backdoor)
CVSS: 10.0 CRITICAL
EPSS: 0.947 (top 0.1%)
KEV: Yes — actively exploited
Exploits found: 3
"Mật khẩu này có bị lộ không: hunter2"
EXPOSED in 17,043 breaches
Do NOT use this password.
(checked via k-anonymity — password was never transmitted)
Tại sao lại chọn MCP?
ContrastAPI cũng là một REST API với Node.js SDK. Bạn có thể dùng curl để gọi nó từ bất kỳ ngôn ngữ nào.
Nhưng MCP thay đổi quy trình làm việc:
Không có MCP: Gọi endpoint → phân tích cú pháp JSON → quyết định bước tiếp theo → gọi endpoint khác → phân tích lại → định dạng đầu ra.
Có MCP: "Kiểm toán tên miền này." Xong.
Agent sẽ tự chọn công cụ phù hợp, xích chuỗi chúng lại và cung cấp cho bạn bản tóm tắt. Bạn tập trung vào việc ra quyết định, thay vì xử lý kỹ thuật.
Kiến trúc hệ thống
- FastAPI + SDK MCP Python chính thức
- 30 REST endpoints, 23 công cụ MCP (cùng một backend)
- 1.115 bài kiểm thử (912 API + 203 trình quét C)
- Trình quét tên miền được viết bằng ngôn ngữ C — chấm điểm SSL, DNS, headers, email trong dưới 2 giây
- Tất cả dữ liệu đều từ nguồn công khai miễn phí — không có feed trả phí, không bị khóa nhà cung cấp
Bài học kinh nghiệm
1. Không cần API key = tốc độ áp dụng nhanh nhất. Tôi đã xóa yêu cầu API key và lưu lượng truy cập tăng lên ngay lập tức. Sự cản phá bằng không (zero friction) luôn chiến thắng. Gói miễn phí (100 req/hr) đủ hào phóng以至于 chưa ai chạm đến giới hạn.
2. Người dùng MCP "bám dính" (stickier) hơn. Người dùng MCP thực hiện nhiều yêu cầu hơn mỗi phiên so với người dùng REST. Khi agent đã có quyền truy cập vào các công cụ, nó sẽ xích chuỗi chúng một cách tự nhiên — một câu lệnh duy nhất có thể kích hoạt 5-10 lần gọi công cụ.
3. Được liệt kê ở khắp mọi nơi, sớm nhất có thể. mcp.so, mcpservers.org, Smithery — những thư mục này đang thúc đẩy phần lớn việc khám phá ngay bây giờ. Hệ sinh thái còn rất mới và ít cạnh tranh.
Một số hạn chế
Sự minh bạch về những gì công cụ này không làm:
- Chỉ thụ động (Passive only) — không quét cổng, không khai thác chủ động. Đây là dữ liệu OSINT và công khai, không phải công cụ kiểm thử xâm nhập (pentest).
- Giới hạn tốc độ — 100 req/hr miễn phí, 1000/hr cho Pro ($19/tháng). Đủ cho sử dụng cá nhân, không để quét hàng loạt.
- Dự án cá nhân — Tôi chỉ là một lập trình viên. Thời gian phản hồi nhanh, nhưng tôi không có đội ngũ SRE trực ca.
- Bạn không cần API key — chúng tôi xử lý các tích hợp (Shodan, AbuseIPDB, ThreatFox, NVD, v.v.). Không cần thiết lập tài khoản nhà cung cấp ở phía bạn.
Thử nghiệm ngay
- GitHub: github.com/UPinar/contrastapi
- Cài đặt MCP: contrastcyber.com/mcp-setup
- Trình quét Web: contrastcyber.com
- Tài liệu API: api.contrastcyber.com
Miễn phí. Mã nguồn mở. Không cần API key.
Nếu bạn thấy nó hữu ích, một ngôi sao ⭐ trên GitHub sẽ giúp đỡ tôi nhiều hơn bạn nghĩ.
Bạn mong muốn AI agent của mình có những công cụ bảo mật nào? Tôi luôn tìm kiếm ý tưởng để xây dựng tiếp theo.
Bài viết liên quan

Công nghệ
George Orwell đã tiên đoán sự trỗi dậy của "rác thải AI" trong tác phẩm 1984
16 tháng 4, 2026

Phần mềm
Anthropic ra mắt Claude Opus 4.7: Nâng cấp mạnh mẽ cho lập trình nhưng vẫn thua Mythos Preview
16 tháng 4, 2026

Công nghệ
Qwen3.6-35B-A3B: Quyền năng Lập trình Agentic, Nay Đã Mở Cửa Cho Tất Cả
16 tháng 4, 2026
