polyswarm

v4.7.0Verified publisher
Report a problem

Looks up a file hash in PolySwarm and shows how its marketplace of malware engines judged the file

Community-packaged from github.com/polyswarm/polyswarm-cli: the registry's community pins the upstream release; the tool is its authors' work. Maintain that project? Claim this package.

Run

Through ot mcp, an agent calls run_tool with this; ot asks you before anything that goes online or touches a target. Set it up: ot mcp install claude (or cursor, vscode, codex, gemini).

{"tool":"osintverse-community/polyswarm","target":"275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f","input_type":"hash"}

Or just say: "Run osintverse-community/polyswarm on 275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f with OTInstaller." The registry's read-only MCP server at api.otinstaller.com/mcp can find tools without installing anything.

ot run osintverse-community/polyswarm --hash 275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f --format table
ot install osintverse-community/polyswarm

Python wheel, run in a read-only container (Docker optional with --native) · network allowed · needs POLYSWARM_API_KEY · up to 2 min. The first ot run installs the tool after asking once. The example value is the registry's own test input, so this command has run. Drop --format table for JSON.

Don't have ot? Install it in one line
curl -fsSL https://get.otinstaller.com/ot | sh
What this script does
  1. Downloads the latest ot release for your machine from GitHub Releases.
  2. Checks its SHA-256 against checksums.txt, and the Ed25519 signature on that file against the key built into the script.
  3. Puts ot in /usr/local/bin or ~/.local/bin. Nothing else is written. Read the script.
irm https://get.otinstaller.com/ot.ps1 | iex
What this script does
  1. Downloads the latest ot release for your machine from GitHub Releases.
  2. Checks its SHA-256 against checksums.txt, and the Ed25519 signature on that file against the key built into the script.
  3. Puts ot in %LOCALAPPDATA%\Programs\ot, and adds it to your PATH. Nothing else is written. Read the script.
  • Pinnedwheel sha256:fdb4b9d2…1cebb7 from PyPI. ot re-hashes the file after download and refuses a mismatch.
  • Not signedthis release carries no signature the registry could verify. ot warns before installing.
  • Scanned24 Oct 2026: 0 critical, 0 high, 5 medium, 1 low vulnerabilities; 0 embedded secrets, 0 malware heuristics; SBOM with 18 packages.
  • Workssmoke test passed on 24 Oct 2026 (exit 2 in 2.0 s, offline sandbox); the nightly health check has not run yet.
  • Backed upa copy of this wheel is kept by the registry. If PyPI removes it, ot downloads the copy and checks the same hash.
  • Reviewedosintverse-community is a verified publisher: the registry confirmed who runs it, and a person reviewed its first release against the acceptable-use rules.

From the community

Issues →

Not health-checked yet; 4.7.0 came out today; nobody has said yet whether it works.

4.7.0 is in its first week. Nobody has said whether it works yet.

Used 4.7.0?It's broken for me

What you get back

Result envelope →
{
  "envelope": 1,
  "tool": "osintverse-community/polyswarm@4.7.0",
  "runtime": "pipx",
  "input": {
    "hash": "275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f"
  },
  "started_at": "2026-10-21T09:00:00Z",
  "duration_ms": 4100,
  "exit_code": 0,
  "entities": [
    {
      "type": "document",
      "value": "report.pdf",
      "attrs": {
        "author": "Jane Doe"
      }
    }
  ],
  "warnings": []
}

Every tool returns this shape, shaped here from what this tool declares it finds. --format table to read it; ot extract and ot auto to continue.

polyswarm (community package)

This repository packages github.com/polyswarm/polyswarm-cli for the OTInstaller Registry as osintverse-community/polyswarm. The tool is the work of its authors, under the MIT license; this repository only holds the manifest and release workflow.

Report problems with the tool upstream, and problems with the packaging here. If you maintain the upstream project and want to publish it yourself, open an issue or run ot claim osintverse-community/polyswarm: the package is transferred to you.

It installs the upstream project's own release from PyPI, pinned by version and hash; nothing here is rebuilt.

Searches PolySwarm for the hash and prints each matching artifact as a JSON line. A hash PolySwarm has never seen exits with code 1. Without POLYSWARM_API_KEY the CLI refuses to start and exits with code 2, which is what the registry's smoke test expects.

ot run osintverse-community/polyswarm --hash …

Packaged version: 4.7.0.

Other hash tools

All hash tools →

Alternatives to polyswarm that also take a hash; ot auto runs every installed one on the same value.

osintverse-community/joe-sandbox

Searches Joe Sandbox for earlier malware analyses of a file hash, URL or domain, with verdicts and scores

Takes domain, hash, url → finds document
Key required · Python wheel
Not health-checkedVerified publisher

osintverse-community/hashlookup

Looks up a file hash in CIRCL hashlookup to see whether it belongs to known software, such as NSRL sets

Takes hash → finds document
No key · Python wheel
Not health-checkedVerified publisher

osintverse-community/otx-indicators

Looks up an IP, domain, URL or file hash in AlienVault OTX: the threat reports that mention it, malware, tags

Takes domain, hash, ip address, url → finds document, domain, ip, location…
No key · Docker
Not health-checkedVerified publisher

osintverse-community/virustotal

Looks up an IP, domain, URL or file hash in VirusTotal: engine verdicts, reputation, tags, owner, DNS records

Takes domain, hash, ip address, url → finds dns record, document, domain, ip…
Key required · Docker
Not health-checkedVerified publisher

osintverse-community/malwarebazaar

Looks up a file hash in abuse.ch MalwareBazaar: malware family, tags, file type, first seen date and reporter

Takes hash → finds document
Key required · Docker
Not health-checkedVerified publisher
Esc

Try

↑ ↓ to move↵ to open