SkillSpector: Công cụ quét bảo mật mã nguồn mở cho kỹ năng AI Agent của NVIDIA

Một công cụ quét bảo mật dành riêng cho kỹ năng AI Agent, phát hiện lỗ hổng, mẫu độc hại và rủi ro bảo mật trước khi cài đặt kỹ năng. Đạt 10K sao từ NVIDIA. Bảo vệ Claude Code, Codex CLI và các khung tác nhân khác.

  • Cập nhật 2026-06-25

SkillSpector: Công cụ quét bảo mật mã nguồn mở cho kỹ năng AI Agent của NVIDIA #

SkillSpector là một công cụ quét bảo mật được thiết kế đặc biệt cho kỹ năng AI Agent — các plugin mô-đun và tiện ích mở rộng cung cấp năng lượng cho các khung như Claude Code, GitHub Copilot, Codex CLI và Gemini CLI. Được NVIDIA phát triển với 10.273 sao GitHub, công cụ này giải quyết những lo ngại ngày càng tăng về bảo mật khi cài đặt các kỹ năng agent chưa được kiểm duyệt trong môi trường sản xuất.

Bài viết này bao gồm hướng dẫn cài đặt, khả năng quét, phát hiện lỗ hổng, tích hợp với các khung agent và thực tiễn tốt nhất để bảo vệ hệ sinh thái AI Agent.

TL;DR #

Khi kỹ năng AI Agent ngày càng phổ biến, các rủi ro bảo mật khi cài đặt các kỹ năng chưa được kiểm duyệt cũng gia tăng. SkillSpector cung cấp quét tự động cho hơn 800 kỹ năng an ninh mạng, phát hiện lỗ hổng, mẫu độc hại và rủi ro bảo mật trước khi chúng tiếp cận hệ thống của bạn. Công cụ hỗ trợ tất cả các khung agent chính và cung cấp hướng dẫn khắc phục có thể hành động được.

SkillSpector là gì? #

SkillSpector ra đời từ một quan sát quan trọng: khi kỹ năng AI Agent lan rộng trong quy trình làm việc của nhà phát triển, diện tích bề mặt bảo mật mở rộng đáng kể. Không giống như các gói phần mềm truyền thống phải trải qua đánh giá mã nghiêm ngặt, nhiều kỹ năng agent chỉ là các tệp văn bản đơn giản (SKILL.md) hướng dẫn LLM thực hiện các thao tác tùy ý — bao gồm thực thi lệnh shell, truy cập API và sửa đổi tệp.

Công cụ cung cấp:

  • Quét lỗ hổng tự động cho các tệp kỹ năng AI Agent
  • Phát hiện hành vi độc hại dựa trên mẫu bao gồm tiêm lệnh, đánh cắp dữ liệu và leo thang đặc quyền
  • Phân tích theo khung cụ thể cho Claude Code, GitHub Copilot, Codex CLI và nhiều hơn nữa
  • Hướng dẫn khắc phục với các sửa đổi cụ thể cho từng lỗ hổng được phát hiện
  • Tích hợp CI/CD cho quét trước khi cài đặt trong các quy trình tự động

Hướng dẫn cài đặt #

Yêu cầu tiên quyết #

  • Python: 3.12+ (yêu cầu cho tính năng quét bất đồng bộ)
  • Hệ điều hành: Linux, macOS hoặc Windows WSL2
  • Dung lượng đĩa: 500MB cho bộ quét + cơ sở dữ liệu kỹ năng
  • Mạng: Cần thiết để tải cơ sở dữ liệu kỹ năng và bản cập nhật

Tùy chọn 1: Cài đặt qua Pip #

# Cài đặt SkillSpector từ PyPI
pip install skillspector

# Xác nhận cài đặt
skillspector --version

# Tải cơ sở dữ liệu kỹ năng mới nhất
skillspector update-db

Tùy chọn 2: Từ mã nguồn #

# Sao chép kho lưu trữ
git clone https://github.com/NVIDIA/SkillSpector.git
cd SkillSpector

# Tạo môi trường ảo
python -m venv .venv
source .venv/bin/activate

# Cài đặt ở chế độ phát triển
pip install -e .

# Khởi tạo bộ quét
skillspector init --download-database

