Integration Patterns

把可信判断塞进流程里。
不要把默认信任留在流程外。

如果 ClawSafe 只停留在一个网页里,那它的价值就很有限。更好的做法是让安装、合并、同步、启用这些动作,在发生之前先经过一次可信判断。

最常见的三种接法

PR 合并前门禁

当仓库里新增或修改 skills 目录时,先调用 API 做判断,再决定是否允许合并。

注册表同步前过滤

从外部来源同步 skills 时,把高危和可疑对象先打进待审队列,而不是直接入库。

人工审批流补证据

在审批页面里引用 reportId,把 findings、capabilityMap 和 artifacts 直接展示给审核人。

推荐工作流

01
收集目标

拿到 repo、archive、registry item 或用户上传对象。

02
调用 /api/scan

返回 reportId、verdictLevel、riskScore 和结构化证据。

03
执行策略

根据 verdictLevel 决定阻止、进入人工复核或允许继续。

04
保留报告引用

把 reportId 写进工单、PR、审批单或审计日志。

GitHub Actions 示例

name: ClawSafe Trust Gate

on:
  pull_request:
    paths:
      - 'skills/**'

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

      - name: Submit trust review
        run: |
          RESULT=$(curl -s -X POST https://clawsafe.dev/api/scan \
            -H "Content-Type: application/json" \
            -d '{"url":"${{ github.server_url }}/${{ github.repository }}","locale":"zh"}')

          VERDICT=$(echo "$RESULT" | jq -r '.verdictLevel')
          SCORE=$(echo "$RESULT" | jq -r '.riskScore.score')
          REPORT=$(echo "$RESULT" | jq -r '.report_url')

          echo "Verdict=$VERDICT Score=$SCORE"
          echo "Report=$REPORT"

          if [ "$VERDICT" = "malicious" ] || [ "$VERDICT" = "high_risk" ]; then
            echo "::error::ClawSafe blocked this change. See $REPORT"
            exit 1
          fi

本地或脚本化调用

#!/bin/bash
TARGET_URL="$1"
RESULT=$(curl -s -X POST https://clawsafe.dev/api/scan \
  -H "Content-Type: application/json" \
  -d "{"url":"$TARGET_URL","locale":"zh"}")

echo "$RESULT" | jq '{verdictLevel, riskScore, report_url}'

策略建议

`malicious` / `high_risk`

默认阻止,除非有明确的人工豁免。

`suspicious`

进入人工复核,不建议自动放行。

`trusted` / `low_risk`

允许继续,但对高权限 skill 仍建议最小权限部署。

查看 API 文档 直接在线扫描