Fix GitLab security report schema compliance + scan alert population#182
Open
Fix GitLab security report schema compliance + scan alert population#182
Conversation
Signed-off-by: lelia <2418071+lelia@users.noreply.github.com>
Signed-off-by: lelia <2418071+lelia@users.noreply.github.com>
Signed-off-by: lelia <2418071+lelia@users.noreply.github.com>
|
🚀 Preview package published! Install with: pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple socketsecurity==2.2.81.dev9Docker image: |
Signed-off-by: lelia <2418071+lelia@users.noreply.github.com>
Signed-off-by: lelia <2418071+lelia@users.noreply.github.com>
Signed-off-by: lelia <2418071+lelia@users.noreply.github.com>
Signed-off-by: lelia <2418071+lelia@users.noreply.github.com>
…g enabled Signed-off-by: lelia <2418071+lelia@users.noreply.github.com>
Signed-off-by: lelia <2418071+lelia@users.noreply.github.com>
Signed-off-by: lelia <2418071+lelia@users.noreply.github.com>
Signed-off-by: lelia <2418071+lelia@users.noreply.github.com>
David Larsen (dc-larsen)
approved these changes
Apr 9, 2026
Contributor
David Larsen (dc-larsen)
left a comment
There was a problem hiding this comment.
Reviewed the full diff — the repeat-scan fix connects cleanly to the existing unchanged_alerts pipeline. All three scenarios (full scan, first diff, repeat diff with no changes) produce the right output.
A few things I verified:
- GitLab report correctly merges
new_alerts+unchanged_alerts; JSON/SARIF paths untouched _create_packages_dict_without_license_textis a good optimization for the report-only pathgetattr(diff, 'unchanged_alerts', [])handles full scan diffs gracefully- Commit status description with "1 new, 2 existing" breakdown is a nice touch
- All 15 CI checks pass including the new e2e-gitlab matrix
Will pull the preview image and run a repeat-scan validation against our GitLab test repo to confirm end-to-end.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
gl-dependency-scanning-report.json) failing schema validationChanges
Security report schema fixes
start_time/end_timefromdatetime.utcnow().isoformat() + "Z"(includes microseconds) tostrftime("%Y-%m-%dT%H:%M:%S")matching thev15.0.0schema patterndependency_filesarray, populated from alert manifest file locations with package manager mappingdatetime.utcnow()deprecation warning by switching todatetime.now(timezone.utc)Full scan alert population
create_full_scan_with_report_url()now fetches SBOM data and extracts alerts intodiff.new_alertsso GitLab/JSON/SARIF output formats have vulnerability dataenable_gitlab_security || enable_json || enable_sarifflags - no performance impact for users not using these output formatsDiff scan alert population
new_alertsandunchanged_alerts, so repeated scans with no dependency changes still show all known vulnerabilities in the Security Dashboard--strict-blockingCommit status fix
--enable-commit-statusnow counts blocking alerts from both new and unchanged alerts when--strict-blockingis enabledCLI documentation
v15.0.0targeting, cross-version support)E2E testing
Testing steps
gl-dependency-scanning-report.jsonpasses GitLab schema validation--enable-gitlab-securityproduces non-emptyvulnerabilitiesarray