Tùy chọn 3: Triển khai Docker #

# Kéo hình ảnh chính thức
docker pull nvcr.io/nvidia/skillspector:latest

# Chạy quét
docker run --rm \
  -v ${PWD}/skills:/app/skills \
  nvcr.io/nvidia/skillspector:latest \
  scan /app/skills

# Lên lịch quét thường xuyên
docker run -d \
  --name skillspector \
  -v ${PWD}/skills:/app/skills \
  -v ${PWD}/reports:/app/reports \
  nvcr.io/nvidia/skillspector:latest \
  daemon --interval 3600

Khả năng quét #

Danh mục phát hiện lỗ hổng #

SkillSpector phát hiện lỗ hổng trên nhiều danh mục:

Danh mụcMô tảMức độ nghiêm trọng
Tiêm lệnhKỹ năng thực thi lệnh shell tùy ýNghiêm trọng
Rò rỉ dữ liệuKỹ năng gửi dữ liệu đến điểm cuối bên ngoàiNghiêm trọng
Leo thang đặc quyềnKỹ năng cố gắng giành quyền truy cập nâng caoCao
Đánh cắp thông tin xác thựcKỹ năng truy cập hoặc truyền thông tin xác thựcNghiêm trọng
Thao tác tệpKỹ năng đọc/ghi các tệp tùy ýTrung bình
Truy cập mạngKỹ năng thiết lập kết nối mạng không mong đợiTrung bình
Lạm dụng APIKỹ năng sử dụng sai khóa API hoặc tokenCao
Kỹ thuật xã hộiKỹ năng thao túng người dùng thực hiện hành vi không an toànTrung bình
Chuỗi cung ứngKỹ năng phụ thuộc vào gói bên ngoài chưa được xác minhCao
Tiết lộ thông tinKỹ năng tiết lộ thông tin hệ thống nhạy cảmThấp

Quét cơ bản #

# Quét một tệp kỹ năng
skillspector scan my_skill.md

# Quét thư mục kỹ năng
skillspector scan ./skills/

# Quét với đầu ra chi tiết
skillspector scan ./skills/ --verbose

# Quét và tạo báo cáo
skillspector scan ./skills/ --output report.json --format json

Tùy chọn quét nâng cao #

# Quét với ngưỡng mức độ nghiêm trọng tùy chỉnh
skillspector scan ./skills/ --min-severity high

# Quét với danh mục lỗ hổng cụ thể
skillspector scan ./skills/ --categories command_injection,data_exfiltration

# Quét với quy tắc theo khung cụ thể
skillspector scan ./skills/ --framework claude-code

# Quét với phân giải phụ thuộc
skillspector scan ./skills/ --resolve-deps --follow-links

# Quét với đề xuất khắc phục
skillspector scan ./skills/ --remediate --output fixes/

Sử dụng Python API #

from skillspector.scanner import SkillScanner
from skillspector.report import ReportFormatter

# Khởi tạo bộ quét
scanner = SkillScanner(
    database_path="~/.skillspector/db",
    categories=["all"],
    severity_threshold="medium"
)

# Quét một tệp kỹ năng
result = scanner.scan("suspicious_skill.md")

# Phân tích kết quả
print(f"Số lỗ hổng tìm thấy: {result.vulnerability_count}")
print(f"Mức độ nghiêm trọng: {result.overall_severity}")

# Lấy chi tiết phát hiện
for finding in result.findings:
    print(f"- [{finding.severity}] {finding.category}: {finding.description}")
    print(f"  Vị trí: {finding.location}")
    print(f"  Khắc phục: {finding.remediation}")

# Tạo báo cáo định dạng
formatter = ReportFormatter(format="markdown")
report = formatter.generate(result)
print(report)

Phân tích theo khung cụ thể #

Kỹ năng Claude Code #

Kỹ năng Claude Code là các tệp Markdown (SKILL.md) xác định hướng dẫn hành vi cho agent Claude Code. SkillSpector phân tích các tệp này để tìm:

  • Các mẫu lệnh shell nguy hiểm trong hướng dẫn
  • Tiết lộ khóa API trong nội dung kỹ năng
  • Truy cập hệ thống tệp vượt quá phạm vi dự định
  • Yêu cầu kết nối mạng
