Security Scanner AI
!Visual Studio Marketplace Version
!Installs
Security Scanner AI là một extension mạnh mẽ cho Visual Studio Code, được thiết kế để phân tích mã nguồn của bạn và phát hiện các lỗ hổng bảo mật tiềm ẩn. Bằng cách tích hợp công cụ phân tích tĩnh hàng đầu Semgrep, extension này cung cấp khả năng quét nhanh chóng, chính xác và hỗ trợ tùy chỉnh linh hoạt.
(Bạn nên thay thế ảnh này bằng screenshot thực tế của extension)
Tính năng nổi bật
- Phân tích tĩnh mạnh mẽ: Sử dụng engine Semgrep để quét mã nguồn với bộ quy tắc (rules) phong phú từ cộng đồng.
- Hỗ trợ đa ngôn ngữ: Quét và phát hiện lỗ hổng trong nhiều ngôn ngữ lập trình phổ biến.
- Tích hợp sâu vào VS Code: Các vấn đề bảo mật được hiển thị trực tiếp trong trình soạn thảo, đi kèm với mô tả chi tiết và gợi ý sửa lỗi.
- Quét thời gian thực: Tự động quét lại khi bạn lưu file hoặc sau một khoảng thời gian ngắn khi bạn thay đổi mã nguồn.
- Tùy chỉnh linh hoạt: Hỗ trợ sử dụng các bộ quy tắc Semgrep tùy chỉnh của riêng bạn để phù hợp với tiêu chuẩn dự án.
- Thông báo tức thì: Hiển thị cảnh báo cho các lỗ hổng nghiêm trọng (critical) để bạn không bỏ lỡ.
- Thanh trạng thái tiện lợi: Cung cấp thông tin nhanh về trạng thái quét và số lượng lỗi tìm thấy.
Ngôn ngữ được hỗ trợ
- Python
- JavaScript
- TypeScript
- Java
- PHP
- Go
Yêu cầu
- Visual Studio Code: Phiên bản
1.80.0 trở lên.
- Python: Cần có Python 3.x được cài đặt và có trong
PATH của hệ thống.
- Semgrep: Extension này yêu cầu
semgrep phải được cài đặt trong môi trường Python.
Bạn có thể cài đặt semgrep bằng pip:
pip install semgrep
Hoặc:
python3 -m pip install semgrep
Cài đặt Extension
- Mở VS Code.
- Đi tới mục Extensions (Ctrl+Shift+X).
- Tìm kiếm
Security Scanner AI.
- Nhấn Install.
Hướng dẫn sử dụng
Sau khi cài đặt, extension sẽ tự động kích hoạt.
- Quét tự động: Extension sẽ tự động quét file đang mở khi bạn lưu (
onDidSaveTextDocument) hoặc sau một khoảng thời gian ngắn khi bạn ngừng gõ (onDidChangeTextDocument).
- Quét thủ công: Mở Command Palette (Ctrl+Shift+P) và chạy lệnh
Security Scanner: Scan Current File. Hoặc sử dụng phím tắt Cmd+Shift+S (trên macOS) hoặc Ctrl+Shift+S (trên Windows/Linux).
- Xem kết quả: Các lỗ hổng sẽ được gạch chân trong code. Di chuột qua để xem mô tả chi tiết. Bạn cũng có thể xem danh sách tất cả các vấn đề trong tab Problems (Ctrl+Shift+M).
Cấu hình Extension
Bạn có thể tùy chỉnh hoạt động của extension trong settings.json của VS Code:
security-scanner.pythonPath:
- Đường dẫn đến trình thông dịch Python. Hữu ích nếu bạn sử dụng môi trường ảo.
- Mặc định:
"python"
security-scanner.autoScan:
- Bật/tắt chức năng tự động quét khi lưu file.
- Mặc định:
true
security-scanner.scanOnChange:
- Bật/tắt chức năng quét khi nội dung file thay đổi.
- Mặc định:
true
security-scanner.showCriticalNotifications:
- Hiển thị thông báo pop-up cho các lỗi bảo mật nghiêm trọng.
- Mặc định:
true
security-scanner.semgrepCustomRulesPath:
- Đường dẫn đến một file
.yml hoặc một thư mục chứa các quy tắc Semgrep tùy chỉnh của bạn.
- Mặc định:
""
Ví dụ cấu hình trong settings.json:
{
"security-scanner.pythonPath": "/Users/your-name/my-project/.venv/bin/python",
"security-scanner.semgrepCustomRulesPath": "/Users/your-name/my-project/security-rules/my-custom-rules.yml"
}
Sử dụng quy tắc Semgrep tùy chỉnh
Tạo một file YAML (ví dụ: my-rules.yml) với các quy tắc của bạn. Ví dụ: tìm kiếm các API key bị hard-code.
rules:
- id: generic-hardcoded-api-key
patterns:
- pattern-regex: (?i)(api_key|apikey|api-key)\s*[:=]\s*['"][a-zA-Z0-9_]{16,}['"]
message: "Phát hiện API key có thể bị hard-code. Nên sử dụng biến môi trường hoặc dịch vụ quản lý secret."
languages:
- python
- javascript
- typescript
severity: WARNING
Cập nhật đường dẫn đến file này trong cài đặt security-scanner.semgrepCustomRulesPath.