Xây dựng Content trên Marketplace
Tài liệu này hướng dẫn Creator upload nội dung (content pack) lên Marketplace của hệ thống SecOps. Nội dung package bao gồm cả Public và Private.
Hướng dẫn upload nội dung lên Git
Bước 1: Tải CLI
Tải CLI theo đường link sau: Coming soon
Bước 2: Xây dựng Content trên CLI
1. Cấu hình xác thực
- Đầu tiên, người dùng cần cấu hình IAM service account credentials:
ccsp-client add-access-key \
--id <ACCESS_KEY_ID> \
--secret <ACCESS_KEY_SECRET> \
--project <PROJECT_ID>
Trong đó:
- <ACCESS_KEY_ID> và <ACCESS_KEY_SECRET> được tạo từ tính năng "Access Key" trong Platform Management.
- Sau khi đã cấu hình xác thực, credentials được lưu tại:
| OS | Đường dẫn |
|---|---|
| Linux/ macOS | ~/.csop-client/config |
| Windows | %USERPROFILE%.csop-client\config |
2. Khởi tạo Package
- Tạo cấu trúc thư mục và file package.json mẫu cho một package mới.
# Cú pháp:
ccsp-client init <package-name>
# Ví dụ:
ccsp-client init my-security-package
- Output:
# Trả về dòng lệnh
Package 'my-security-package' initialized successfully!
# Cấu trúc package:
<package-name>/
├── package.json # Metadata bắt buộc
├── README.md # Tài liệu (khuyến nghị)
├── connectors/ # Cấu hình connector (.json)
├── dashboards/ # Định nghĩa dashboard (.json)
├── parsers/ # Log parser (.yaml / .yml)
└── rules/
├── streaming/ # Streaming detection rules (.yaml / .yml)
└── correlation/ # Correlation rules (.yaml / .yml)
Trong đó, chi tiết package JSON bao gồm:
| Trường | Kiểu dữ liệu | Bắt buộc | Mô tả |
|---|---|---|---|
| author | string | ✅ | Tên tác giả / username |
| category | array | ✅ | Danh sách category |
| description | string | ✅ | Mô tả ngắn gọn |
| name | string | ✅ | Tên định danh package |
| public | boolean | ✅ | Bao gồm: Public / Private (giá trị mặc định) |
| vendor | string | ✅ | Công ty / tổ chức sở hữu |
| version | string | ✅ | Semantic version MAJOR.MINOR.PATCH |
Bước 2: Xây dựng content pack
Hiện tại, hệ thống chỉ đang support xây dựng content cho: Parser và Rule (Streaming)
- Rule (Streaming rule): Đọc chi tiết
Bước 3: Kiểm thử nội dung
1. Validate cấu trúc
# Cú pháp:
ccsp-client validate <package-path>
# Ví dụ:
ccsp-client validate my-security-package
ccsp-client validate ./path/to/package
ccsp-client validate . # validate thư mục hiện tại
# Output thành công:
Validating package...
Package validation successful!
Your package is ready for testing and publishing.
# Output lỗi (Ví dụ):
Validating package...
Validation failed: package.json: missing required field "vendor"
- File package.json phải tồn tại và hợp lệ JSON
- Các trường bắt buộc: name, description, version, vendor, author, category
- Ít nhất một thư mục con (parsers/, rules/, dashboards/, connectors/) phải có nội dung
- Tất cả file .yaml/.yml phải có cú pháp YAML hợp lệ
- Tất cả file .json phải có cú pháp JSON hợp lệ
2. Kiểm thử ở Sandbox
Gửi parsers và rules đến backend sandbox để kiểm thử. Yêu cầu credentials.
# Cú pháp:
ccsp-client test <package-path>
# Ví dụ:
ccsp-client test my-security-package
ccsp-client test ./path/to/package
# Output thành công:
Testing package files...
✓ Test passed: parsers/apache-parser.yaml
✓ Test passed: rules/streaming/suspicious-login.json
✓ Test success: 2 file(s) tested successfully
# Ví dụ output lỗi:
Credentials not found. Please run 'ccsp-client add-access-key' first
validate trước test để phát hiện lỗi cú pháp mà không tốn API call..yaml/.yml trong rules/), backend không cần sample data, chỉ validate cú pháp và cấu trúc Sigma YAML. Kết quả trả về validation_status cho biết rule hợp lệ hay không.Bước 4: Xuất bản nội dung lên Marketplace
- Đối với Public Package, sau khi nội dung được publish lên hệ thống Git, các gói này sẽ ở trạng thái chờ (Pending). Quản trị viên cần thực hiện phê duyệt (Approve) để nội dung chính thức hiển thị trên Marketplace.
- Đối với Private Package, nội dung package sẽ hiển thị ngay trên Marketplace sau khi creator publish lên mà không cần qua bước phê duyệt của Admin
Validate, nén và upload package lên SecOps Marketplace. Yêu cầu credentials.
#Cú pháp:
ccsp-client publish <package-path>
ccsp-client publish <package-path>:<version>
# Ví dụ:
ccsp-client publish my-security-package
# Chỉ định version cụ thể
ccsp-client publish my-security-package:1.0.2
ccsp-client publish ./path/to/package:1.0.5
package.json# Output thành công:
Publishing package...
✓ Package validation passed
✓ Created archive: my-security-package.zip
✓ Package published successfully
Your package is now pending review by the marketplace team
Bước 5: Quản trị viên Approve Content Pack (chỉ áp dụng với Public Package)
Admin thực hiện approve content pack trên GIT. Sau khi được approve, nội dung của gói sẽ được đẩy lên Marketplace.