Giới thiệu
Bảo mật mã nguồn là một trong những yếu tố quan trọng nhất trong phát triển phần mềm. Đôi khi, các lập trình viên vô tình commit thông tin nhạy cảm như API keys, mật khẩu hoặc mã thông báo riêng, dẫn đến những vấn đề bảo mật nghiêm trọng. Việc kiểm tra thủ công từng Pull Request để phát hiện những vấn đề này mất rất nhiều thời gian và dễ bị bỏ sót. Trong bài viết này, bạn sẽ học cách tạo ra một hệ thống tự động quét các thay đổi mã mới trong kho mã GitHub của bạn để phát hiện các rủi ro bảo mật tiềm ẩn. Sử dụng Giao thức Ngữ cảnh Mô hình (MCP) và công cụ tự động hóa Glama, hệ thống tự động sẽ kiểm tra mã của bạn, tìm các bí mật bị lộ và gửi cho bạn một báo cáo rõ ràng, giúp bạn dễ dàng giữ cho các dự án của mình an toàn và bảo mật.
Mục lục
- Thiết lập Bot Discord
- Tìm máy chủ MCP phù hợp
- Đi đến tab Tự động hóa
- Cấu hình Tự động hóa của bạn
- Quá trình hoạt động
- Mẹo hiệu suất
- Kết luận
1. Thiết lập Bot Discord
Trước tiên, hãy tạo một bot trong Cổng thông tin Nhà phát triển Discord và mời nó vào máy chủ của bạn với các quyền cần thiết để gửi tin nhắn.
Theo hướng dẫn có sẵn1 để tạo một máy chủ Discord, sử dụng URL webhook Discord cho máy chủ notify_me_mcp và thêm URL tương ứng.
2. Tìm máy chủ MCP phù hợp
a) Triển khai máy chủ Notify_me_mcp bởi thesammykins2
b) Triển khai mcp-github bởi MissionSquad3
Nhấn Triển khai máy chủ. Một hộp thoại sẽ xuất hiện; chỉ cần nhấn Triển khai.
Trang máy chủ MCP của bạn giờ sẽ trông như thế này4:
3. Đi đến tab Tự động hóa
Đi đến tab Tự động hóa trong cửa sổ Glama của bạn5.
Nhấn Tự động hóa mới và gán cho nó một tiêu đề.
Trang tự động hóa của bạn sẽ mở ra, nơi bạn cần điền vào Hướng dẫn Hệ thống và Tin nhắn Kích hoạt.
4. Cấu hình Tự động hóa của bạn
Trong bước này, bạn sẽ thiết lập Hướng dẫn Hệ thống, Tin nhắn Kích hoạt và lịch trình để đảm bảo bot Discord của bạn gửi các báo cáo quét bảo mật đúng thời điểm, phù hợp với nhu cầu của kho mã của bạn.
Sao chép và dán Hướng dẫn Hệ thống sau đây:
Bạn là một người đánh giá bảo mật tự động có tên 'GitHub Vulnerability Scanner'. Nhiệm vụ của bạn là phân tích các Pull Requests mới trong một kho GitHub và kiểm tra các rủi ro bảo mật tiềm ẩn, đặc biệt là các bí mật bị lộ như API keys, mật khẩu hoặc mã thông báo. Bạn phải cẩn thận và thực hiện các bước sau đây một cách chính xác.
Bạn có quyền truy cập vào:
- @mcp-github: để lấy thông tin về các pull requests.
- @notify_me_mcp: để gửi báo cáo cuối cùng.
Hướng dẫn:
1. Người dùng sẽ cung cấp một kho theo định dạng 'owner/repo'.
2. Sử dụng công cụ list_pull_requests của @mcp-github với trạng thái đặt thành 'mở' để tìm tất cả PR mở.
3. Đối với mỗi PR mở:
a. Sử dụng "Máy chủ GitHub" để gọi get_pull_request_diff để lấy các thay đổi mã.
b. Quét các dòng mã mới để tìm các bí mật bị lộ như API keys (ví dụ: sk_live_..., ghp_...), mật khẩu, chuỗi kết nối cơ sở dữ liệu hoặc mã thông báo.
c. Gán trạng thái: "✅ Đạt" nếu không tìm thấy bí mật, hoặc "🚨 THẤT BẠI" nếu có bất kỳ bí mật nào được phát hiện.
4. Sau khi quét tất cả các PR, tạo một báo cáo hoàn chỉnh duy nhất theo định dạng Markdown hiển thị trạng thái và phân tích cho mỗi PR.
5. Nếu không tìm thấy PR nào mở, gửi tin nhắn: "Không có Pull Requests nào mở để xem xét hôm nay."
6. Sử dụng @notify_me_mcp để gửi báo cáo cuối cùng đến kênh đã cấu hình của người dùng.
Hãy chính xác, cẩn thận và ngắn gọn trong phân tích của bạn.
Cấu hình của bạn nên trông như thế này (đảm bảo bạn sử dụng đúng máy chủ MCP với ký hiệu "@"):
Sao chép và dán Tin nhắn Kích hoạt sau đây:
Nhập kho của bạn theo định dạng "username/repo" để bắt đầu quét bảo mật cho các pull requests mở.
Tiếp theo, đặt thời gian bạn muốn nhận tin nhắn này hàng ngày:
Nhấn Lưu, sau đó Kích hoạt Tự động hóa.
Và XONG! Tự động hóa của bạn đã hoàn thành. Mỗi ngày vào thời gian bạn đã chọn, hãy mở Discord để xem báo cáo quét bảo mật tự động cho các pull requests mở của bạn, được cung cấp bởi tính năng tự động hóa của máy chủ MCP của bạn.
5. Quá trình hoạt động
Bước 1 – Yêu cầu
Bạn bắt đầu quy trình bằng cách kích hoạt tự động hóa với tên kho GitHub của bạn (ví dụ: Om-Shree-0709/Shinzo_Website). Điều này thông báo cho bot nơi cần tìm và những gì cần được xem xét.
Bước 2 – Tìm kiếm công việc
AI, được gọi là GitHub Vulnerability Scanner, đọc yêu cầu của bạn cùng với các hướng dẫn của nó. Nó biết nhiệm vụ đầu tiên của nó là tìm các pull requests liên quan. Nó sử dụng tích hợp Máy chủ GitHub của bạn để hỏi trang web GitHub thực để lấy danh sách tất cả các pull requests mở hiện tại trong kho đó.
Bước 3 – Vòng điều tra
Sau khi nhận được danh sách các pull requests mở, GitHub Vulnerability Scanner bắt đầu xem xét từng cái một. Đối với mỗi pull request, nó lại sử dụng tích hợp Máy chủ GitHub để lấy diff — các dòng mã cụ thể đã được thêm hoặc thay đổi.
Bước 4 – Quét bảo mật
Bot cẩn thận quét các dòng mã mới được thêm hoặc thay đổi. Theo các quy tắc được xác định trong hướng dẫn hệ thống của bạn, nó tìm kiếm các rủi ro bảo mật tiềm ẩn như:
- API keys (ví dụ:
sk_live_...,ghp_...) - Mật khẩu hoặc chuỗi kết nối
- Mã thông báo riêng được mã hóa cứng
Dựa trên kết quả quét, nó gán trạng thái cho mỗi pull request:
- ✅ Đạt – Không tìm thấy bí mật hoặc lỗ hổng
- 🚨 THẤT BẠI – Phát hiện bí mật bị lộ hoặc rủi ro tiềm ẩn
Bước 5 – Báo cáo cuối cùng
Sau khi kiểm tra tất cả các pull requests mở, GitHub Vulnerability Scanner tổng hợp các phát hiện của nó thành một báo cáo tóm tắt có cấu trúc và dễ đọc theo định dạng Markdown. Báo cáo bao gồm chi tiết cho mỗi pull request và giải thích các phát hiện.
Bước 6 – Giao hàng
Báo cáo cuối cùng được gửi đến kênh Discord đã cấu hình của bạn bằng URL Webhook mà bạn đã cung cấp. Nếu không tìm thấy pull requests nào mở, nó sẽ gửi một tin nhắn thông báo:
"Không có Pull Requests nào mở để xem xét hôm nay."
Chỉ trong vài giây, tự động hóa này thực hiện các nhiệm vụ nhà phát triển bảo mật junior nhàm chán và lặp đi lặp lại, giúp bạn nhanh chóng xác định các rủi ro tiềm ẩn và tập trung vào các thách thức phát triển phức tạp hơn.
6. Mẹo hiệu suất
- Lên lịch quét thường xuyên: Đảm bảo bạn nhận được báo cáo hàng ngày để phát hiện kịp thời các lỗ hổng.
- Kiểm tra cấu hình bot: Đảm bảo bot có quyền truy cập đầy đủ vào các kênh Discord cần thiết để gửi báo cáo.
- Cập nhật định kỳ: Theo dõi và cập nhật các máy chủ MCP và các công cụ liên quan để đảm bảo hiệu suất tốt nhất.
7. Kết luận
Tính năng Tự động hóa AI của Glama, được hỗ trợ bởi máy chủ MCP GitHub và Notify Me MCP, giúp bảo mật mã nguồn của bạn trở nên dễ dàng hơn bao giờ hết. Nó loại bỏ gánh nặng kiểm tra thủ công các Pull Requests để phát hiện bí mật bị lộ và các rủi ro bảo mật. Bằng cách quét các thay đổi mã ngay khi chúng được commit và gửi báo cáo rõ ràng trực tiếp đến máy chủ Discord của bạn, giải pháp này giúp bạn phát hiện các lỗ hổng sớm, tiết kiệm thời gian và duy trì quy trình phát triển an toàn hơn. Dù bạn đang quản lý các dự án mã nguồn mở, tiếp nhận các lập trình viên mới hay đảm bảo tuân thủ, công cụ tự động hóa này là một cách đơn giản nhưng mạnh mẽ để giữ cho mã của bạn an toàn và đội ngũ của bạn tập trung vào việc xây dựng phần mềm tốt hơn.
Hãy để Tự động hóa xử lý các đánh giá bảo mật của bạn, để bạn có thể tập trung vào những gì quan trọng nhất.
Tài liệu tham khảo
-
Xây dựng với Discord ↩
-
Máy chủ Notify Me MCP ↩
-
Máy chủ Github MCP bởi MissionSquad ↩
-
Trang máy chủ MCP ↩
-
Trang tự động hóa của Glama ↩