Simple CPT Security & Risk Analysis

wordpress.org/plugins/simple-cpt

Simple CPT provides an easy to use interface for registering and managing custom post types and custom taxonomies.

4K active installs v1.1.0 PHP 7.0+ WP 5.3.0+ Updated Jun 6, 2025
cptcustom-post-typesimple-cpttaxonomies
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Simple CPT Safe to Use in 2026?

Generally Safe

Score 100/100

Simple CPT has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 10mo ago
Risk Assessment

The simple-cpt plugin v1.1.0 presents a generally good security posture, primarily due to a lack of readily apparent attack surface and a commitment to secure coding practices like prepared SQL statements. The static analysis reveals no direct entry points like AJAX handlers, REST API routes, or shortcodes without authentication checks, and the plugin avoids external HTTP requests and file operations, which are common sources of vulnerabilities. The absence of known CVEs further contributes to a positive security outlook.

However, the presence of six instances of the `unserialize` function is a significant concern. While the static analysis did not identify any exploitable taint flows involving `unserialize`, this function is inherently risky and can lead to Remote Code Execution (RCE) vulnerabilities if used with untrusted input. The plugin also exhibits a moderate rate of improperly escaped output (36%), which could potentially lead to Cross-Site Scripting (XSS) vulnerabilities in certain scenarios, although the specific instances are not detailed. The limited number of nonce and capability checks are also noteworthy, suggesting that certain actions within the plugin might not be adequately protected against unauthorized access or manipulation.

In conclusion, simple-cpt v1.1.0 benefits from a small attack surface and good SQL practices. The lack of historical vulnerabilities is encouraging. Nevertheless, the use of `unserialize` and the percentage of unescaped output represent potential weaknesses that could be exploited if malformed data is ever processed. Developers should prioritize auditing and sanitizing all inputs passed to `unserialize` and ensure all output is properly escaped to mitigate these risks.

Key Concerns

  • Use of unserialize function
  • Improperly escaped output detected (36%)
  • Limited nonce checks (1 total)
  • Limited capability checks (1 total)
Vulnerabilities
None known

Simple CPT Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 16, 2026

Simple CPT Code Analysis

Dangerous Functions
6
Raw SQL Queries
0
0 prepared
Unescaped Output
44
78 escaped
Nonce Checks
1
Capability Checks
1
File Operations
0
External Requests
0
Bundled Libraries
0

Dangerous Functions Found

unserialize$simple_cpt_supports = isset( $meta['simple_cpt_supports'] ) ? unserialize( $meta['sadmin\class-simple-cpt-admin.php:291
unserialize$simple_cpt_builtin_tax = isset( $meta['simple_cpt_builtin_tax'] ) ? unserialize( $metaadmin\class-simple-cpt-admin.php:303
unserialize$simple_cpt_tax_post_types = isset( $values['simple_cpt_tax_post_types'] ) ? unserialize( $valuadmin\class-simple-cpt-admin.php:333
unserialize'simple_cpt_supports' => unserialize( $simple_cpt_supports ),admin\class-simple-cpt-admin.php:726
unserialize'simple_cpt_builtin_taxonomies' => unserialize( $simple_cpt_builtin_tax ),admin\class-simple-cpt-admin.php:727
unserialize'simple_cpt_tax_builtin_taxonomies' => unserialize( $simple_cpt_tax_post_types ),admin\class-simple-cpt-admin.php:818

Output Escaping

64% escaped122 total outputs
Data Flows
All sanitized

Data Flow Analysis

1 flows
<class-simple-cpt-admin> (admin\class-simple-cpt-admin.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Simple CPT Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 16
actionplugins_loadedincludes\class-simple-cpt.php:131
actionadmin_enqueue_scriptsincludes\class-simple-cpt.php:145
actionadmin_enqueue_scriptsincludes\class-simple-cpt.php:146
actioninitincludes\class-simple-cpt.php:149
actioninitincludes\class-simple-cpt.php:150
actionadmin_initincludes\class-simple-cpt.php:153
actionadmin_menuincludes\class-simple-cpt.php:154
filterplugin_action_linksincludes\class-simple-cpt.php:155
actionadd_meta_boxesincludes\class-simple-cpt.php:156
actionsave_postincludes\class-simple-cpt.php:157
filterpost_updated_messagesincludes\class-simple-cpt.php:158
actionadmin_footerincludes\class-simple-cpt.php:159
filtermanage_simple_cpt_posts_columnsincludes\class-simple-cpt.php:162
actionmanage_simple_cpt_posts_custom_columnincludes\class-simple-cpt.php:163
filtermanage_simple_tax_posts_columnsincludes\class-simple-cpt.php:164
actionmanage_simple_tax_posts_custom_columnincludes\class-simple-cpt.php:165
Maintenance & Trust

Simple CPT Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedJun 6, 2025
PHP min version7.0
Downloads22K

Community Trust

Rating92/100
Number of ratings9
Active installs4K
Developer Profile

Simple CPT Developer Profile

George Pattichis

9 plugins · 76K total installs

78
trust score
Avg Security Score
99/100
Avg Patch Time
192 days
View full developer profile
Detection Fingerprints

How We Detect Simple CPT

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/simple-cpt/admin/css/simple-cpt-admin.css/wp-content/plugins/simple-cpt/admin/js/simple-cpt-admin.js
Script Paths
admin/js/simple-cpt-admin.js
Version Parameters
simple-cpt-admin?ver=simple-cpt-admin.js?ver=

HTML / DOM Fingerprints

Data Attributes
data-simple-cpt-type
JS Globals
simpleCptVars
FAQ

Frequently Asked Questions about Simple CPT