Title: Detectant Malware Scanner
Author: detectant
Published: <strong>September 14, 2026</strong>
Last modified: September 14, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/detectant-malware-scanner.svg)

# Detectant Malware Scanner

 By [detectant](https://profiles.wordpress.org/detectant/)

[Download](https://downloads.wordpress.org/plugin/detectant-malware-scanner.1.5.0.zip)

 * [Details](https://wordpress.org/plugins/detectant-malware-scanner/#description)
 * [Reviews](https://wordpress.org/plugins/detectant-malware-scanner/#reviews)
 *  [Installation](https://wordpress.org/plugins/detectant-malware-scanner/#installation)
 * [Development](https://wordpress.org/plugins/detectant-malware-scanner/#developers)

 [Support](https://wordpress.org/support/plugin/detectant-malware-scanner/)

## Description

Detectant checks WordPress file uploads and imported files with the Detectant malware-
analysis service before WordPress accepts them. It can also scan the existing Media
Library manually or every 24 hours, track scan results, and quarantine detected 
malware outside the public web directory.

The settings and Media Library scan are available under Tools > Detectant. Administrators
can choose which upload sources to protect and whether WordPress should block or
allow a file when a security check cannot be completed.

### External Service

This plugin relies on [Detectant](https://www.detectant.com), an external malware-
analysis service. A Detectant account and API key are required.

The plugin sends a file, its original filename, and its detected MIME type to `https://
api.detectant.com` when it checks a Media Library upload, a file imported by another
plugin, an existing Media Library file during a manual or scheduled scan, or a file
found by background reconciliation. The file is sent so Detectant can analyse it
for malware. The saved API key is sent with each request solely to authenticate 
the site to the service. Connection tests send the API key but do not send a file.

The plugin does not send the website URL. Its request User-Agent contains only the
plugin name and version.

Use of the service is subject to Detectant’s [Terms of Service](https://www.detectant.com/terms)
and [Privacy Policy](https://www.detectant.com/privacy).

### Security and operational notes

Files handled by WordPress upload and file-import APIs are scanned before their 
final move and verified again by SHA-256 afterward. Code that writes directly into
the uploads directory cannot be blocked synchronously; reconciliation discovers 
it later and moves malware into a private directory outside the web document root.
If that directory is temporarily unavailable, the original public URL is broken 
and the file is retained under an unpredictable, mode-000 containment name for a
later retry.

The quarantine location can be set with `DETECTANT_QUARANTINE_DIR` in `wp-config.
php`. It must resolve outside both the upload directory and the public document 
root. Scan state is stored in an indexed WordPress database table; directory traversal
and Media Library scans retain bounded cursors between WP-Cron runs.

The API key never enters browser-side JavaScript and is never printed after saving.
For the strongest configuration control, use the `DETECTANT_API_KEY` constant. Direct
uploads are capped at 250 MB by the plugin; lower Detectant plan limits are reported
by the API.

WP-Cron runs when the site receives traffic. Low-traffic sites may see delayed reconciliation,
although synchronous normal upload protection remains active.

Administrators can mark a detected Media Library file as safe when they have confirmed
a false positive. Detectant restores only the exact quarantined content that was
reviewed; any content change invalidates that acknowledgement and requires another
scan.

### WP-CLI

    ```
    wp detectant scan

    wp detectant scan --unscanned

    wp detectant scan attachment <id>
    ```

## Installation

 1. Copy the `detectant` directory into `wp-content/plugins/` and activate it.
 2. Open Tools > Detectant and enter a Detectant API key, or define `DETECTANT_API_KEY`
    in `wp-config.php`.
 3. Test the connection. Media uploads and files imported by plugins are checked by
    default; failures default to blocking the file.

The plugin registers its own traffic-driven WP-Cron schedules. A full Media Library
scan runs automatically every 24 hours, and Tools > Detectant can start an additional
bounded background scan at any time.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Detectant Malware Scanner” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ detectant ](https://profiles.wordpress.org/detectant/)

[Translate “Detectant Malware Scanner” into your language.](https://translate.wordpress.org/projects/wp-plugins/detectant-malware-scanner)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/detectant-malware-scanner/),
check out the [SVN repository](https://plugins.svn.wordpress.org/detectant-malware-scanner/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/detectant-malware-scanner/)
by [RSS](https://plugins.trac.wordpress.org/log/detectant-malware-scanner/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.5.0

 * Use the WordPress HTTP API for Detectant requests.
 * Add complete external-service, privacy, terms, and licence disclosures.
 * Keep the site URL private during scans and connection tests.
 * Enable upload protection only after Detectant has been successfully connected.
 * Speed up background scans with an indexed Media Library attachment registry.
 * Verify contained malware before cross-filesystem quarantine retries.
 * Keep in-place malware containment locked down after any failed restore attempt.
 * Confirm compatibility with WordPress 7.1.
 * Publish human-readable CSS source.

## Meta

 *  Version **1.5.0**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [antivirus](https://wordpress.org/plugins/tags/antivirus/)[malware](https://wordpress.org/plugins/tags/malware/)
   [security](https://wordpress.org/plugins/tags/security/)[uploads](https://wordpress.org/plugins/tags/uploads/)
 *  [Advanced View](https://wordpress.org/plugins/detectant-malware-scanner/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/detectant-malware-scanner/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/detectant-malware-scanner/reviews/)

## Contributors

 *   [ detectant ](https://profiles.wordpress.org/detectant/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/detectant-malware-scanner/)