BLACKSHIELD

公开指南

导入首批发现

在扩展到更多集成之前,运行首次扫描、提交结果并确认数据质量。 受众: 安全工程师、CI所有者和集成工程师. 典型配置时长: 10-15分钟.

开始之前

  • 在 /api-keys 中创建摄取 API 密钥并保存原始密钥(显示一次)。
  • 使用扫描仪图像 secplatform/pipeline-scanner:latest (或您的镜像 public.ecr.aws 别名)。
  • 将 SECPLATFORM_API_URL 设置为您的后端端点(本地:http://localhost:8000).

分步说明

步骤 1

选择扫描仪图像和第一个目标

使用确定性目标和已知的扫描仪图像,以便轻松验证结果。

  • 首次运行时使用 `secplatform/pipeline-scanner:latest` (或您的镜像公共 ECR 别名)。
  • 选择一个已知目标,例如 `python:3.11-slim` 以获得可预测的第一个结果。
  • 在扫描仪客户端支持的 JSON 模式下运行 Trivy 或 Semgrep。
  • 保留分支、提交或工件元数据以进行故障排除。

步骤 2

创建并使用摄取 API 密钥

在 API 密钥中创建工作区密钥并仅将其用于扫描仪摄取。

  • 打开 `/api-keys`,创建一个密钥,并立即保存原始 `sp_...` 值。
  • 通过环境设置 `SECPLATFORM_API_URL` 和 `SECPLATFORM_API_KEY`变量。
  • 运行匹配的扫描仪客户端入口点或容器命令.
  • 捕获响应日志作为已接受有效负载的证明。

步骤 3

验证质量和重复数据删除

确保调查结果完整、严重性映射正确,并且重复上传不会重复问题。

  • 打开结果并按扫描仪和资源进行过滤。
  • 验证 `first_seen` 和 `last_seen` 字段已填充。
  • 重新提交相同的负载一次并验证重复数据删除行为。

运行命令

通过 API 创建摄取 API 密钥

bash
TOKEN=$(curl -s -X POST "http://localhost:8000/api/v1/auth/login?email=admin@acme.com&password=changeme123" | python3 -c "import sys, json; print(json.load(sys.stdin)['access_token'])")

curl -s -X POST http://localhost:8000/api/v1/api-keys \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"label":"Pipeline Scanner","expires_in_days":90}'

运行首次管道扫描和摄取结果

bash
docker run --rm \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e SECPLATFORM_API_URL=http://localhost:8000 \
  -e SECPLATFORM_API_KEY=sp_your_key_here \
  -e SCAN_TOOL=trivy \
  -e SCAN_TARGET=python:3.11-slim \
  secplatform/pipeline-scanner:latest

成功检查

  • 摄取作业状态达到已创建> 0或已更新> 0的完成状态。
  • 新发现出现在 /findings 中,并包含严重性、来源
导入首批发现 | BlackShield Docs