OBLYTECH Logo
OBLYTECH Logo
Troubleshooting ServiceNow Vulnerability Response: A Practical Guide

Troubleshooting ServiceNow Vulnerability Response: A Practical Guide

This guide helps you find which layer has failed when Vulnerability Response stops behaving: the scanner integration, data mapping, assessment and remediation workflows, SLA engine or dashboards. Each visible symptom gets a diagnosis, a fix and an escalation point.

When Vulnerability Response stops behaving, the fault is usually in one of a few layers: the scanner integration that feeds findings in, the data mapping that fills each record, the assessment and remediation workflows, the SLA engine, or the dashboards that report closure. The symptom sections below take each visible failure in turn with a diagnosis and a fix, followed by a trace method for isolating the layer at fault, a comparison against the last run that worked, what to gather before escalating to the platform team, and how to tell a design problem from a bug.

Symptom: Vulnerabilities not appearing in the system

Vulnerabilities are discovered by scanners but do not show up in Vulnerability Response.

Diagnosis: Check if the integration from the scanning tool is running. Check integration logs for errors (authentication, data format, API failure). Confirm the scanner is configured to send data to ServiceNow.

Fix: Enable the integration if disabled. Check scanner configuration and re-run a test scan. If the scanner is configured correctly, restart the integration job and monitor logs for the next scan result.

Symptom: Vulnerability records exist but have incomplete data

Vulnerabilities appear in the system but are missing fields (CVE ID, affected systems, severity) or data is incorrect.

Diagnosis: Check data mapping from the source scanner to ServiceNow. The scanner might not provide the data, or the mapping might be wrong. Check logs for data transformation errors.

Fix: Update the data mapping to include missing fields. If the scanner does not provide certain data, add it manually or accept that it is not available. Test the mapping with a sample vulnerability record.

Symptom: Assessments not running automatically

Vulnerability assessments are scheduled to run but do not execute.

Diagnosis: Check the assessment schedule is enabled. Check if the date/time for the next run has passed. Check workflow status (is the assessment workflow running or stuck?).

Fix: Enable the schedule if disabled. Manually trigger an assessment to test. Check workflow logs for errors. If a workflow is stuck, resolve the blocking issue (missing approval, missing data) and restart it.

Symptom: Remediation tracking incomplete

Remediations are assigned but do not show progress or completion status.

Diagnosis: Check if remediation records are linked to vulnerabilities. Check if workflow routing is working (are remediations going to the right teams). Check if status updates are being recorded.

Fix: Manually link orphaned remediations to vulnerabilities. Review and update workflow routing if remediations are going to wrong teams. Verify that teams are updating remediation status (check with team leads).

Symptom: SLA violations not triggering escalation

Vulnerabilities are exceeding their SLA but no escalation happens.

Diagnosis: Check SLA definitions and thresholds. Check if escalation workflows are configured. Check if escalation is disabled.

Fix: Verify SLA thresholds are set correctly for your severity levels. Enable escalation workflows. Check that escalation notifications are configured and working. Send a test notification to verify.

Symptom: Closure not reflecting in dashboards

A vulnerability is closed but dashboards still show it as open.

Diagnosis: Dashboards often update on a schedule, not real-time. Check the dashboard update frequency. Check if the vulnerability record status is actually closed (database check, not just what you see on screen).

Fix: Refresh the dashboard or wait for the next scheduled update. If the record status is not actually closed, check the workflow closure step and ensure it completes.

Symptom: Integration errors (failed syncs, stalled data)

Integration logs show errors or data is not syncing.

Diagnosis: Check connection to the source system (scanner, external service). Check authentication (credentials, API keys). Check data format compatibility.

Fix: Reconnect to the source system (restart the integration, verify network connectivity). Update credentials if expired. Check and fix any data format mismatches. Retry the sync.

When to escalate

Escalate to your platform team if: troubleshooting does not resolve the issue, the problem is a system configuration or database issue, integrations are not syncing and the cause is unclear, or performance is degraded. Provide the team with: the symptom, steps you tried, error logs, and affected vulnerability records.

Performance issues in Vulnerability Response

If Vulnerability Response dashboards or reports are slow, check the volume of vulnerability data (large organizations with many vulnerabilities experience slower reports). Optimize the dashboard query to limit data scope (recent vulnerabilities only, filter by severity). Archive old closed vulnerabilities if your data retention allows. Performance optimization after the fact is harder than designing for performance upfront.

Start from one record, not from the dashboard

