Sightings

Presentation

Users have the possibility to add observations to vulnerabilities with different types of sightings, such as: seen, exploited, not exploited, confirmed, not confirmed, patched, and not patched.

TypeDescriptionNegative/Opposite
seenThe vulnerability was mentioned, discussed, or seen somewhere by the user.-
confirmedThe vulnerability is confirmed from an analyst perspective.X
exploitedThis vulnerability was exploited and seen by the user reporting the sighting.X
patchedThis vulnerability was successfully patched by the user reporting the sighting.X

You can find the corresponding definition of this MISP taxonomy here.

Example

Example of a sighting object:

{
    "uuid": "f6ed692b-2656-4ce0-bcf1-eaf12dfe281d",
    "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd",
    "author": "8dfa6142-8c6d-4072-953e-71c85404aefb",
    "type": "seen",
    "source": "https://infosec.exchange/users/cve/statuses/113389560858828548",
    "vulnerability": "CVE-2024-10312",
    "creation_timestamp": "2024-10-29T08:36:31.492184Z"
}

A source is not necessarily an URL. It can be any string, for example, the UUID of a MISP event.
Examples: https://vulnerability.circl.lu/sightings/?query=MISP

Automation tools

Realistically, sightings are more likely to be created programmatically, for instance, based on observations gathered from social networks, network captures, etc.

Our tools on the Python Package Index (PyPI):

ToolDescription
ShadowSightA client that retrieves vulnerability observations from the The Shadowserver Foundation and pushes them to a Vulnerability-Lookup instance.
FediVulnA client to gather vulnerability-related information from the Fediverse.
BlueSkySightA client to gather vulnerability-related information from Bluesky.
MISPSightA client that retrieves vulnerability observations from a MISP server and pushes them to a Vulnerability-Lookup instance.
NucleiVulnA client designed to retrieve vulnerability-related observations from the Nuclei Git repository of templates and pushes them to a Vulnerability-Lookup instance.
ExploitDBSightingA client that retrieves vulnerability observations from Exploit-DB and pushes them to a Vulnerability-Lookup instance.
KEVSightA client to generate sightings for Vulnerability-Lookup from the Known Exploited Vulnerabilities (KEV) catalog.
GistSightA client for gathering vulnerability-related information from GitHub Gists.

NucleiVuln is a client designed to monitor and retrieve vulnerability-related information from the Nuclei Git repository of templates. Templates form the core of the Nuclei scanner. When a template is linked to a vulnerability, the resulting detection (observation) is classified as confirmed, signifying a higher level of certainty compared to the seen classification.

If you want to create your own sighting tool, it’s recommended to use PyVulnerabilityLookup, a Python library to access Vulnerability-Lookup via its REST API.