← Plugin catalog
Security

ScanMalware

Triop AB v1.3.1

Phishing URL scans and pivots

Create a free account to save this plugin.

From the developer

Declared capabilities

  • Read
  • Write

Not specified in the available declarations: limitations, pricing & account requirements.

Onboarding example

Check this suspicious link in ScanMalware and summarize what the page does.
Sources & dates

Developer declarations; not independently tested. Listing last checked Nov 14, 2026. Package observed Nov 13, 2026.

View package source →

Description

From the marketplace listing

ScanMalware helps security teams investigate suspicious and phishing URLs. It runs a URL through isolated analysis environments, records what the page loaded and ran, checks it against YARA, antivirus and intrusion-detection rules and threat feeds, has AI models classify suspicious pages by scam type, and keeps public scans in a searchable archive, so one reported phishing page can lead to the rest of its campaign. With this plugin you can: - Look up what the archive already knows about a domain, URL or IP address: the scanner's verdict and risk factors, network requests, indicators, TLS and JARM details, detected technologies, YARA matches, OCR text and RDAP data. - Find related scans by domain, IP, ASN, JARM signature, favicon hash, screenshot hash, fuzzy hash, OCR text, tracking key or JavaScript fingerprint, and count many searches at once to see which indicators are specific to one campaign. - Follow a domain's DNS history and reverse DNS, and list the hosts seen for a domain. - Look up Certificate Transparency records for a domain or IP. - Submit a new URL for scanning, choosing whether the result is public or unlisted, and read the verdict when the scan completes. The included skill walks through pivoting from one phishing URL to its sibling hosts, and avoids two common mistakes: giving a domain a verdict that belongs to a page that only redirected to it, or to another tenant on a shared hosting platform; and blocking on shared IP addresses or TLS fingerprints that describe a hosting platform rather than an attacker. ScanMalware is a defensive tool. Pages are opened in ScanMalware's isolated analysis environments, not on your device. No account or API key is needed. 143 of the 145 tools only read data; the two that write submit a URL for scanning and record a safe or malicious vote on a scan. A public scan publishes the URL and its results, so use "unlisted" for confidential targets. ScanMalware is operated by Triop AB in Sweden.

Language: English · Automatically detected from descriptions.

Matches for “javascript help”

Exact text from the indicated source. A mention alone does not establish support for your task.

Publisher full description

ScanMalware helps security teams investigate suspicious and phishing URLs. It runs a URL through isolated analysis environments, records what the page loaded and ran, checks it against YARA, antivirus and intrusion-detection rules and threat feeds, has AI models classify suspicious pages by scam type, and keeps public scans in a searchable archive, so one reported phishing page can lead to the rest of its campaign. With this plugin you can: - Look up what the archive already knows about a domain, URL or IP address: the scanner's verdict and risk factors, network requests, indicators, TLS and JARM details, detected technologies, YARA matches, OCR text and RDAP data. - Find related scans by domain, IP, ASN, JARM signature, favicon hash, screenshot hash, fuzzy hash, OCR text, tracking key or JavaScript fingerprint, and count many searches at once to see which indicators are specific to one campaign. - Follow a domain's DNS history and reverse DNS, and list the hosts seen for a domain. - Look up Certificate Transparency records for a domain or IP. - Submit a new URL for scanning, choosing whether the result is public or unlisted, and read the verdict when the scan completes. The included skill walks through pivoting from one phishing URL to its sibling hosts, and avoids two common mistakes: giving a domain a verdict that belongs to a page that only redirected to it, or to another tenant on a shared hosting platform; and blocking on shared IP addresses or TLS fingerprints that describe a hosting platform rather than an attacker. ScanMalware is a defensive tool. Pages are opened in ScanMalware's isolated analysis environments, not on your device. No account or API key is needed. 143 of the 145 tools only read data; the two that write submit a URL for scanning and record a safe or malicious vote on a scan. A public scan publishes the URL and its results, so use "unlisted" for confidential targets. ScanMalware is operated by Triop AB in Sweden.

What changed

· 4 observations

Capabilities & instructions

Full description changed from “URL into its wider campaign using the ScanMalware public scan archive (no API key needed): redirect-aware domain history (matched_on), SMQL searches on each...” to “or fake-download URL into its wider campaign using the ScanMalware public scan archive (no API key needed):...

View comparison →
Capabilities & instructions

Long description changed from “renders a URL in a sandboxed browser, records what the page loaded and did, and keeps public scans in a searchable archive, so one reported phishing page can...” to “runs a URL through isolated analysis environments, records what the page loaded and ran, checks it against YARA,...

View comparison →