When a vulnerability report looks wrong, the instinct is to check the report. That usually wastes time, because a report is the last layer in a chain and it faithfully shows whatever the layers beneath it produced. A better method is to pick one vulnerable item that looks wrong, follow it from the scanner finding through each stage it passed, and find the first point where its state stops matching what it should be. This section sets out that method. It assumes the common symptoms have already been ruled out, and it is aimed at the administrator who is investigating a problem that does not match any of them cleanly.

A trace method that isolates the layer at fault

Work through the record in the order it was created. Each step below names the evidence to pull and the layer it points to. Stop at the first step where the evidence contradicts what you expected, because that is where the fault almost always sits.

  1. Confirm the finding exists in the source scanner, with the same identifier, host and timestamp that the record shows.
  2. Check the import or integration run that brought the finding in, and confirm it completed rather than partly succeeded.
  3. Check the record’s match result. Was it treated as new, as a duplicate, or as a reopening of an existing item?
  4. Check the configuration item link. A finding attached to the wrong item will route to the wrong team even when every other step is correct.
  5. Check the rules that ran on the record, in the order they ran, and the values each one wrote.
  6. Check the task or work order that was created, and the state it moved through, including any pause reason.

Matching a visible problem to the layer most likely to cause it

The table below is a rough map from what a user sees to the part of the chain that usually explains it. It is a starting point for the trace above, not a substitute for it.

What a user sees Evidence to pull first Layer most likely at fault
Same flaw appears twice after a rescan Match result and the scanner’s identifier on both records Matching rule, not the scanner
Finding is correct but goes to a retired team Configuration item link and the owning group on it Ownership data, not routing logic
Score differs between the record and the report Last rule run time against the report’s refresh time Report caching, or a rule that ran after the report
Remediation shows done but the item stays open Closure step in the workflow and the state it writes Workflow step that never fires on the closing state
Items reach the queue hours late Import schedule and the time the finding was first seen Scheduling or a queued import, not assignment

Comparing against the last run that worked

Many faults appear after a change, even a small one. Keep a short record of the last configuration change to each rule, feed and workflow, and compare the current state with the version in place when the records still behaved. Exporting the configuration before and after a change, and keeping both copies, makes this comparison quick. Without that, the search turns into a memory exercise across the whole team.

Before you escalate, gather what the platform team needs

Escalations that arrive with a symptom and nothing else take longer to resolve, because the platform team has to rebuild the trace from scratch. Send them a single record and its trace, with the following attached:

  • The record identifier and the scanner finding identifier, side by side.
  • The run that imported it, with its completion status and any error text copied exactly.
  • The rule and workflow steps that ran, in order, with the values each one wrote.
  • The last configuration change to any of those rules, with the date and the person who made it.

When a fault is a design problem, not a bug

Some problems that look like faults are the program behaving as configured. A finding that is closed by a scan that could not see the host may reappear the next time the host is scanned, which feels like a bug but reflects scan scope. A pause reason that is set on every item may look like a stuck workflow, when the real issue is that the reason list is too broad. Before treating a problem as a fault, ask whether the configuration was meant to behave that way. If it was, the fix is a design change, and it belongs in the governance decision process rather than in a quick patch.

Why does the report show a different count from the list view?

The report usually filters on a condition the list view does not apply, or it refreshes on a schedule. Compare the filter definitions side by side before assuming either is wrong.

How do I tell a stuck workflow from a workflow that is waiting for a person?

Look at the waiting task. If it has an assignee and a due date, the workflow is waiting for that person and the escalation path is the right route. If it has no assignee, the step was never completed by the workflow, and that is a configuration fault.

Can I fix a bad record by editing it?

You can correct the fields, but keep the history. Record the correction, the reason and the person who made it, so that a later review can see that the original value was wrong rather than assume the data was always clean.

Should I restart an integration when a run fails?

Read the error first. Restarting a run that failed on authentication or on a data format change will fail again and may create partial duplicates. Fix the cause, then re-run, and check the match results afterwards.

The vulnerable item explainer covers what a vulnerable item is.

Frequently asked questions

How do I check if an integration is working?

Run the integration manually and monitor logs for success/failure messages. Check the timestamp of the last successful sync. If syncs are stalled or consistently failing, the integration needs investigation.

What if scanner connectivity is the problem?

Check network connectivity to the scanner (ping, port access). Check scanner API is available and responding. Check scanner credentials in ServiceNow are correct. Restart the scanner if needed.

How do I know if a workflow is stuck?

Check the workflow state in the workflow audit log. If a workflow shows status 'In Progress' but is older than expected, it is likely stuck. Look at the last logged action to see where it is waiting.

Talk to Oblytech

Planning, running or fixing a ServiceNow programme? Tell us where you are and we will suggest a sensible next step.

Contact us