此工具是 CTWall 平台的一部分。 参阅:CTWall
DepAlert 是用于 CI/CD 管道的开源安全门。它通过分析 SBOM 与恶意软件情报数据,快速告知您的构建是否包含已知的恶意软件包。
DepAlert 解决直接影响发布速度、风险和成本的核心软件供应链问题:
MALWARE、CLEAN、UNKNOWN),减少安全瓶颈。fail-on)和可审计的异常工作流,跨团队标准化风险决策。参阅 00_quick_start.md 了解分步说明。
depalert 是一个 CI/CD CLI,它:
POST /api/v1/ingest)GET /api/v1/tests/{testId}/revisions/{revisionId}/depalert-verdict)该工具是项目范围的。 您可以通过以下方式选择目标项目:
project-id(UUID),或project-name(通过 API 解析)。如果同时提供了两者,则 project-id 优先。
DepAlert 返回一个修订结果:
CLEAN - 未检测到恶意软件发现 - 退出码 0MALWARE - 在修订中检测到至少一个恶意软件发现 - 退出码 1UNKNOWN - 分析尚未完成 - 退出码 2(或使用 fail-on=NONE 时退出码 0)CLI 输出格式:
VERDICT: <MALWARE|CLEAN|UNKNOWN> (malware=<n> clean=<n> unknown=<n> total=<n>, elapsed=<t>)
可通过 --format json(或 CTWALL_OUTPUT=json)使用 JSON 模式。
JSON 输出示例:
{
"version": "1.1.0",
"status": "success",
"exitCode": 0,
"projectId": "28e241e3-b924-4e1a-abc2-d592e8dd811c",
"testId": "13271a70-cf47-4f3b-9e33-cb41ed0c793e",
"revisionId": "c4d1f1a4-c018-488e-9dd0-6cfdbed83bf3",
"verdict": "CLEAN",
"malwareComponents": 0,
"cleanComponents": 12,
"unknownComponents": 0,
"totalComponents": 12,
"elapsedMs": 1842,
"timedOut": false,
"failOn": "MALWARE",
"message": "depalert completed"
}
VERDICT: <MALWARE|CLEAN|UNKNOWN> (malware=<n> clean=<n> unknown=<n> total=<n>, elapsed=<t>)
0 = 通过1 = 策略失败或运行时错误2 = 最终判定为 UNKNOWN 且 fail-on 不是 NONEproject-id 或 project-name 中的一个。project-name 通过 GET /api/v1/projects 解析。https。--allow-insecure,或CTWALL_ALLOW_INSECURE=true。--skip-tls-verify,或CTWALL_SKIP_TLS_VERIFY=true。请参阅
DepAlert 使用 BSD 3-Clause 许可证
| Flag | ENV | 是否必需 | 默认值 | 描述 |
|---|
--url | CTWALL_API_URL | 是 | http://localhost:8080 | CTWall API URL |
--key | CTWALL_API_KEY | 否 | 空 | API 令牌(Authorization: Bearer ...) |
--project-id | CTWALL_PROJECT_ID | 条件性 | 无 | 目标项目 UUID(优先于 project-name) |
--project-name | CTWALL_PROJECT_NAME | 条件性 | 无 | 目标项目名称(通过 API 解析为 UUID) |
--file | CTWALL_SBOM_FILE(或旧版 SBOM_FILE) | 是 | 无 | SBOM 文件路径 |
--product | CTWALL_PRODUCT | 是 | 无 | 产品名称 |
--scope | CTWALL_SCOPE | 是 | 无 | 范围名称 |
--test | CTWALL_TEST | 是 | 无 | 测试名称 |
--fail-on | CTWALL_FAIL_ON | 否 | MALWARE | CSV 判定列表:MALWARE,CLEAN,UNKNOWN 或 NONE |
--ignore-file | CTWALL_IGNORE_FILE | 否 | depalert.ignore | 可选的 YAML 异常文件,用于本地判定覆盖和分类更新 |
--format | CTWALL_OUTPUT | 否 | text | 输出格式:text 或 json |
--timeout-seconds | CTWALL_WAIT_TIMEOUT_SECONDS | 否 | 180 | 同步等待超时时间(秒) |
--allow-insecure | CTWALL_ALLOW_INSECURE | 否 | false | 允许对非本地主机使用 HTTP |
--skip-tls-verify | CTWALL_SKIP_TLS_VERIFY | 否 | false | 跳过 HTTPS 的 TLS 证书验证(不安全,仅用于测试) |