Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SARIF needs a mechanism to denote an in-flight or completed suppressions review #348

Closed
michaelcfanning opened this issue Mar 28, 2019 · 2 comments

Comments

@michaelcfanning
Copy link
Contributor

michaelcfanning commented Mar 28, 2019

Before a result is conclusively suppressed externally, there is a conversation about it. A result viewer might want to connect to and update (or simply start) that conversation.

The simplest way to provide for this is to define an additional suppressState 'underReview'. When decorated in this way, a viewer would not literally indicate the result is suppressed.

We could also consider renaming this construct to 'reviewAnnotation' etc. I tend to think the 'underReview' state is the simplest option at this late stage.

Separately, what if a conversation occurs but the result was not deemed to be suppressible? What suppression state could indicate this? 'acquitted'? 'determinedToBeTruePositive'?

Once we think about this final 'not a false positive' annotation, another term does occur to me 'dispositions' or 'evaluations'.

result.dispositions is an array of external conversations related to 'disposing' or 'evaluating' a result. 'suppressedExternally' or 'suppressedInSource' is a completed evalution.

@michaelcfanning michaelcfanning changed the title SARIF needs a mechanism to denote an in-flight suppressions review SARIF needs a mechanism to denote an in-flight or completed suppressions review Mar 28, 2019
@ghost ghost self-assigned this Mar 29, 2019
@ghost
Copy link

ghost commented Mar 29, 2019

E-BALLOT ## PROPOSAL

Before a result is conclusively suppressed externally, there is a conversation about it. A result viewer might want to connect to and update (or simply start) that conversation.

The simplest way to provide for this is to define an additional suppressionState value, `underReview'. When decorated in this way, a viewer would not literally indicate the result is suppressed.

Then, what if a conversation occurs but the result was not deemed to be suppressible? We indicate that with the value suppressionRejected.

SCHEMA CHANGES

  • In the suppression object:

    • In the kind property, add two new values underReview and suppressionRejected.

@ghost ghost added change-draft-available merged Changes merged into provisional draft. labels Mar 29, 2019
@ghost ghost closed this as completed Apr 6, 2019
@ghost
Copy link

ghost commented Apr 6, 2019

Approved in e-ballot-3.

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant