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.
- 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.
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)
false_positives are sorted by marked_at descending:
- For
threatitems,marked_atrepresents the timestamp when the status was set tofalse_positive. - For
osv_withdrawalitems,marked_atrepresents 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:- Explicit analyst attribution recorded during submission review
- Detected vendor host in evidence references
- Associated researcher organization or independent researcher
- 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:- 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. - Match on package name and ecosystem: If no vulnerability identifier is available, match on
package_nameandregistry(orresource_identifier). - De-duplicate using
idandsource: If an analyst updates notes or metadata on an existing false positive, itsmarked_attimestamp will update. De-duplicate locally usingidandsource.
cURL Examples
Poll npm false positives in the last hour (recommended polling cadence)
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.

