Content Audit Security & Risk Analysis

wordpress.org/plugins/content-audit

Lets you create a content inventory right in the WordPress Edit screens. You can mark content as redundant, outdated, trivial, or in need of a review.

80 active installs v2.0 PHP + WP 4.7+ Updated Jul 29, 2019
auditcontentinventoryreview
84
B · Generally Safe
CVEs total2
Unpatched0
Last CVESep 26, 2017
Safety Verdict

Is Content Audit Safe to Use in 2026?

Mostly Safe

Score 84/100

Content Audit is generally safe to use though it hasn't been updated recently. 2 past CVEs were resolved.

2 known CVEsLast CVE: Sep 26, 2017Updated 6yr ago
Risk Assessment

The "content-audit" v2.0 plugin exhibits a mixed security posture. On the positive side, it demonstrates good practices by employing prepared statements for all SQL queries and implementing nonce checks for its entry points. The absence of direct REST API routes and shortcodes also reduces its attack surface. However, the static analysis reveals potential areas of concern. While the number of entry points is low, one of the three taint flows analyzed has an unsanitized path, indicating a potential for vulnerabilities if this flow is reachable by user input. Furthermore, the output escaping is only 61% proper, leaving a significant portion of its output potentially vulnerable to Cross-Site Scripting (XSS) attacks. The plugin's vulnerability history is a notable red flag. It has two known CVEs, with a high and a medium severity vulnerability in its past, indicating a tendency to have exploitable flaws. The fact that the last vulnerability was in 2017 and is now patched might suggest a period of stability, but the historical pattern of XSS and SQL injection vulnerabilities cannot be ignored. In conclusion, while the plugin has made improvements in areas like SQL security and entry point protection, the presence of unsanitized paths and insufficient output escaping, coupled with a history of critical and high-severity vulnerabilities, warrants careful consideration and vigilance.

Key Concerns

  • Unsanitized path in taint flow
  • Insufficient output escaping (39% unescaped)
  • History of high severity vulnerability (unpatched in past)
  • History of medium severity vulnerability (unpatched in past)
Vulnerabilities
2 published

Content Audit Security Vulnerabilities

CVEs by Year

1 CVE in 2014
2014
1 CVE in 2017
2017
Patched Has unpatched

Severity Breakdown

High
1
Medium
1

2 total CVEs

CVE-2017-18560medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Content Audit <= 1.9.1 - Cross-Site Request Forgery to Cross-Site Scripting

Sep 26, 2017 Patched in 1.9.2 (2310d)
CVE-2014-5389high · 7.2Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Content Audit <= 1.6.0 - Authenticated (Admin+) SQL Injection

Oct 1, 2014 Patched in 1.6.1 (3401d)
Version History

Content Audit Release Timeline

Code Analysis
Analyzed Mar 16, 2026

Content Audit Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
12 prepared
Unescaped Output
22
35 escaped
Nonce Checks
8
Capability Checks
1
File Operations
1
External Requests
0
Bundled Libraries
0

SQL Query Safety

100% prepared12 total queries

Output Escaping

61% escaped57 total outputs
Data Flows · Security
1 unsanitized

Data Flow Analysis

3 flows1 with unsanitized paths
content_audit_ajax_categorize (inc\admin-bar.php:88)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Content Audit Attack Surface

Entry Points2
Unprotected0

AJAX Handlers 2

