wp-cli/checksum-command
Verifies WordPress file integrity by comparing installed files against WordPress.org's published checksums. Use wp core verify-checksums to detect tampered or missing core files, with options for version, locale, exclusions, and output formats.
wp core verify-checksums and wp plugin verify-checksums give an investigator a fast, scriptable way to answer "has anything in this WordPress install been modified outside the official release?" after a suspected compromise — core files, plugins, and (with --include-root) stray files in the webroot.--format=json|csv|count output makes it consumable by automation without screen-scraping.--exclude handles the known-legitimate local modifications.--format=json output can be stored as evidence for periodic integrity attestations (SOC2/host hygiene reporting, customer-facing "your site is clean" reports).Adopt when:
count formats make it viable as a data source for dashboards.--exclude list discipline or can maintain one (files like wp-config-sample.php, readme.html, or intentional core edits must be excluded to avoid false positives).Look elsewhere / de-scope when:
wp-config-sample.php, or vendored files in the root. --include-root will generate noise, and --exclude lists become a maintenance burden and a blind spot.wp checkum core → wp core verify-checksums), and output is human-oriented with formatting layered on top. Wrap it and pin versions.Risk notes for the decision record: 0 dependents and 33 stars understate real usage (it is bundled in WP-CLI, so the "dependents" metric is misleading — this is a reason to check the WP-CLI release cadence rather than to dismiss it). Verify plugin checksums are downloaded in parallel as of v3.0.1, which matters for --all performance on large fleets. The --insecure flag exists for TLS failure fallback — explicitly disallow it in any automated pipeline to avoid accepting MITM'd checksums.
For executives (one paragraph): We can use a free, MIT-licensed, officially-maintained WP-CLI command to automatically prove that a WordPress site's core and plugin files are byte-identical to the official releases published by WordPress.org — the same mechanism behind "is this site clean?" questions after a breach, after an update, or before we declare a deployment successful. It ships with WP-CLI, so adoption cost is near zero, and its structured output (JSON/CSV) plugs directly into our dashboards and audit reports. It does not replace a malware scanner; it gives us a fast, cheap, deterministic integrity signal we can put in front of customers and auditors.
For engineering (summary):
wp core verify-checksums and wp plugin verify-checksums. Both download published checksums from WordPress.org and diff against on-disk files. Core verification intentionally does not load WordPress.--version, --locale (must match the site's actual version/locale or you get false failures), --include-root (also flags non-WordPress files in webroot), --exclude, --strict (plugin readmes count as changes), --exclude-mu-plugins, --insecure (TLS fallback — do not use in automation), --format=plain|table|json|csv|yaml|count (note: core defaults to plain, plugins default to table).--format=json, exit-code non-zero triggers alerting. Maintain a per-site --exclude allowlist in config, not in code. Run one verify per site, not per plugin, to amortize the checksum downloads (v3.0.1 parallelizes plugin checksum downloads).How can I help you explore Laravel packages today?