· 1 observation
Technical updates · 1
Package or technical metadata updated
View technical comparison →Triop AB v1.0.0
Phishing URL scans and pivots
From the developer
Not specified in the available declarations: limitations, pricing & account requirements.
Check this suspicious link in ScanMalware and summarize what the page does.
Developer declarations; not independently tested. Listing last checked Nov 7, 2026. Package observed Nov 6, 2026.
From the marketplace listing
ScanMalware helps security teams investigate suspicious and phishing URLs. It 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 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. - 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 browser, not on your device. No account or API key is needed. 126 of the 128 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.
Exact text from the indicated source. A mention alone does not establish support for your task.
ScanMalware helps security teams investigate suspicious and phishing URLs. It 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 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. - 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 browser, not on your device. No account or API key is needed. 126 of the 128 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.
· 1 observation
Package or technical metadata updated
View technical comparison →Find competitors to follow as you develop your plugin.
Run passive website-security scans and inspect suspicious links with Scan.now.
Shared terms: phishing, domain, javascript, scan
Security checks for domains, links and IP addresses from public data: DNS, TLS certificates, HTTP security headers, email authentication,...
Shared terms: phishing, certificate, domain, network
Transcribe handwritten or printed PDFs and images from your Handwriting OCR account. Check processing status, read the text, extract tabl...
Shared terms: scan, ocr, already, text
Investigate malicious infrastructure, threat indicators, WHOIS records and ATT&CK techniques with Etugen.
Shared terms: certificate, domain, fingerprint, host
Make scanned PDFs searchable with OCR.
Shared terms: scan, ocr, searchable, already
---
name: pivoting-phishing-infrastructure-with-scanmalware
description: >-
Expands one phishing 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, favicon MMH3, screenshot hash, page title) plus
JARM and 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, 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. 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) renders submitted URLs in a sandboxed
browser 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) 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`, `jq` 1.6 or later, and Python 3.8+ (standard library only) for `scripts/agent.py`.
- 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), 3000 per minute with an API key sent as `X-API-Key`. 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, token or tracking ID, submit it as `unlisted` (reachable only by scan ID,
absent from search) or `private` (requires an API key; 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] | @tsv' history.json
```
The endpoint lists scans of the domain and its subdomains, matched on the entry host or
the final host after redirects. `matched_on` says which:
| `matched_on` | Meaning | Whose verdict is it |
|---|---|---|
| `["url"]` | Scan was submitted for this domain or one of its subdomains | The host in `url` |
| `["url","final_url"]` | Started and ended under this domain | The host in `url` |
| `["final_url"]` | Started elsewhere and landed here | The entry host in `url`, not this domain |
`"url"` in `matchedPreview of the first 4,000 characters. Read full instructions →
Referenced files: 6 — file references are metadata, not package contents.
Publisher declarations from the archived package. These are separate from our research and the live service's terms.
Package observed Nov 6, 2026.
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.