Custom Content Portfolio Security & Risk Analysis

wordpress.org/plugins/custom-content-portfolio

A complete portfolio solution for creative people.

300 active installs v2.1.0 PHP 5.2+ WP 4.7+ Updated Sep 29, 2017
portfolioprojects
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Custom Content Portfolio Safe to Use in 2026?

Generally Safe

Score 85/100

Custom Content Portfolio has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 8yr ago
Risk Assessment

The custom-content-portfolio v2.1.0 plugin exhibits a generally strong security posture with no recorded vulnerabilities or critical taint flows. The static analysis reveals a commendable adherence to secure coding practices, particularly in output escaping, with 93% of outputs properly sanitized. The absence of file operations and external HTTP requests further reduces potential attack vectors. However, the plugin's reliance on raw SQL queries, with 100% of them not using prepared statements, presents a significant concern. While there are nonces and capability checks present, the number is low relative to the overall analysis, and without further insight into the plugin's functionality, it's difficult to definitively assess if these are sufficient for all operations.

The vulnerability history is clean, which is a positive indicator. The lack of past CVEs suggests either a well-developed and secure codebase or limited historical analysis. The absence of taint flows with unsanitized paths or critical/high severity issues is also reassuring. Despite these strengths, the unchecked SQL queries represent a potential entry point for SQL injection vulnerabilities, especially if the data used in these queries originates from user input. The overall security is good, but the SQL handling is a notable weakness that could be exploited.

Key Concerns

  • SQL queries not using prepared statements
Vulnerabilities
None known

Custom Content Portfolio Security Vulnerabilities

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

Custom Content Portfolio Code Analysis

Dangerous Functions
0
Raw SQL Queries
3
0 prepared
Unescaped Output
6
76 escaped
Nonce Checks
3
Capability Checks
2
File Operations
0
External Requests
0
Bundled Libraries
0

SQL Query Safety

0% prepared3 total queries

Output Escaping

93% escaped82 total outputs
Attack Surface

Custom Content Portfolio Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 63
actioninitadmin\butterbean\butterbean.php:19
actionload-post.phpadmin\butterbean\class-butterbean.php:203
actionload-post-new.phpadmin\butterbean\class-butterbean.php:204
actionbutterbean_registeradmin\butterbean\class-butterbean.php:207
actionbutterbean_registeradmin\butterbean\class-butterbean.php:208
actionbutterbean_registeradmin\butterbean\class-butterbean.php:209
actionbutterbean_registeradmin\butterbean\class-butterbean.php:210
actionadd_meta_boxesadmin\butterbean\class-butterbean.php:252
actionsave_postadmin\butterbean\class-butterbean.php:255
actionadmin_enqueue_scriptsadmin\butterbean\class-butterbean.php:258
actionbutterbean_enqueue_scriptsadmin\butterbean\class-butterbean.php:259
actionadmin_footeradmin\butterbean\class-butterbean.php:262
actionadmin_footeradmin\butterbean\class-butterbean.php:263
actionadmin_print_footer_scriptsadmin\butterbean\class-butterbean.php:266
actionload-edit.phpadmin\class-manage-projects.php:30
actionccp_load_manage_projectsadmin\class-manage-projects.php:33
actionccp_load_manage_projectsadmin\class-manage-projects.php:36
filterrequestadmin\class-manage-projects.php:60
actionrestrict_manage_postsadmin\class-manage-projects.php:66
actionrestrict_manage_postsadmin\class-manage-projects.php:67
actionadmin_headadmin\class-manage-projects.php:74
filterdisplay_post_statesadmin\class-manage-projects.php:77
filterpost_row_actionsadmin\class-manage-projects.php:80
actionload-post.phpadmin\class-project-edit.php:30
actionload-post-new.phpadmin\class-project-edit.php:31
actionccp_load_project_editadmin\class-project-edit.php:34
actionadmin_enqueue_scriptsadmin\class-project-edit.php:58
actionadmin_headadmin\class-project-edit.php:61
actionadd_meta_boxesadmin\class-project-edit.php:64
actionpost_submitbox_misc_actionsadmin\class-project-edit.php:67
actionsave_postadmin\class-project-edit.php:70
filterwp_dropdown_users_argsadmin\class-project-edit.php:73
actionadmin_menuadmin\class-settings.php:38
actionadmin_initadmin\class-settings.php:63
actionadmin_enqueue_scriptsadmin\functions-admin.php:14
actionbutterbean_registeradmin\functions-admin.php:18
actionload-post.phpadmin\functions-admin.php:21
actionload-post-new.phpadmin\functions-admin.php:22
actionload-edit.phpadmin\functions-admin.php:23
filteroption_default_post_formatadmin\functions-admin.php:229
actionmembers_register_cap_groupsinc\functions-capabilities.php:14
actionmembers_register_capsinc\functions-capabilities.php:17
actionwp_loadedinc\functions-filters.php:14
filtertemplate_includeinc\functions-filters.php:17
filterthe_postsinc\functions-filters.php:20
filterdocument_title_partsinc\functions-filters.php:23
filterpost_type_archive_titleinc\functions-filters.php:26
filterget_the_archive_titleinc\functions-filters.php:29
filterget_the_archive_descriptioninc\functions-filters.php:30
filterpost_type_linkinc\functions-filters.php:33
filterauthor_linkinc\functions-filters.php:36
actionsave_postinc\functions-filters.php:39
filterbreadcrumb_trail_argsinc\functions-filters.php:42
filterthe_contentinc\functions-filters.php:55
actioninitinc\functions-meta.php:14
actioninitinc\functions-post-types.php:14
filterenter_title_hereinc\functions-post-types.php:17
filterbulk_post_updated_messagesinc\functions-post-types.php:20
filterpost_updated_messagesinc\functions-post-types.php:21
actioninitinc\functions-rewrite.php:14
actioninitinc\functions-taxonomies.php:14
filterterm_updated_messagesinc\functions-taxonomies.php:17
actionplugins_loadedportfolio.php:215
Maintenance & Trust

Custom Content Portfolio Maintenance & Trust

Maintenance Signals

WordPress version tested4.8.28
Last updatedSep 29, 2017
PHP min version5.2
Downloads43K

Community Trust

Rating84/100
Number of ratings10
Active installs300
Developer Profile

Custom Content Portfolio Developer Profile

Justin Tadlock

33 plugins · 34K total installs

85
trust score
Avg Security Score
87/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect Custom Content Portfolio

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/custom-content-portfolio/css/admin.css/wp-content/plugins/custom-content-portfolio/css/frontend.css/wp-content/plugins/custom-content-portfolio/js/admin.js/wp-content/plugins/custom-content-portfolio/js/frontend.js
Version Parameters
custom-content-portfolio/css/admin.css?ver=custom-content-portfolio/css/frontend.css?ver=custom-content-portfolio/js/admin.js?ver=custom-content-portfolio/js/frontend.js?ver=

HTML / DOM Fingerprints

CSS Classes
ccp-project-titleccp-project-dateccp-project-excerptccp-project-thumbnailccp-project-categoriesccp-project-tagsccp-portfolioccp-admin-metabox
HTML Comments
Custom Content Portfolio admin metabox.
Data Attributes
data-ccp-project-iddata-ccp-project-slug
JS Globals
CCPAdminCCPFrontend
Shortcode Output
<div class="ccp-portfolio"><article class="ccp-project">
FAQ

Frequently Asked Questions about Custom Content Portfolio