Сканирование файла¶
При необходимости сканирования отдельного манифеста внутри директории можно использовать команду scan file.
При запуске агент:
- Идентифицирует формат указанного файла и производит разбор содержимого.
- Формирует запрос к платформе для анализа содержимого.
- После получения результатов отображает общую информацию о найденных манифестах, зависимостях, уязвимостях и сработавших политиках.
- Дополнительно в текущей директории создается файл
bom.json, содержащий полный Software Bill of Materials в формате CycloneDX.
В зависимости от параметров запуска агент возвращает соответствующий exit code:
- 0 – успешное сканирование, проблемы не были выявлены;
- 1 – найдены проблемы в результате сканирования, необходимо действие пользователя;
- 2 – ошибка сканирования;
- 3 – пустой результат, не были найдены артефакты для анализа. Возвращается только если параметр
--block-on-empty-resultимеет значениеtrue.
Пример запуска команды¶
Для сканирования только одного файла без обработки вложенных директорий или других манифестов, необходимо указать путь к файлу при запуске команды.
Параметры команды¶
Команда scan file имеет три уникальных параметра, помимо общих настроек команды сканирования:
--branch-or-tag– ссылка на ветку или тег репозитория (например,refs/tags/v1.0);--commit– указание хэша коммита;--parser– используемый парсер.
Для сводки доступных параметров команды и инструкции по использованию можно вызвать команду с флагом -h, --help.
Доступные парсеры¶
| Технология | Парсеры |
|---|---|
| Conda | conda.conda-lock_yml, conda.conda_yml_env |
| Ruby | ruby.gemfile, ruby.gemfile_lock, ruby.gemspec |
| С# | csharp.packages_lock_json, csharp.project_json, csharp.project_lock_json, csharp.dependencyreport_json, csharp.paket_dependencies, csharp.nuspec, csharp.csproj, csharp.packages_config, csharp.dotnet_csproj_env, csharp.project_assets_json, csharp.paket_lock |
| PHP | php.composer_json, php.composer_lock, php.composer_env |
| Python | python.poetry_pyproject_toml_env, python.requirements_txt, python.pipfile, python.poetry_lock, python.pip-resolved-dependencies_txt, python.setup_py, python.pipfile_lock, python.pyproject_toml, python.pip_env |
| C | clang.conan_lock, clang.conanfile_txt, clang.conanfile_py |
| Go | go.go_mod, go.go_sum, go.go_mod_env |
| Objective-C | objective_c.podfile, objective_c.podfile_lock, objective_c.podspec |
| Rust | rust.cargo_toml, rust.cargo_lock |
| Java | java.pom_xml, java.ivy_xml, java.maven-dependency-tree_txt, java.build_gradle_env, java.gradle-dependency-tree_txt, java.gradle_kts, java.gradle_lockfile, java.maven_pom_xml_env, java.jar, java.gradle, java.scala_build_sbt_env, java.scala-dependency-tree_txt |
| JS | js.package_json, js.yarn_package_json_env, js.yarn_lock, js.pnpm_package_json_env, js.pnpm_lock_yaml, js.npm_package_json_env, js.package-lock_json, js.npm-shrinkwrap_json |