
DepAlert — это шлюз безопасности с открытым исходным кодом для вашего CI/CD конвейера. Он анализирует SBOM на предмет данных об угрозах вредоносного ПО и быстро сообщает, содержит ли ваша сборка известные вредоносные пакеты.
Этот инструмент является частью платформы CTWall. См.: CTWall
DepAlert — это шлюз безопасности с открытым исходным кодом для вашего конвейера CI/CD. Он анализирует SBOM на основе данных разведки вредоносных программ и быстро сообщает, содержит ли ваша сборка известные вредоносные пакеты.
DepAlert решает основные проблемы цепочки поставок программного обеспечения, которые напрямую влияют на скорость выпуска, риск и стоимость:
MALWARE, CLEAN, UNKNOWN) в каждом запуске конвейера.fail-on) и аудируемого процесса обработки исключений.См. 00_quick_start.md для пошаговых инструкций.
depalert — это CLI для CI/CD, который:
POST /api/v1/ingest)GET /api/v1/tests/{testId}/revisions/{revisionId}/depalert-verdict)Инструмент ограничен рамками проекта. Вы можете выбрать целевой проект по:
project-id (UUID), илиproject-name (разрешается через API).Если указаны оба, project-id имеет приоритет.
DepAlert возвращает один результат для ревизии:
CLEAN — вредоносных программ не обнаружено — exit 0MALWARE — обнаружена хотя бы одна вредоносная находка в ревизии — exit 1UNKNOWN — анализ ещё не завершён — exit 2 (или exit 0 с fail-on=NONE)Формат вывода CLI:
VERDICT: <MALWARE|CLEAN|UNKNOWN> (malware=<n> clean=<n> unknown=<n> total=<n>, elapsed=<t>)
Режим JSON доступен через --format json (или CTWALL_OUTPUT=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 не равен NONE| Параметр | ENV | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
--url | CTWALL_API_URL | да | http://localhost:8080 | URL API CTWall |
--key | CTWALL_API_KEY | нет | пусто | токен API (Authorization: Bearer ...) |
--project-id | CTWALL_PROJECT_ID | условно | нет | UUID целевого проекта (имеет приоритет над project-name) |
--project-name | CTWALL_PROJECT_NAME | условно | нет | Имя целевого проекта (разрешается в UUID через API) |
--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 |
project-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
--timeout-seconds | CTWALL_WAIT_TIMEOUT_SECONDS | нет | 180 | Таймаут синхронного ожидания в секундах |
--allow-insecure | CTWALL_ALLOW_INSECURE | нет | false | Разрешить HTTP для нелокальных хостов |
--skip-tls-verify | CTWALL_SKIP_TLS_VERIFY | нет | false | Пропустить проверку сертификата TLS для HTTPS (небезопасно, только для тестирования) |