Choose your next step
Verify your copy
A valid signature proves that ngrok, Inc. built the file. Check the file your antivirus named, not another copy on your path. First, confirm where the file came from:- Official binaries come from the ngrok download page and are hosted at
bin.equinox.io. ngrok owns Equinox, and no other software ships through it. - ngrok also publishes the agent through Homebrew (
brew install ngrok), its apt repository atngrok-agent.s3.amazonaws.com, and the Microsoft Store. The download page has install steps for each channel. - The current ngrok agent isn’t open source. Anything that claims to be ngrok source code, or tells you to build ngrok from source, is likely malicious. The original v1 project is still on GitHub, but it’s unmaintained and unrelated to the current agent.
On Windows
Run PowerShell with the path to the file:Status should be Valid, and the subject should name ngrok, Inc. or ngrok LLC.
On macOS
valid on disk and satisfies its Designated Requirement.
The second should include these lines:
ngrok LLC instead, with the same team ID.
On Linux
Linux has no operating system code signing, so compare the hash of the archive you downloaded with the one published for that version and platform in the release archive. The archive publishes SHA256 hashes for the.tar.gz and .zip files, not for the extracted binary.
If the signature checks out
Add an exception in your antivirus and report the false positive. Most products have a reporting option in the app or on their support site, and VirusTotal lists contacts for many vendors. Each report helps ngrok get the right classification. If the signature is missing or invalid, don’t run the file. Delete it and download a fresh copy from ngrok.com/download.Found ngrok and don’t know why?
A developer, an administrator, or a software vendor may have installed ngrok to connect a local service. ngrok’s presence on its own doesn’t tell you whether that use is authorized. Find out with three checks:- Find the process.
On Windows, open Task Manager, find
ngrok.exe, and open its file location. On macOS or Linux, runps -ax -o pid=,user=,command= | grep '[n]grok'. Note the account it runs as and its arguments. Attackers sometimes rename the binary, so also look for processes with ngrok-style arguments such ashttp,tcp, or--authtoken, and check the file path your antivirus reported. - Find the configuration.
Run
ngrok config checkto print the config file path for the current user. A service can run as a different user with a different file, so check the service definition too. The config file and the arguments show which local services the agent exposes. The authtoken in the config file or the arguments identifies the ngrok account the agent connects to. - Ask the owner. Take the process owner, the file path, and the exposed services to your IT team or to the vendor who deployed it.