Skip to content

Conversation

@Maffooch
Copy link
Contributor

Update finding's last reviewed date and reviewer to maintain parity with UI behaviors

Update finding's last reviewed date and reviewer to maintain parity with UI behaviors
@Maffooch Maffooch requested a review from mtesauro as a code owner January 29, 2026 20:42
@github-actions github-actions bot added the apiv2 label Jan 29, 2026
@Maffooch Maffooch added this to the 2.55.0 milestone Jan 29, 2026
@valentijnscholten valentijnscholten changed the title Set last reviewed date and reviewer for finding Set last reviewed date and reviewer when note is added Jan 29, 2026
@valentijnscholten
Copy link
Member

Should this also happen on notes added via the JIRA webhook?

Copy link
Contributor

@mtesauro mtesauro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved

@Maffooch
Copy link
Contributor Author

Should this also happen on notes added via the JIRA webhook?

Sure

Update finding with last reviewed date and author.
@dryrunsecurity
Copy link

DryRun Security

This pull request introduces a JIRA webhook handler change that automatically sets a finding's last_reviewed timestamp and last_reviewed_by to a generic "JIRA" user whenever any JIRA comment is received, which means non-review interactions (questions, bot updates) can improperly mark findings as reviewed and undermine the audit trail and compliance reporting. This behavior weakens accountability and allows external activity to manipulate review status used for monitoring and reports.

Business Logic: Audit Trail Integrity via JIRA Webhook in dojo/jira_link/views.py
Vulnerability Business Logic: Audit Trail Integrity via JIRA Webhook
Description The JIRA webhook handler in dojo/jira_link/views.py automatically updates the last_reviewed timestamp and last_reviewed_by field of a finding whenever any JIRA comment is received. This logic flaw treats every external interaction (such as a developer asking a question or a bot posting an update) as a formal security review. The identity of the reviewer is set to a generic 'JIRA' system user, which dilutes the accountability of the audit trail. Because last_reviewed is a critical field used for compliance monitoring, filtering stale findings, and generating security reports, this automated behavior allows the review status of findings to be manipulated by external, non-tester interactions, compromising the integrity of compliance reporting.

finding.last_reviewed = new_note.date
finding.last_reviewed_by = author
finding.save(update_fields=["last_reviewed", "last_reviewed_by"])
return None


All finding details can be found in the DryRun Security Dashboard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants