Add scanner, report_type to SAST, CS, DS reports
Problem to solve
SAST, Container Scanning, and Dependency Scanning analyzers don't the new JSON fields introduced in gitlab-org/security-products/security-report-schemas!13 (merged): they don't report the scan type and scanner information.
Intended users
Proposal
Add scan.scanner
and scan.type
to the JSON security reports generated by SAST, Container Scanning, and Dependency Scanning analyzers.
Depending on how the analyzer project is implemented, the change has to be implemented in the command package of the common library or in the analyzer project itself. Currently the following analyzer projects don't use the command package: nodejs-scan, secrets, gemnasium, and klar.
Implementation plan
-
Add new Scan
Go struct to encodescan.scanner
andscan.type
; this is to be added to the report struct in the common/issue package. -
Add scanner information and report type to the Config exposed by common/command package, and update the run command to leverage this struct when generating the report. -
Upgrade the common
dependency in analyzer projects depending oncommon/command
, and release versions.-
SAST -
Dependency Scanning -
bundler-audit -
analyzer -
tests -
gitlab-org/security-products/tests/ruby-bundler!1236 (merged) -
gitlab-org/security-products/tests/ruby-bundler!1235 (merged) -
gitlab-org/security-products/tests/ruby-bundler!1241 (merged) -
gitlab-org/security-products/tests/ruby-bundler!1240 (merged) -
gitlab-org/security-products/tests/ruby-bundler-rails!31 (closed)
-
-
-
retire.js -
gemnasium-python -
analyzer -
tests
-
-
gemnasium-maven -
analyzer -
tests -
gitlab-org/security-products/tests/scala-sbt!28 (merged) -
gitlab-org/security-products/tests/java-gradle-kotlin-dsl!4 (merged) -
gitlab-org/security-products/tests/java-maven!91 (merged) -
gitlab-org/security-products/tests/java-gradle!37 (merged) -
gitlab-org/security-products/tests/java-gradle!38 (merged) -
gitlab-org/security-products/tests/java-gradle!39 (merged) -
gitlab-org/security-products/tests/java-maven-multimodules!63 (merged) -
gitlab-org/security-products/tests/scala-sbt!29 (merged) -
gitlab-org/security-products/tests/java-maven!92 (merged) -
gitlab-org/security-products/tests/java-gradle!40 (merged) -
gitlab-org/security-products/tests/java-gradle-multimodules!15 (merged) -
gitlab-org/security-products/tests/java-maven!93 (merged) -
gitlab-org/security-products/tests/scala-sbt!30 (merged) -
gitlab-org/security-products/tests/java-gradle!41 (merged) -
gitlab-org/security-products/tests/java-maven!94 (merged) -
gitlab-org/security-products/tests/java-maven!95 (merged)
-
-
-
-
-
Upgrade projects that don't depend on common/command
-
SAST -
Dependency Scanning -
gemnasium -
analyzer -
tests -
gitlab-org/security-products/tests/php-composer!46 (merged) -
gitlab-org/security-products/tests/js-npm!13553 (merged) -
gitlab-org/security-products/tests/js-yarn!67 (merged) -
gitlab-org/security-products/tests/go-modules!50 (merged) -
gitlab-org/security-products/tests/csharp-nuget-dotnetcore!22 (merged)
-
-
-
-
Container Scanning
-
Further details
Permissions and Security
N/A
Documentation
scan.scanner
and scan.type
are already documented in the JSON schemas.
Availability & Testing
To be tested as part of QA, when comparing generated reports with expected ones.
What does success look like, and how can we measure that?
All aforementioned analyzers generate these extra fields in their reports.
What is the type of buyer?
Is this a cross-stage feature?
Yes, and this issue covers all analyzer projects except DAST.