Skip to content

feat: quarantine based on scanner malicious verdict#1991

Open
janbro wants to merge 2 commits into
eclipse-openvsx:mainfrom
yeeth-security:feat/is-malicious-verdict
Open

feat: quarantine based on scanner malicious verdict#1991
janbro wants to merge 2 commits into
eclipse-openvsx:mainfrom
yeeth-security:feat/is-malicious-verdict

Conversation

@janbro

@janbro janbro commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Some security scanners return an explicit isMalicious verdict rather than relying solely on rule/finding matches. This adds support for scanners to report that verdict and uses it to drive quarantine decisions:

  • malicious = true → the extension is quarantined, even if there are no other findings.
  • malicious = false → findings are recorded for the audit trail but treated as warnings only, not enforced.
  • No verdict returned (null) → falls back to the existing behavior, enforcing based on findings alone.

The verdict can only narrow enforcement, never widen it past what a scanner's own enforced setting allows. A scanner explicitly configured with enforced: false never quarantines, regardless of verdict.

Follow-up

This is the first stage of enabling isMalicious verdict parsing for existing scanners in production. After this PR is merged, application configuration will need to be updated to add the isMalicious JSONPath to each scanner's result mapping.

janbro added 2 commits July 24, 2026 20:21
Some security providers return an explicit isMalicious verdict rather
than relying solely on rule/finding matches. Add support for scanners
to report this verdict; quarantine is enforced when malicious is true,
and findings are recorded as warnings when malicious is false.
Reformat multi-argument calls in ExtensionScanPersistenceServiceTest
and RemoteScannerTest to match the project's eclipse formatter output.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant