check-malicious endpoint to send a single GET request with a report_type and a resource_identifier, and the API tells you whether that resource appears in the OSM threat database. The endpoint covers all supported resource types through one unified interface.
Use this endpoint to:
- Investigate a suspected threat: During an active incident or hunt, look up any resource to instantly confirm whether it’s in the database and get more info about it.
- Enrich threat intelligence workflows: Integrate real-time malicious resource lookups into your SIEM, SOAR, or TIP to automatically flag known-bad indicators as they surface.
- Monitor exposure across your environment: Check whether resources already in use in your organization have been flagged since you last reviewed them.
- Vet assets before they’re installed: Query before accepting a package or extension suggested by an AI coding assistant.
- Scan dependencies in CI/CD: Catch malicious packages before they reach production by querying OSM as part of your build pipeline.
Query parameters
Responses
Malicious resource found - all versions malicious
A blank
version_info field or a null response also indicates that all versions are malicious.Malicious resource found - select versions malicious
Resource not found
401 — Missing API token
401 — Invalid or inactive token
400 — Invalid or missing report_type
400 — Missing resource_identifier
400 — Invalid repository format
500 — Database query failed
Examples
The following examples use real assets from the OpenSourceMalware threat database. Each one returns"malicious": true so you can see what a full response looks like across different resource types.
npm package: @tallyui/database
For scoped npm packages (those with an@org/name format), URL-encode the @ as %40 and the / as %2F in the resource_identifier.
VS Code extension: nrwl.angular-console
Container image: aquasec/trivy
Repository: hxxps://github[.]com/Yassin-Younis/bypass-in-app-browser
Theresource_identifier must be the full repository URL including https://. URL-encode the full value before passing it as a query parameter.
Domain: server-genimi-check[.]vercel[.]app
Pass only the domain, without a protocol or path.URL
Check a specific URL for malicious content such as phishing pages or malware delivery endpoints.IP address
Check IP addresses associated with C2 infrastructure, attack sources, or other malicious network activity.Crypto wallet
Check cryptocurrency wallet addresses linked to ransomware payments, extortion campaigns, or other attacks.Using check-malicious with AI coding assistants
AI coding assistants like Claude, GitHub Copilot, and Cursor suggest and install open-source dependencies as part of their workflow, often without any malicious resource checking. Since these tools generate and execute package installation commands directly, a malicious package recommendation gets installed as fast as a legitimate one. Before accepting a dependency suggestion from an AI coding assistant, run a quick check against the OSM database. Pass the package name and ecosystem to/check-malicious and confirm the response returns "malicious": false before installing.