Technical updates · 1

Package or technical metadata updated

View technical comparison →

Keywords

Files & skills

File archives

Plugin package19 files · 105 KBBrowse files →
Skill instructions
pivoting-phishing-infrastructure-with-scanmalware27.7 KB

View saved version →

---
name: pivoting-phishing-infrastructure-with-scanmalware
description: >-
  Expands one phishing or fake-download URL into its wider campaign using the ScanMalware
  public scan archive (no API key needed): redirect-aware domain history (matched_on),
  SMQL searches on each kit artifact (script SHA-256 including inline scripts, favicon
  MMH3, screenshot hash, page title) and on the operator's own account keys (analytics
  IDs, chat-widget licenses, CAPTCHA site keys), plus JARM, IP and CT-derived subdomains,
  then judges which pivots are selective enough to hunt or block on. Use when a reported
  phishing URL needs its sibling hosts found, when checking how an already scanned page
  was judged, or when a verdict must be attributed to the right host after a redirect.
  Keywords: ScanMalware, SMQL, matched_on, final_url, js_sha256, tracking_id,
  favicon_hash, dhash, jarm, CONFIRMED_SCAM, phishing kit, scanner cloaking.
license: Apache-2.0
---
# Pivoting Phishing Infrastructure with ScanMalware

## Overview

A single phishing URL is rarely the whole campaign. Kits are redeployed across dozens of
disposable hosts, and the pages share artifacts that survive the move: the same bundled
JavaScript, the same favicon, the same rendered screenshot, the same page title. Many also
carry the operator's own accounts, such as an analytics ID or a live-chat license, which
follow the operator even when the kit is rebuilt or moved to another hosting platform. A
public archive of rendered scans lets an analyst search for those artifacts and find the
sibling hosts that were already scanned by someone else.

ScanMalware (scanmalware.com, operated by Triop AB) runs submitted URLs through isolated
analysis environments, records what each page loads and runs, and keeps the public scans
searchable through a REST API and the SMQL query language. The read endpoints and
anonymous scan submission need no account or API key.
This skill covers the pivot procedure and two traps that produce wrong conclusions if
ignored: verdicts attributed to a redirect destination, and pivot values that describe a
hosting platform rather than an actor.

## When to Use

- A user reported a phishing URL and you need the other hosts running the same kit.
- You want to know whether a URL or domain was already scanned, and what it did, before
  submitting it again.
- A domain appears in scan results with a malicious verdict and you must decide whether
  the verdict belongs to that domain or to a page that redirected to it.
- You have a kit artifact (script SHA-256, favicon hash, page title) or an account key
  (analytics ID, chat-widget license, CAPTCHA site key) and want every archived page that
  carries it, newest first.
- You need to decide which indicators from a phishing page are safe to block on without
  blocking a shared hosting platform.

## Prerequisites

- `curl` and `jq` 1.6 or later, or the ScanMalware MCP server that comes with this plugin
  (see Tools & Systems for the tool behind each step).
- Outbound HTTPS to `scanmalware.com`. No account or API key is needed for anything in
  this workflow except private scans.
- Rate limits are per source IP: 600 requests per minute anonymously (60 per minute for
  the hash-search pages); a ScanMalware account raises them. A 429 response carries
  `Retry-After`; wait that many seconds.
- OPSEC: `public` scans (the default) are visible to anyone. If the URL carries a victim's
  email address, a per-victim link code or a tracking ID, submit it as `unlisted`
  (reachable only by scan ID, absent from search) or `private` (requires a ScanMalware
  account; anonymous requests get HTTP 401). Submitting also makes the scanner fetch the
  URL, which a kit operator can observe.

## Workflow

### Step 1: Check the archive, and read `matched_on`

```bash
DOMAIN=facebook.com
curl -s "https://scanmalware.com/api/v1/domains/$DOMAIN/scans?limit=100" -o history.json
jq -r '.[] | [(.matched_on | join("+")), .scan_id, .url, .final_url] | @

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 5 — file references are metadata, not package contents.

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package license
Apache-2.0
Package author
Triop AB
Keywords
See keywords

Declared capabilities

  • Read
  • Write

Package observed Nov 13, 2026.

Technical details
First seen
Oct 24, 2026 · 12:40 UTC
Last seen
Nov 14, 2026 · 00:00 UTC
Latest observed change
Nov 13, 2026 · 06:10 UTC
Collection status
Collected

plugin_asdk_app_6ac75bbd39c08191ae95c30ac42638e0

Download plugin data (JSON)

Plugin details: served from cache. Prepared . Refreshed when plugin data changes or after 6 hours. Your account and Follow status are live.