Skip to content

Запуск сканирований

С помощью команды 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 │
└──────────────────────────────────────┴─────────────────────────────┴─────────────────────────────┴─────────┘