Запуск сканирований
С помощью команды scan
вы можете заускать на сканирование репозитории (--repository
) и продукты (--products
)
Vampy автоматически запустит сканер или группу сканеров, а после завершения сканирования загрузит результаты в Vampy
Запуск сканирования дефолтным профилем сканирования
vampy-cli scan --repository vmp/product/vampy-engine --details
--------
Scan process for repository "vmp/product/vampy-engine" ...
--------
✅ Scanning added to the queue and will be executed soon
Repository: [CRITICAL]Vampy Engine
Link: https://vampy.hexway.io/repositories/123d4494-738c-404b-aa1b-14a8959de52d/
ScanProfile "Default" | RunMode: "CONCURRENT"
Commands:
---------
╭─ Semgrep
│ ├─ Scanner: SEMGREP
│ ├─ DockerImage: regestry.hexway.io/hexway/vampy-scan-images/semgrep:latest
│ ╰─ Command: semgrep scan --json --output "${RESULTS_FILE}" --config=p/owasp-top-ten --metrics=off "${CURRENT_DIR}"
╰─ Trivy: FileSystem
├─ Scanner: TRIVY_FS
├─ DockerImage: regestry.hexway.io/hexway/vampy-scan-images/trivy:latest
╰─ Command: trivy fs --scanners vuln,secret,misconfig -f json --output "${RESULTS_FILE}" --cache-dir "${CACHE_DIR}" --db-repository "${HW_REGISTRY}/trivy/trivy-db:2" --no-progress "${SRC_DIR}"
Task: https://vampy.hexway.io/admin/bgTasks?23=3df2a2f5-2dfd-4445-89c5-6328b6b375a8
Status: PENDING
Запуск сканирования дефолтным профилем сканирования с ожиданием результатов
Если вы просто запускаете сканирование, то необходимо периодически проверять его состояние, так как сканирование запускается не сразу, а в порядке очереди.
Для того чтобы вам этого не делать мы реализовали параметр --check-task
vampy-cli scan --repository vmp/product/vampy-engine --check-task --details
--------
Scan process for repository "vmp/product/vampy-engine" ...
--------
✅ Scanning added to the queue and will be executed soon
Repository: [CRITICAL]Vampy Engine
Link: https://vampy.hexway.io/repositories/1234494-738c-404b-aa1b-14a8959de52d/
ScanProfile "Default" | RunMode: "CONCURRENT"
Commands:
---------
╭─ Semgrep
│ ├─ Scanner: SEMGREP
│ ├─ DockerImage: regestry.hexway.io/hexway/vampy-scan-images/semgrep:latest
│ ╰─ Command: semgrep scan --json --output "${RESULTS_FILE}" --config=p/owasp-top-ten --metrics=off "${CURRENT_DIR}"
╰─ Trivy: FileSystem
├─ Scanner: TRIVY_FS
├─ DockerImage: regestry.hexway.io/hexway/vampy-scan-images/trivy:latest
╰─ Command: trivy fs --scanners vuln,secret,misconfig -f json --output "${RESULTS_FILE}" --cache-dir "${CACHE_DIR}" --db-repository "${HW_REGISTRY}/trivy/trivy-db:2" --no-progress "${SRC_DIR}"
Task: https://vampy.hexway.io/admin/bgTasks?id=30994826-d818-482c-aea5-8715d1db3c28
Status: PENDING
--------
Checking Background Task 30994826-d818-482c-aea5-8715d1db3c28 for repository 'vmp/product/vampy-engine'
--------
✅ Background Task: 'Scan repository 'Vampy Engine''
Link: https://vampy.hexway.io/admin/bgTasks?id=30994826-d818-482c-aea5-8715d1db3c28
Status: SUCCESS
SubTasks:
┌──────────────────────────────────────┬─────────────────────────────┬─────────────────────────────┬─────────┐
│ NAME │ STARTED │ FINISHED │ STATUS │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────────────────┼─────────┤
│ Prepare data for orchestration │ 2024-12-18T04:49:56.612932Z │ 2024-12-18T04:49:57.436367Z │ SUCCESS │
│ Execute orchestration task │ 2024-12-18T04:49:57.463707Z │ 2024-12-18T04:49:57.485577Z │ SUCCESS │
│ Await orchestration service callback │ 2024-12-18T04:50:44.098105Z │ │ SUCCESS │
└──────────────────────────────────────┴─────────────────────────────┴─────────────────────────────┴─────────┘
Запуск сканирования дефолтным профилем сканирования с одновременной проверкой SQG
Так же вы можете сразу после выполнения сканирования автоматически проверять репозиторий или продукт на соответствие выбранным критериям качества (Security Quality Gates)
Для этого запустите vampy_cli
с параметрами --check-qg
или --check-full
vampy-cli scan --repository vmp/product/vampy-engine --check-full --details
--------
Scan process for repository "vmp/product/vampy-engine" ...
--------
✅ Scanning added to the queue and will be executed soon
Repository: [CRITICAL]Vampy Engine
Link: https://vampy.hexway.io/repositories/12344494-738c-404b-aa1b-14a8959de52d/
ScanProfile "Default" | RunMode: "CONCURRENT"
Commands:
---------
╭─ Semgrep
│ ├─ Scanner: SEMGREP
│ ├─ DockerImage: regestry.hexway.io/hexway/vampy-scan-images/semgrep:latest
│ ╰─ Command: semgrep scan --json --output "${RESULTS_FILE}" --config=p/owasp-top-ten --metrics=off "${CURRENT_DIR}"
╰─ Trivy: FileSystem
├─ Scanner: TRIVY_FS
├─ DockerImage: regestry.hexway.io/hexway/vampy-scan-images/trivy:latest
╰─ Command: trivy fs --scanners vuln,secret,misconfig -f json --output "${RESULTS_FILE}" --cache-dir "${CACHE_DIR}" --db-repository "${HW_REGISTRY}/trivy/trivy-db:2" --no-progress "${SRC_DIR}"
Task: https://vampy.hexway.io/admin/bgTasks?id=ae898310-ed27-42d1-b076-498322ced2f0
Status: PENDING
--------
Checking Background Task ae898310-ed27-42d1-b076-498322ced2f0 for repository 'vmp/product/vampy-engine'
--------
✅ Background Task: 'Scan repository 'Vampy Engine''
Link: https://vampy.hexway.io/admin/bgTasks?id=ae898310-ed27-42d1-b076-498322ced2f0
Status: SUCCESS
SubTasks:
┌──────────────────────────────────────┬─────────────────────────────┬─────────────────────────────┬─────────┐
│ NAME │ STARTED │ FINISHED │ STATUS │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────────────────┼─────────┤
│ Prepare data for orchestration │ 2024-12-18T04:56:00.537908Z │ 2024-12-18T04:56:01.167007Z │ SUCCESS │
│ Execute orchestration task │ 2024-12-18T04:56:01.190371Z │ 2024-12-18T04:56:01.207312Z │ SUCCESS │
│ Await orchestration service callback │ 2024-12-18T04:56:47.906176Z │ │ SUCCESS │
└──────────────────────────────────────┴─────────────────────────────┴─────────────────────────────┴─────────┘
--------
Checking SQG for repository 'vmp/product/vampy-engine' ...
--------
⛔ QualityGate: 'Critical'
Repository: 'Vampy Engine'
Link: https://vampy.hexway.io/repositories/1efd4494-738c-404b-aa1b-14a8959de52d/
Status: FAILED
Results:
┌────────┬──────────────┬────────────┬───────────┬───────────────┐
│ STATUS │ SCANNER TYPE │ SEVERITIES │ MAX VALUE │ CURRENT VALUE │
├────────┼──────────────┼────────────┼───────────┼───────────────┤
│ PASSED │ SAST │ CRITICAL │ 0 │ 0 │
│ PASSED │ DAST │ CRITICAL │ 0 │ 0 │
│ PASSED │ SCA │ CRITICAL │ 0 │ 0 │
│ FAILED │ SAST │ HIGH │ 0 │ 1 │
│ PASSED │ DAST │ HIGH │ 0 │ 0 │
│ PASSED │ SCA │ HIGH │ 10 │ 10 │
│ PASSED │ SAST │ MEDIUM │ 5 │ 0 │
│ PASSED │ DAST │ MEDIUM │ 5 │ 0 │
│ PASSED │ SCA │ MEDIUM │ 40 │ 36 │
│ PASSED │ SAST │ LOW │ 10 │ 0 │
│ PASSED │ DAST │ LOW │ 10 │ 0 │
│ PASSED │ SCA │ LOW │ 100 │ 67 │
└────────┴──────────────┴────────────┴───────────┴───────────────┘
Запуск сканирования выбранным профилем сканирования
vampy-cli scan --repository vmp/product/vampy-engine --profile my-sast-sca-profile --details
--------
Scan process for repository "vmp/product/vampy-engine" ...
--------
✅ Scanning added to the queue and will be executed soon
Repository: [CRITICAL]Vampy Engine
Link: https://vampy.hexway.io/repositories/123d4494-738c-404b-aa1b-14a8959de52d/
ScanProfile "Default" | RunMode: "CONCURRENT"
Commands:
---------
╭─ Semgrep
│ ├─ Scanner: SEMGREP
│ ├─ DockerImage: regestry.hexway.io/hexway/vampy-scan-images/semgrep:latest
│ ╰─ Command: semgrep scan --json --output "${RESULTS_FILE}" --config=p/owasp-top-ten --metrics=off "${CURRENT_DIR}"
╰─ Trivy: FileSystem
├─ Scanner: TRIVY_FS
├─ DockerImage: regestry.hexway.io/hexway/vampy-scan-images/trivy:latest
╰─ Command: trivy fs --scanners vuln,secret,misconfig -f json --output "${RESULTS_FILE}" --cache-dir "${CACHE_DIR}" --db-repository "${HW_REGISTRY}/trivy/trivy-db:2" --no-progress "${SRC_DIR}"
Task: https://vampy.hexway.io/admin/bgTasks?23=3df2a2f5-2dfd-4445-89c5-6328b6b375a8
Status: PENDING
Запуск выбранного сканера
Вы можете выполнять сканирования не только группой сканеров, используя профили сканирования, но так же запускать один выбранный сканер.
Запуск выбранного сканера с параметрами по умолчанию
Запустим semgrep
с параметрами по-умолчанию (--config=p/owasp-top-ten --metrics=off
), дождемся завершения сканирования и сразу проверим SQG
vampy-cli scan --repository vmp/product/vampy-engine --scanner SEMGREP --check-task --details
--------
Scan process for repository "vmp/product/vampy-engine" | scanner "SEMGREP"...
--------
✅ Scanning added to the queue and will be executed soon
Repository: [CRITICAL]Vampy Engine
Link: https://vampy.hexway.io/repositories/1efd1234-738c-404b-aa1b-14a8959de52d/
ScanProfile "Specific Scanners" | RunMode: "CONCURRENT"
Commands:
---------
── Semgrep
├─ Scanner: SEMGREP
├─ DockerImage: registry.hexway.io/hexway/vampy-scan-images/semgrep:latest
╰─ Command: semgrep scan --json --output "${RESULTS_FILE}" --config=p/owasp-top-ten --metrics=off "${CURRENT_DIR}"
Task: https://vampy.hexway.io/admin/bgTasks?id=123fd3b9-fb21-487b-bf61-ca1a62bc89e3
Status: PENDING
--------
Checking Background Task 968fd3b9-fb21-487b-bf61-ca1a62bc89e3 for repository 'vmp/product/vampy-engine')
--------
✅ Background Task: 'Scan repository 'Vampy Engine''
Link: https://vampy.hexway.io/admin/bgTasks?id=123fd3b9-fb21-487b-bf61-ca1a62bc89e3
Status: SUCCESS
SubTasks:
┌──────────────────────────────────────┬─────────────────────────────┬─────────────────────────────┬─────────┐
│ NAME │ STARTED │ FINISHED │ STATUS │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────────────────┼─────────┤
│ Prepare data for orchestration │ 2024-12-18T05:05:44.636376Z │ 2024-12-18T05:05:45.298836Z │ SUCCESS │
│ Execute orchestration task │ 2024-12-18T05:05:45.321419Z │ 2024-12-18T05:05:45.339013Z │ SUCCESS │
│ Await orchestration service callback │ 2024-12-18T05:06:18.484481Z │ │ SUCCESS │
└──────────────────────────────────────┴─────────────────────────────┴─────────────────────────────┴─────────┘
Запуск выбранного сканера с кастомными параметрами сканирования
Вы можете запустить выбранный вами сканер и сами определить параметры его запуска
Для этого запустите vampy-cli
используйте опцию --scanner
и --scanner-options
Запустим semgrep
с параметрами --config=p/ai.python.detect-openai.detect-openai
vampy-cli scan --repository vmp/product/vampy-engine --scanner SEMGREP --scanner-options "--config=p/ai.python.detect-openai.detect-openai" --check-task --details
--------
Scan process for repository "vmp/product/vampy-engine" | scanner "SEMGREP"...
--------
✅ Scanning added to the queue and will be executed soon
Repository: [CRITICAL]Vampy Engine
Link: https://vampy.hexway.io/repositories/1efd4123-738c-404b-aa1b-14a8959de52d/
ScanProfile "Specific Scanners" | RunMode: "CONCURRENT"
Commands:
---------
── Semgrep
├─ Scanner: SEMGREP
├─ DockerImage: regestry.hexway.io/hexway/vampy-scan-images/semgrep:latest
╰─ Command: semgrep scan --json --output "${RESULTS_FILE}" --config=p/ai.python.detect-openai.detect-openai "${CURRENT_DIR}"
Task: https://vampy.hexway.io/admin/bgTasks?id=3123225e-a41c-4950-a474-23c457638a16
Status: PENDING
--------
Checking Background Task 3b95225e-a41c-4950-a474-23c457638a16 for repository 'vmp/product/vampy-engine')
--------
⌛ Background Task: 'Scan repository 'Vampy Engine''
Link: https://vampy.hexway.io/admin/bgTasks?id=3123225e-a41c-4950-a474-23c457638a16
Status: PROGRESS | unable to finish after 121 seconds
SubTasks:
┌──────────────────────────────────────┬─────────────────────────────┬─────────────────────────────┬─────────┐
│ NAME │ STARTED │ FINISHED │ STATUS │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────────────────┼─────────┤
│ Prepare data for orchestration │ 2024-12-18T05:16:52.930801Z │ 2024-12-18T05:16:53.703553Z │ SUCCESS │
│ Execute orchestration task │ 2024-12-18T05:16:53.727320Z │ 2024-12-18T05:16:53.745446Z │ SUCCESS │
│ Await orchestration service callback │ │ │ PENDING │
└──────────────────────────────────────┴─────────────────────────────┴─────────────────────────────┴─────────┘