当仓库里新增或修改 skills 目录时,先调用 API 做判断,再决定是否允许合并。
把可信判断塞进流程里。
不要把默认信任留在流程外。
如果 ClawSafe 只停留在一个网页里,那它的价值就很有限。更好的做法是让安装、合并、同步、启用这些动作,在发生之前先经过一次可信判断。
最常见的三种接法
从外部来源同步 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 仍建议最小权限部署。