Help:Sarif: Difference between revisions
No edit summary |
mNo edit summary |
||
(9 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Help]] | [[Category:Help]] | ||
== Работа с SARIF == | == Работа с SARIF == | ||
=== Генерация SARIF === | |||
Поддерживается генерация файла SARIF, который может быть прочитан при помощи расширения Microsoft SARIF Viewer, GitHub или DefectDojo. | === SARIF2 === | ||
Начиная с релиза 8.0.0 добавлена команда '''sarif2''' с подкомандами '''import''' и '''export'''. Рекомендуется использовать данную функциональность вместо старой команды '''sarif'''. Новый импорт обеспечивает создание детекторов в Svacer из reporting descriptor-ов в sarif, что обеспечивает корректную работу фильтров. Новая функциональность импорта поддерживает большую часть опций, которые могут быть использованы при импорте svres-файлов. | |||
Пример импорта c включением содержимого файлов (при наличии его в самом sarif-файле или возможности найти файл в процессе импорта): | |||
svacer sarif2 import --store /tmp/sarif --include-contents /path/to/sarif/file.sarif | |||
Если sarif файл содержит относительные пути, то можно указать опцию <code>--base-dir</code> для поиска файлов относительно указанной директории. | |||
Далее полученный intermediate store можно загрузить командой upload как и для импорта svres. Также можно скомбинировать import с upload: | |||
svacer sarif2 import --upload --store /tmp/sarif --include-contents /path/to/sarif/file.sarif | |||
Пример экспорта с включением содержимого файлов в артефакты: | |||
svacer sarif2 export --host localhost --user admin --password admin --include-contents --project bash --out /tmp/out.sarif | |||
При экспорте включается разметка предупреждений в пользовательские атрибуты (properties). Также включается информация об ID снимка, проекта и прочая дополнительная информация. | |||
Полный список опций может быть получен при выполнении команд: | |||
svacer sarif2 import --help | |||
svacer sarif2 export --help | |||
=== Генерация SARIF (deprecated) === | |||
Поддерживается генерация файла в формате [https://sarifweb.azurewebsites.net SARIF], который может быть прочитан при помощи расширения Microsoft SARIF Viewer, GitHub или DefectDojo. | |||
Итоговый файл содержит сопоставление внутренних значений критичности маркеров со значениями уровня SARIF по следующему правилу: | Итоговый файл содержит сопоставление внутренних значений критичности маркеров со значениями уровня SARIF по следующему правилу: | ||
* Critical -> error | * Critical -> error | ||
Line 8: | Line 29: | ||
* Minor -> note | * Minor -> note | ||
* Normal -> none | * Normal -> none | ||
При импорте результатов анализа в SARIF должны быть предоставлены данные для подключения к серверу, так как значения критичности маркеров берутся оттуда. | При импорте результатов анализа в SARIF должны быть предоставлены данные для подключения к серверу, так как значения критичности маркеров берутся оттуда. | ||
Общие параметры для импорта: | Общие параметры для импорта: | ||
Line 18: | Line 37: | ||
* include-contents — включать контент файлов, в которых обнаружены предупреждения | * include-contents — включать контент файлов, в которых обнаружены предупреждения | ||
==== Генерация из .svres (deprecated) ==== | |||
==== Генерация из .svres ==== | |||
При импорте из файла svres используются дополнительные параметры: | При импорте из файла svres используются дополнительные параметры: | ||
* svace — путь к исполняемому файлу svace | * svace — путь к исполняемому файлу svace | ||
* svace-dir — интерпретировать путь, как путь к директории .svace-dir | * svace-dir — интерпретировать путь, как путь к директории .svace-dir | ||
* path_to_project_or_svace-dir — путь к директории проекта или к .svace-dir. Его можно не указывать, тогда в качестве пути к проекту будет использована текущая директория | |||
Пример команды для генерации файла SARIF: | Пример команды для генерации файла SARIF: | ||
./svacer sarif -o <path_to_result_file> --svace <path_to_svace> | ./svacer sarif -o <path_to_result_file> --svace <path_to_svace> [path_to_project_or_svace-dir] | ||
==== Генерация из данных с сервера ==== | ==== Генерация из данных с сервера ==== | ||
Line 36: | Line 53: | ||
* branch — имя или id ветки (master по умолчанию) | * branch — имя или id ветки (master по умолчанию) | ||
* snapshot — имя или id снимка (last по умолчанию) | * snapshot — имя или id снимка (last по умолчанию) | ||
Также, для корректного получения необходимого проекта, должен быть указан пользователь, у которого есть доступ к этому проекту. | Также, для корректного получения необходимого проекта, должен быть указан пользователь, у которого есть доступ к этому проекту. | ||
Пример команды для генерации файла SARIF из данных с сервера: | Пример команды для генерации файла SARIF из данных с сервера: | ||
Line 45: | Line 60: | ||
./svacer sarif -o <path_to_result_file> --from-server --user <user> --password <password> --project <project_name> | ./svacer sarif -o <path_to_result_file> --from-server --user <user> --password <password> --project <project_name> | ||
=== Загрузка на сервер из SARIF (deprecated) === | |||
=== Загрузка на сервер из SARIF === | |||
При загрузке данных на сервер используются следующие параметры: | При загрузке данных на сервер используются следующие параметры: | ||
* read-file, r — файл SARIF, из которого необходимо читать данные | * read-file, r — файл SARIF, из которого необходимо читать данные | ||
Line 54: | Line 68: | ||
* skip-source — пропускать исходный код файлов с предупреждениями | * skip-source — пропускать исходный код файлов с предупреждениями | ||
* path-prefix — заменять префиксы в названии файлов (prefix:replacement) | * path-prefix — заменять префиксы в названии файлов (prefix:replacement) | ||
Пример команды для загрузки на сервер: | Пример команды для загрузки на сервер: | ||
./svacer sarif upload -r <input_file> | ./svacer sarif upload -r <input_file> |
Latest revision as of 13:09, 4 June 2024
Работа с SARIF
SARIF2
Начиная с релиза 8.0.0 добавлена команда sarif2 с подкомандами import и export. Рекомендуется использовать данную функциональность вместо старой команды sarif. Новый импорт обеспечивает создание детекторов в Svacer из reporting descriptor-ов в sarif, что обеспечивает корректную работу фильтров. Новая функциональность импорта поддерживает большую часть опций, которые могут быть использованы при импорте svres-файлов.
Пример импорта c включением содержимого файлов (при наличии его в самом sarif-файле или возможности найти файл в процессе импорта):
svacer sarif2 import --store /tmp/sarif --include-contents /path/to/sarif/file.sarif
Если sarif файл содержит относительные пути, то можно указать опцию --base-dir
для поиска файлов относительно указанной директории.
Далее полученный intermediate store можно загрузить командой upload как и для импорта svres. Также можно скомбинировать import с upload:
svacer sarif2 import --upload --store /tmp/sarif --include-contents /path/to/sarif/file.sarif
Пример экспорта с включением содержимого файлов в артефакты:
svacer sarif2 export --host localhost --user admin --password admin --include-contents --project bash --out /tmp/out.sarif
При экспорте включается разметка предупреждений в пользовательские атрибуты (properties). Также включается информация об ID снимка, проекта и прочая дополнительная информация.
Полный список опций может быть получен при выполнении команд:
svacer sarif2 import --help svacer sarif2 export --help
Генерация SARIF (deprecated)
Поддерживается генерация файла в формате SARIF, который может быть прочитан при помощи расширения Microsoft SARIF Viewer, GitHub или DefectDojo. Итоговый файл содержит сопоставление внутренних значений критичности маркеров со значениями уровня SARIF по следующему правилу:
- Critical -> error
- Major -> warning
- Minor -> note
- Normal -> none
При импорте результатов анализа в SARIF должны быть предоставлены данные для подключения к серверу, так как значения критичности маркеров берутся оттуда.
Общие параметры для импорта:
- out-file, o — имя выходного файла или «-» для вывода в stdout
- scheme — печать примера схемы выходного файла SARIF
- include-contents — включать контент файлов, в которых обнаружены предупреждения
Генерация из .svres (deprecated)
При импорте из файла svres используются дополнительные параметры:
- svace — путь к исполняемому файлу svace
- svace-dir — интерпретировать путь, как путь к директории .svace-dir
- path_to_project_or_svace-dir — путь к директории проекта или к .svace-dir. Его можно не указывать, тогда в качестве пути к проекту будет использована текущая директория
Пример команды для генерации файла SARIF:
./svacer sarif -o <path_to_result_file> --svace <path_to_svace> [path_to_project_or_svace-dir]
Генерация из данных с сервера
При импорте из данных с сервера используются следующие дополнительные параметры:
- from-server — опция для получения данных с сервера
- project — имя или id проекта
- branch — имя или id ветки (master по умолчанию)
- snapshot — имя или id снимка (last по умолчанию)
Также, для корректного получения необходимого проекта, должен быть указан пользователь, у которого есть доступ к этому проекту.
Пример команды для генерации файла SARIF из данных с сервера:
./svacer sarif -o <path_to_result_file> --from-server --user <user> --password <password> --project <project_name>
Загрузка на сервер из SARIF (deprecated)
При загрузке данных на сервер используются следующие параметры:
- read-file, r — файл SARIF, из которого необходимо читать данные
- project — название проекта на сервере (по умолчанию совпадает с именем файла)
- branch — название ветки на сервере (по умолчанию master)
- snapshot — название снимка на сервере (по умолчанию время загрузки)
- skip-source — пропускать исходный код файлов с предупреждениями
- path-prefix — заменять префиксы в названии файлов (prefix:replacement)
Пример команды для загрузки на сервер:
./svacer sarif upload -r <input_file>