Skip to main content
Findings are security issues identified across your assets and pentest runs. Everything Mjolnir discovers, plus issues from Borg’s continuous monitoring, manual triage by our team, or imports from your existing tooling, lands here.
Odin findings dashboard showing a list of security findings with severity indicators

Severity levels

Each finding gets a severity based on exploitability and impact. Severity is set by Borg’s analyst team or by Mjolnir, and is anchored to a CVSS base score:
SeverityCVSS rangeDescription
Critical9.0 – 10.0Immediate exploitation risk. Requires urgent remediation.
High7.0 – 8.9Significant risk with a realistic exploitation path. Address promptly.
Medium4.0 – 6.9Real issue but harder to exploit or lower impact. Plan remediation.
Low0.1 – 3.9Minor issue or defence-in-depth improvement. Fix when practical.
You can filter findings by source, severity, and CVSS range from the filters bar.

Finding status

Each finding moves through a status lifecycle that captures the back-and-forth between your team and Borg as a fix is applied and verified:
StatusWhat it meansSet by
ReportedThe finding has been published to your team and is awaiting triageBorg
AcknowledgedYou’ve seen the finding and accepted the risk for now; not actively being remediatedYour team
MitigatingRemediation is in progress on your sideYour team
Open for RetestYou’ve applied a fix and want Borg to verify itYour team
Needs RevisionBorg retested and the fix is insufficient (or introduces a new issue)Borg
Fixed & RetestedBorg has verified the remediation is effectiveBorg

Changing the status

From the finding detail view, Member, Admin, and Owner roles can move a finding between client-controlled states:
  • Reported → Mark as Mitigating, or Acknowledge
  • Acknowledged → Resume Mitigation
  • Mitigating → Mark as Open for Retest, or Acknowledge
  • Open for Retest → Reopen as Mitigating, or Acknowledge
  • Needs Revision → Resume Mitigation, or Mark as Ready for Retest
You can optionally attach a comment when changing status. Borg sees the comment alongside the status change in the activity timeline.
After every status change, a toast appears with an Undo action. Use it if you change a finding’s status by mistake.

Finding identifiers and PR linking

Every finding has a unique, human-readable identifier made from your organisation’s finding prefix and a sequence number — for example BORG-12. The identifier is shown in the finding header and on every list view, and it’s how findings get connected to your engineering work.

Linking pull requests to findings

When the GitHub integration is connected, Odin watches incoming pull requests for finding identifiers in three places:
  1. The branch name (highest priority)
  2. The PR title
  3. The PR body
If a {PREFIX}-{N} token matches a finding in your organisation, that PR is automatically linked to the finding. You see linked PRs as chips in the finding header, and the source (branch / title / description) is recorded so you can tell where the link came from. As the PR moves through GitHub (opened → closed → merged → reopened), Odin tracks the state on the linked entry. Merging a PR does not automatically transition the finding to Fixed & Retested — in develop → staging → production workflows, merging to develop doesn’t mean the fix is live in production. Move the finding to Open for Retest when you’re ready for Borg to verify.
When a PR is linked to a Reported finding, Odin auto-transitions the finding to Mitigating — a clear signal to Borg’s analyst team that work is in progress.

Copy branch name

The finding detail header has a Copy branch name action that copies a ready-to-use git branch name combining the identifier and a slugified title, for example:
fix/borg-12-sql-injection-in-login-form
Paste this into git checkout -b and the resulting PR will be linked automatically once it’s opened. You can also use the identifier directly in a PR title or body — for example BORG-12: fix SQL injection in login form or a body that mentions Fixes BORG-12 — and the same auto-linking applies.

What’s inside a finding

Every finding contains:
  • Title and severity: a one-line summary plus severity label and CVSS score
  • Type: when set, links the finding to its CWE class
  • Affected assets: the domains, endpoints, or resources where the issue applies
  • Description: what the vulnerability is
  • Impact: the business consequence if it were exploited
  • Details: technical details, including how the issue was identified
  • Remediation: step-by-step fix guidance
  • Proof of Concept: for Mjolnir findings, the request/response evidence captured during exploitation
  • Code Reference: for Mjolnir findings with a code pointer, the exact file and line in your repository
  • Status history: every status change, who made it, and any attached comment

Revisions

Findings are immutable. Whenever Borg’s analyst team or Mjolnir updates the content of a finding (after retesting, for example), a new revision is created and the revision number in the header increments. You always see the current revision, but the full history is preserved on Borg’s side for audit.

Views

The Findings page has two view modes you can switch between in the toolbar:
  • List: the default tabular view, with filters, sort, and a detail panel
  • Heatmap: a severity-by-status matrix showing how findings are distributed across your portfolio
Filters at the top of the page narrow your view:
  • Severity: select one or more of Critical, High, Medium, Low
  • Status bar: click any status to filter to it; Fixed & Retested and Acknowledged are hidden by default
  • Source: filter by Mjolnir, Manual, Import, or Watchdog
  • Pentest: scope findings to a specific pentest engagement
  • Asset: scope to findings affecting a specific asset
  • Repository: for Mjolnir findings, filter by source repo
  • Search: free-text search across titles and descriptions
  • Sort: by severity (high → low or low → high) or by date
The URL updates as you filter, so any view can be bookmarked. You can also save your current filter set as a named preset for quick recall later — your presets are stored locally in your browser.

Bulk operations

Select multiple findings with the row checkboxes, or navigate with j/k and toggle selection with x. With a selection active, a bulk action bar appears at the bottom of the page:
  • Mark as Mitigating — move all selected findings to Mitigating
  • Mark as Open for Retest — move all selected findings to Open for Retest
  • Export selected — download the selected findings as CSV, Markdown, or JSON
Bulk operations require the Member role or higher.

Discussion and activity

Every finding has a right-hand rail with two tabs:
  • Discussion: a threaded conversation with Borg’s analyst team. Use @ to mention a teammate, attach files, and resolve threads when a question is settled. New replies can trigger email notifications based on your discussion preferences.
  • Activity: a chronological feed of every status change, revision, and integration sync for the finding

Mentioning teammates, findings and projects

Typing @ in a discussion opens a search grouped into People, Findings, and Projects (pentests). Start typing a name, finding title or identifier, or project name to filter each group.
  • People mentions notify the teammate, as they always have.
  • Findings and Projects mentions are links only and notify no one. A mentioned finding shows as a chip with its current status and severity, and a mentioned project links through to its findings.
A finding chip reads its status live each time the thread loads, so it shows the finding’s current status rather than its status when the message was posted. If a finding is later deleted, or you lose access to it, its chip turns muted and stops linking through.

Exporting findings

Click Export in the page header to download your current filtered view. The export respects every active filter, so narrow down by severity, status, source, etc. before exporting.
FormatDescription
CSVSpreadsheet-friendly format with columns for identifier, title, severity, CVSS, status, source, description, business impact, details, remediation, and timestamps
JSONMachine-readable format with the same data, useful for scripting or importing into other tools
MarkdownHuman-readable format with each finding as a section, including metadata tables and full descriptions
From a single finding, you can also copy or download just that finding as Markdown.

Pushing findings to your issue tracker

If you’ve connected Linear, Jira, GitHub, or GitLab, you can push any finding directly to your issue tracker with one click. The finding title, severity, description, impact, and remediation are all included, plus a deep link back to the finding in Odin. You can also enable auto-ticketing so that issues are created automatically as new findings are reported. Set up your integration at Management > Integrations.

Set up integrations

Connect Linear, Jira, GitHub, or GitLab

Step-up verification

Some actions require re-authentication