Skip to main content
The false-positive endpoint returns two kinds of records:
  • Reclassifications: Records that were originally classified by OpenSourceMalware as malicious but were subsequently determined by an admin to be false positives, or were retracted by the source feed (e.g. OSV).
  • Rejections: Submissions that OpenSourceMalware rejected, meaning they were never added to the verified findings feed, because they were determined to be false positives.
Subscription Required: This is a paid endpoint. Check out our pricing and contact us for more info.
Use this endpoint to:
  • Retract stale alerts and blocks: If a package you already flagged, whether pulled from threat-feed’s verified threats or from unverified submissions, later appears here as a false positive, close the alert or lift the block automatically instead of waiting for someone to notice.
  • Audit other feeds you’re consuming: Cross-reference entries from other vendors’ threat feeds against this endpoint. If another feed still lists something OpenSourceMalware has confirmed benign, that’s evidence to raise with the vendor.
  • Turn silence into a signal: When OpenSourceMalware doesn’t flag something another feed does, this endpoint tells you whether that’s because OpenSourceMalware reviewed it and rejected it as benign (it’ll show up here), or because OpenSourceMalware hasn’t looked at it yet (it won’t appear anywhere).
  • Pick up upstream retractions: Catch OSV advisories withdrawn at the source, even for packages OpenSourceMalware never carried a matching threat record for.
If a package shows up in another vendor’s threat feed but also appears here, that’s confirmation OpenSourceMalware reviewed it and rejected it as benign. Surface that context next to the other feed’s alert instead of treating OpenSourceMalware’s silence as a miss.

Endpoint

Required Header

Query Parameters

Unlike the search API, the false-positive endpoint is scoped by ecosystem. Note that upstream OSV withdrawals only track package ecosystems; queries for repositories or domains return source: "threat" records only.

Response Structure

Success (200 OK)

Items in false_positives are sorted by marked_at descending:
  • For threat items, marked_at represents the timestamp when the status was set to false_positive.
  • For osv_withdrawal items, marked_at represents when the advisory was withdrawn in OSV.

Attribution (originally_reported_by)

Each record includes an attribution block at both the top level and inside the nested false_positive object, identifying who originally claimed the package was malicious:
  • reporting_entity: Derived in order of precedence:
    1. Explicit analyst attribution recorded during submission review
    2. Detected vendor host in evidence references
    3. Associated researcher organization or independent researcher
    4. Fallback identifier: community-member
  • reporting_url: Direct link to the scanner report, CVE/GHSA advisory, or evidence reference document.

Matching Items to Your Internal Feeds

When cross-referencing an alert from another feed or scanner against OpenSourceMalware false positives:
  1. Match on identifier first: If your feed carries an OSV, GHSA, or CVE identifier, check against false_positive.osv_ids. This is the most deterministic match and avoids naming collisions across registries.
  2. Match on package name and ecosystem: If no vulnerability identifier is available, match on package_name and registry (or resource_identifier).
  3. De-duplicate using id and source: If an analyst updates notes or metadata on an existing false positive, its marked_at timestamp will update. De-duplicate locally using id and source.

cURL Examples

Poll PyPI false positives across the last 24 hours

Filter exclusively for OpenSourceMalware determinations

Filter exclusively for upstream OSV retractions

Query false positives for repository assets

Errors

API error responses

Click this card for the complete list of standard API error responses and status codes.