← Files ScanMalwareARCHIVED FILE

README.md

3.87 KB · Nov 6, 2026 · 07:25 UTC

↓ Download file

# ScanMalware plugin

Investigate phishing and malicious URLs with [ScanMalware](https://scanmalware.com) 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.io` or `pages.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.

## 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 at `scanmalware.com`. Requests are logged as described in the
  [MCP server privacy policy](https://github.com/scanmalware/mcp-server/blob/main/PRIVACY.md).
- **The skill's commands and `scripts/agent.py`** call the ScanMalware REST API at
  `https://scanmalware.com/api/v1` directly, 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 `public` scan lists the URL and its results in the public feed, visible to anyone
  and to search engines; an `unlisted` scan is reachable only through its link; a `private`
  scan needs a ScanMalware account. The MCP `submit_scan` tool requires you to choose; the
  REST API uses `public` when the choice is left out. Use `unlisted` for 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](https://github.com/scanmalware/scanmalware-plugin/issues)
or <https://scanmalware.com/contact>. The MCP server's source is at
[scanmalware/mcp-server](https://github.com/scanmalware/mcp-server).

## License

[Apache-2.0](LICENSE). ScanMalware is operated by Triop AB, Sweden.

SHA-256: e4fd8c18285f7b645b84b52515a3b43a3ef8d01b6fb9fafc470a6c8d6afc7872