ScanMalware plugin
Investigate phishing and malicious URLs with ScanMalware from Claude Code, Codex and Gemini CLI. ScanMalware renders URLs in a sandboxed browser and keeps every public scan in a searchable archive. This plugin connects your agent to that archive and teaches it how to turn one phishing URL into the rest of its campaign.
No account or API key is needed.
What it adds
-
The ScanMalware MCP server (
https://mcp.scanmalware.com/mcp, remote, no sign-in): 128 tools, 126 of them read-only. Read a scan's verdict, network requests, IOCs, TLS and JARM details, detected technologies, YARA matches, OCR text and RDAP data; find related scans by domain, IP, ASN, JARM, favicon hash, screenshot hash, TLSH/ssdeep/sdhash fuzzy hash, OCR text, tracking key or JavaScript fingerprint; look up Certificate Transparency records; submit a new URL for scanning. The two write tools submit a URL for scanning and vote on a scan as safe or malicious. -
The skill
pivoting-phishing-infrastructure-with-scanmalware: a procedure for expanding one phishing URL into its sibling hosts, and for avoiding the two mistakes that produce wrong conclusions:- giving a domain a verdict that belongs to someone else: a lure that only redirected to
it (common for the brands phishing kits imitate), or another tenant's subdomain on a
shared platform such as
github.ioorpages.dev; - blocking on a pivot that describes a hosting platform rather than an actor (shared IPs, ASNs and JARM fingerprints).
It includes
scripts/agent.py(Python standard library only) and a report template. - giving a domain a verdict that belongs to someone else: a lure that only redirected to
it (common for the brands phishing kits imitate), or another tenant's subdomain on a
shared platform such as
Install
Claude Code
/plugin marketplace add scanmalware/scanmalware-plugin
/plugin install scanmalware@scanmalware
The skill appears as scanmalware:pivoting-phishing-infrastructure-with-scanmalware.
Codex
codex plugin marketplace add scanmalware/scanmalware-plugin
codex plugin add scanmalware@scanmalware
Gemini CLI
gemini extensions install https://github.com/scanmalware/scanmalware-plugin
Only the MCP server
In Claude, ScanMalware is also listed in the connectors directory. Any MCP client can
connect to https://mcp.scanmalware.com/mcp over streamable HTTP without credentials.
What this plugin sends, and where
- MCP tool calls go to
mcp.scanmalware.com, run by Triop AB. Each call sends its arguments (URLs, domains, IP addresses, hashes, scan IDs) there, and the server forwards them to the ScanMalware API atscanmalware.com. Requests are logged as described in the MCP server privacy policy. - The skill's commands and
scripts/agent.pycall the ScanMalware REST API athttps://scanmalware.com/api/v1directly, anonymously. They send the URLs, domains and hashes you investigate, and no credentials. - Submitting a URL makes ScanMalware's scanner visit it, which the site's operator can
see. A
publicscan lists the URL and its results in the public feed, visible to anyone and to search engines; anunlistedscan is reachable only through its link; aprivatescan needs a ScanMalware account. The MCPsubmit_scantool requires you to choose; the REST API usespublicwhen the choice is left out. Useunlistedfor client targets and anything carrying a victim's email address or token. - The plugin runs no hooks, installs no packages and reads no environment variables.
ScanMalware's own terms and privacy policy: https://scanmalware.com/terms, https://scanmalware.com/privacy.
Support
Questions and bug reports: GitHub issues or https://scanmalware.com/contact. The MCP server's source is at scanmalware/mcp-server.
License
Apache-2.0. ScanMalware is operated by Triop AB, Sweden.