authwp_ajax_content-audit-categorizeinc\admin-bar.php:86
authwp_ajax_content_audit_save_bulk_editinc\bulk-quick-edit.php:109
WordPress Hooks 48
actionadmin_initcontent-audit.php:54
actionadmin_enqueue_scriptscontent-audit.php:68
actionadmin_menucontent-audit.php:102
actionwp_before_admin_bar_renderinc\admin-bar.php:83
filterbulk_actions-uploadinc\bulk-actions.php:8
filterbulk_actions-edit-postinc\bulk-actions.php:9
filterbulk_actions-edit-pageinc\bulk-actions.php:10
filterhandle_bulk_actions-uploadinc\bulk-actions.php:39
actionadmin_noticesinc\bulk-actions.php:63
filterwp_dropdown_users_argsinc\bulk-quick-edit.php:12
actionquick_edit_custom_boxinc\bulk-quick-edit.php:30
actionbulk_edit_custom_boxinc\bulk-quick-edit.php:31
filterwp_dropdown_users_argsinc\bulk-quick-edit.php:63
filtercron_schedulesinc\cron.php:23
actioncontent_audit_outdated_reportinc\cron.php:25
actioncontent_audit_outdated_emailinc\cron.php:26
actionadmin_initinc\custom-fields.php:3
filterattachment_fields_to_saveinc\custom-fields.php:18
actionsave_postinc\custom-fields.php:25
actionpre_post_updateinc\custom-fields.php:28
actionadmin_menuinc\custom-fields.php:32
filterwp_dropdown_users_argsinc\custom-fields.php:236
filtertemplate_includeinc\dashboard-overview.php:132
actionwp_dashboard_setupinc\dashboard-widget.php:62
filtermanage_edit-content_audit_columnsinc\edit-list-columns-filters.php:4
actionmanage_content_audit_custom_columninc\edit-list-columns-filters.php:23
actionadmin_initinc\edit-list-columns-filters.php:50
filtermanage_posts_columnsinc\edit-list-columns-filters.php:66
actionmanage_posts_custom_columninc\edit-list-columns-filters.php:67
filtermanage_edit-post_sortable_columnsinc\edit-list-columns-filters.php:68
filtermanage_pages_columnsinc\edit-list-columns-filters.php:71
actionmanage_pages_custom_columninc\edit-list-columns-filters.php:72
filtermanage_edit-page_sortable_columnsinc\edit-list-columns-filters.php:73
filtermanage_media_columnsinc\edit-list-columns-filters.php:76
actionmanage_media_custom_columninc\edit-list-columns-filters.php:77
filtermanage_edit-media_sortable_columnsinc\edit-list-columns-filters.php:78
actionmanage_pages_custom_columninc\edit-list-columns-filters.php:85
actionmanage_posts_custom_columninc\edit-list-columns-filters.php:87
actionrestrict_manage_postsinc\edit-list-columns-filters.php:92
actionrestrict_manage_postsinc\edit-list-columns-filters.php:93
actionrestrict_manage_postsinc\edit-list-columns-filters.php:94
filterposts_whereinc\edit-list-columns-filters.php:97
filterrequestinc\edit-list-columns-filters.php:220
filterwp_dropdown_users_argsinc\edit-list-columns-filters.php:264
filterthe_contentinc\front-end.php:26
actionwp_headinc\front-end.php:58
actioninitinc\taxonomy.php:3
actionadmin_initinc\taxonomy.php:145

Scheduled Events 3

content_audit_outdated_report
content_audit_outdated_email
content_audit_outdated_email
Maintenance & Trust

Content Audit Maintenance & Trust

Maintenance Signals

WordPress version tested5.2.24
Last updatedJul 29, 2019
PHP min version
Downloads16K

Community Trust

Rating90/100
Number of ratings8
Active installs80
Developer Profile

Content Audit Developer Profile

Stephanie Leary

16 plugins · 17K total installs

68
trust score
Avg Security Score
84/100
Avg Patch Time
2856 days
View full developer profile
Detection Fingerprints

How We Detect Content Audit

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/content-audit/css/content-audit.css/wp-content/plugins/content-audit/css/wp-jquery-ui.css/wp-content/plugins/content-audit/js/quickedit.js/wp-content/plugins/content-audit/js/initialize-datepicker.js

HTML / DOM Fingerprints

CSS Classes
content-statuscontent-ownercontent-notescontent-audit
Data Attributes
data-content-audit
REST Endpoints
/wp-json/content-audit
FAQ

Frequently Asked Questions about Content Audit