# Quét kỹ năng Claude Code
skillspector scan ~/.claude/skills/ --framework claude-code

# Kiểm tra các mẫu lệnh nguy hiểm
skillspector check-commands ~/.claude/skills/ --framework claude-code

Kỹ năng GitHub Copilot #

Kỹ năng Copilot xác định hành vi tùy chỉnh cho agent Copilot. SkillSpector phát hiện:

  • Các mẫu truy cập kho lưu trữ mã trái phép
  • Thao túng điểm cuối API
  • Thu thập thông tin xác thực trong định nghĩa kỹ năng
  • Rò rỉ dữ liệu thông qua các công cụ tích hợp sẵn của Copilot
# Quét kỹ năng Copilot
skillspector scan ~/.config/github-copilot/skills/ --framework copilot

# Kiểm tra mẫu truy cập kho lưu trữ
skillspector check-repo-access ~/.config/github-copilot/skills/

Kỹ năng Codex CLI #

Kỹ năng Codex CLI mở rộng khả năng của agent Codex. SkillSpector tìm kiếm:

  • Hướng dẫn thực thi lệnh tùy ý
  • Duyệt hệ thống tệp vượt quá phạm vi dự án
  • Giao tiếp mạng với các điểm cuối không rõ
  • Thao tác biến môi trường
# Quét kỹ năng Codex
skillspector scan ~/.codex/skills/ --framework codex

# Kiểm tra thao tác môi trường
skillspector check-env-manipulation ~/.codex/skills/

Kỹ năng Gemini CLI #

Kỹ năng Gemini CLI cung cấp hướng dẫn tùy chỉnh cho agent Gemini CLI của Google. SkillSpector phân tích:

  • Mẫu sử dụng công cụ có thể bỏ qua biện pháp an toàn
  • Vectơ tiêm prompt trong định nghĩa kỹ năng
  • Vi phạm phạm vi truy cập dữ liệu
  • Mẫu gọi API bên ngoài
# Quét kỹ năng Gemini CLI
skillspector scan ~/.gemini/skills/ --framework gemini

# Kiểm tra vectơ tiêm prompt
skillspector check-injection ~/.gemini/skills/

Tích hợp CI/CD #

Tích hợp GitHub Actions #

# .github/workflows/skill-security.yml
name: Skill Security Scan
on:
  pull_request:
    paths:
      - 'skills/**'
      - '**/SKILL.md'

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install SkillSpector
        run: pip install skillspector

      - name: Update vulnerability database
        run: skillspector update-db

      - name: Scan skills
        run: |
          skillspector scan ./skills/ \
            --min-severity high \
            --output skillspector-report.json \
            --format json

      - name: Upload report
        uses: actions/upload-artifact@v4
        with:
          name: skillspector-report
          path: skillspector-report.json

Tích hợp GitLab CI #

# .gitlab-ci.yml
skill-security-scan:
  image: python:3.12
  script:
    - pip install skillspector
    - skillspector update-db
    - skillspector scan ./skills/ --output gl-skillspector-report.json --format json
  artifacts:
    reports:
      sast: gl-skillspector-report.json

Hook trước khi cài đặt #

#!/bin/bash
# .git/hooks/pre-install-skill

# Chạy SkillSpector trước khi cài đặt bất kỳ kỹ năng mới nào
skillspector scan "$1" --min-severity critical
if [ $? -ne 0 ]; then
  echo "LỖI: Kỹ năng chứa lỗ hổng nghiêm trọng. Cài đặt bị chặn."
  exit 1
fi

echo "Kỹ năng đã vượt qua quét bảo mật. Tiếp tục cài đặt."
exit 0

Hướng dẫn khắc phục #

Đề xuất sửa chữa tự động #

SkillSpector cung cấp các bước khắc phục cụ thể cho từng lỗ hổng được phát hiện:

# Tạo đề xuất sửa chữa
skillspector scan ./skills/ --remediate --output-dir ./remediated/

# Xem chi tiết khắc phục
skillspector remediation ./skills/suspicious.md

Đầu ra khắc phục mẫu:

Phát hiện: Tiêm lệnh trong lệnh shell
Mức độ nghiêm trọng: NGHIÊM TRỌNG
Vị trí: Dòng 45: "Execute: rm -rf /tmp/* && curl..."

Khắc phục:
  1. Loại bỏ các mẫu lệnh shell không giới hạn
  2. Thay thế bằng các lệnh cụ thể, có biên giới
  3. Thêm xác thực đầu vào cho bất kỳ tham số nào do người dùng cung cấp
  
  Trước: rm -rf /tmp/* && curl $EXTERNAL_URL
  Sau:   find /tmp -name "*.log" -mtime +7 -delete
         curl --max-time 30 --connect-timeout 10 "$SANITIZED_URL"

  4. Thêm danh sách trắng cho các tên miền bên ngoài được phép
  5. Thực hiện giới hạn tốc độ cho các yêu cầu bên ngoài

Thực tiễn bảo mật tốt nhất cho tác giả kỹ năng #

  1. Giới hạn phạm vi lệnh shell: Chỉ bao gồm các lệnh cần thiết cho mục đích của kỹ năng
  2. Xác thực tất cả đầu vào: Không bao giờ truyền đầu vào người dùng trực tiếp vào lệnh shell
  3. Tránh xử lý thông tin xác thực: Không bao gồm khóa API, mật khẩu hoặc token trong tệp kỹ năng
  4. Hạn chế truy cập hệ thống tệp: Giới hạn thao tác tệp chỉ trong các thư mục dự án
  5. Tài liệu luồng dữ liệu: Mô tả rõ ràng kỹ năng truy cập dữ liệu gì và gửi đi đâu
  6. Sử dụng danh sách trắng: Chỉ định các tên miền, mẫu tệp và tham số lệnh được phép
  7. Kiểm tra phụ thuộc: Kiểm toán bất kỳ gói bên ngoài nào mà kỹ năng yêu cầu

So sánh: SkillSpector vs Công cụ bảo mật truyền thống #

Tính năngSkillSpectorBanditSnykTrivy
Kỹ năng AI AgentKhôngKhôngKhông
Phân tích SKILL.mdKhôngKhôngKhông
Hỗ trợ khung4+ khungChỉ PythonĐa nền tảngContainer/tệp
Tiêm promptKhôngMột phầnKhông
Tiêm lệnhKhông
Rò rỉ dữ liệuKhôngKhông
Sẵn sàng CI/CD
GiáMiễn phíMiễn phíFreemiunMiễn phí (OSS)

Hạn chế #

  • Phát hiện dựa trên mẫu: Một số cuộc tấn công tinh vi có thể tránh khỏi khớp mẫu
  • Hiểu ngữ nghĩa: Bộ quét phân tích văn bản kỹ năng nhưng không thể hiểu đầy đủ ý nghĩa hành vi của LLM
  • Tiến hóa khung: Các khung agent mới yêu cầu bộ quy tắc được cập nhật
  • Dương tính giả: Các kỹ năng hợp lệ có thể kích hoạt cảnh báo yêu cầu xem xét thủ công
  • Tính cập nhật của cơ sở dữ liệu: Hiệu quả phát hiện phụ thuộc vào việc cập nhật cơ sở dữ liệu thường xuyên

Danh sách kiểm tra bắt đầu #

# 1. Cài đặt SkillSpector
pip install skillspector

# 2. Cập nhật cơ sở dữ liệu lỗ hổng
skillspector update-db

# 3. Quét kỹ năng hiện có
skillspector scan ~/.claude/skills/ --framework claude-code

# 4. Thiết lập tích hợp CI/CD
# Thêm quy trình làm việc GitHub Actions từ tài liệu

# 5. Cấu hình hook trước khi cài đặt
# Sao chép hook trước cài đặt vào thư mục git hooks của bạn

# 6. Lên lịch quét thường xuyên
crontab -e
# Thêm: 0 */6 * * * skillspector scan ~/.claude/skills/ --output daily-report.json

Kết luận #

SkillSpector lấp đầy một khoảng trống quan trọng trong bối cảnh bảo mật AI Agent. Khi kỹ năng agent trở thành cơ chế mở rộng tiêu chuẩn cho các trợ lý lập trình AI, nhu cầu về quét bảo mật chuyên dụng trở nên cực kỳ quan trọng. Bằng cách cung cấp phát hiện lỗ hổng tự động, phân tích theo khung cụ thể và tích hợp CI/CD, SkillSpector giúp nhà phát triển duy trì hệ sinh thái agent an toàn.

Được NVIDIA phát triển và được cộng đồng nghiên cứu an ninh mạng hỗ trợ, SkillSpector đại diện cho công cụ bảo mật chuyên dụng đầu tiên cho hệ sinh thái kỹ năng AI Agent mới nổi. Bản chất mã nguồn mở đảm bảo tính minh bạch và cải tiến do cộng đồng thúc đẩy, khiến nó trở thành công cụ thiết yếu cho bất kỳ ai triển khai kỹ năng AI Agent trong môi trường sản xuất.

Nguồn #

CTA #

Bảo vệ hệ sinh thái AI Agent của bạn ngay hôm nay. Truy cập kho lưu trữ SkillSpector trên GitHub để bắt đầu. Để lưu trữ cơ sở hạ tầng quét bảo mật của bạn, hãy cân nhắc HTStack cho các runner CI/CD giá cả phải chăng, hoặc DigitalOcean cho các runner GitHub Actions được quản lý.

Đối với quét bảo mật doanh nghiệp ở quy mô lớn, ProxyShard cung cấp cơ sở hạ tầng proxy bảo mật để cô lập môi trường thực thi kỹ năng agent.

FAQ #

q: Cơ sở dữ liệu lỗ hổng nên được cập nhật bao lâu một lần? #

a: NVIDIA khuyến nghị cập nhật cơ sở dữ liệu hàng tuần, lý tưởng nhất là trước mỗi lần quét. SkillSpector bao gồm một kiểm tra cập nhật tự động thông báo cho bạn khi có chữ ký mới. Đối với quy trình CI/CD, hãy cấu hình cập nhật cơ sở dữ liệu như một phần của bước quét.

q: SkillSpector có hoạt động với các khung agent tùy chỉnh hoặc độc quyền không? #

a: Động cơ quét của SkillSpector không phụ thuộc vào khung. Mặc dù nó bao gồm các quy tắc được cấu hình sẵn cho Claude Code, Copilot, Codex CLI và Gemini CLI, bạn có thể xác định bộ quy tắc tùy chỉnh cho bất kỳ khung agent nào bằng cách tạo tệp quy tắc theo định dạng được hỗ trợ.

q: SkillSpector có thể phát hiện các cuộc tấn công chuỗi cung ứng trong kỹ năng agent không? #

a: Có. SkillSpector phân tích phụ thuộc kỹ năng, tham chiếu gói bên ngoài và mẫu giao tiếp mạng để phát hiện các cuộc tấn công chuỗi cung ứng tiềm ẩn. Nó đánh dấu các kỹ năng phụ thuộc vào các gói chưa được xác minh hoặc thiết lập kết nối với các điểm cuối không rõ.

q: Thời gian quét dự kiến cho một thư mục kỹ năng là bao lâu? #

a: Đối với một thư mục điển hình chứa 100 tệp kỹ năng, SkillSpector hoàn thành quét toàn bộ trong dưới 10 giây. Các thư mục lớn hơn (1000+ tệp) có thể mất 30-60 giây. Thời gian quét tăng tuyến tính theo số lượng tệp, không phải kích thước nội dung.

q: SkillSpector có hỗ trợ tính năng cộng tác nhóm không? #

a: Hiện tại, SkillSpector tập trung vào quét và báo cáo cá nhân. Các tính năng nhóm như cơ sở dữ liệu lỗ hổng chia sẻ và khắc phục cộng tác được lên kế hoạch cho các bản phát hành trong tương lai. Định dạng báo cáo JSON được thiết kế để dễ dàng tích hợp với các nền tảng cộng tác nhóm.

q: SkillSpector xử lý dương tính giả như thế nào? #

a: SkillSpector gán điểm tin cậy cho từng phát hiện và cho phép lọc theo ngưỡng mức độ nghiêm trọng. Dương tính giả có thể bị vô hiệu hóa bằng cách thêm các mẫu loại trừ vào cấu hình của bạn. NVIDIA tích cực xem xét và cải thiện độ chính xác phát hiện dựa trên phản hồi từ cộng đồng.

📦 Xuất hiện trong các bộ sưu tập

💬 Bình luận & Thảo luận