Virtue/Ascend/Pinnacle Toolkit Security & Risk Analysis

wordpress.org/plugins/virtue-toolkit

Custom Portfolio and Shortcode functionality for free Virtue, Ascend, and Pinnacle WordPress themes

30K active installs v4.9.12 PHP + WP 4.5+ Updated Jan 30, 2026
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is Virtue/Ascend/Pinnacle Toolkit Safe to Use in 2026?

Generally Safe

Score 100/100

Virtue/Ascend/Pinnacle Toolkit has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 2mo ago
Risk Assessment

The "virtue-toolkit" plugin v4.9.12 demonstrates a generally strong security posture based on the provided static analysis. The absence of any known CVEs in its history is a significant positive indicator, suggesting a history of diligent security practices. The code analysis reveals good practices like 100% of SQL queries using prepared statements and a substantial percentage of output being properly escaped. Furthermore, the plugin implements nonce checks and capability checks on its entry points, which are crucial for preventing common WordPress attacks. The lack of raw SQL queries or identifiable dangerous functions further contributes to its positive security assessment.

However, there are areas for improvement. While all identified entry points (AJAX handlers, REST API routes, shortcodes, cron events) appear to have authentication checks, a deeper review would be prudent to confirm the robustness of these checks. The static analysis shows 69% of output being properly escaped, meaning 31% of outputs are not, which could present a Cross-Site Scripting (XSS) risk if user-supplied data is involved in these unescaped outputs. The inclusion of the Select2 library, while not inherently a vulnerability, is worth noting as bundled libraries can sometimes introduce risks if not properly maintained or updated. The absence of critical taint flows is excellent, but the single analyzed flow indicates potential for deeper analysis.

In conclusion, "virtue-toolkit" v4.9.12 appears to be a relatively secure plugin with a history free of documented vulnerabilities. Its adherence to prepared statements and the presence of authentication checks on entry points are commendable. The primary area of concern lies in the unescaped output, which warrants further investigation to mitigate potential XSS vulnerabilities. Addressing this and ensuring the robustness of existing authentication mechanisms would further enhance its security.

Key Concerns

  • 31% of outputs are not properly escaped
  • Bundled library (Select2)
Vulnerabilities
None known

Virtue/Ascend/Pinnacle Toolkit Security Vulnerabilities

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

Virtue/Ascend/Pinnacle Toolkit Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
204
445 escaped
Nonce Checks
5
Capability Checks
26
File Operations
0
External Requests
0
Bundled Libraries
1

Bundled Libraries

Select2

Output Escaping

69% escaped649 total outputs
Data Flows
All sanitized

Data Flow Analysis

1 flows
<template-contact> (template-contact.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Virtue/Ascend/Pinnacle Toolkit Attack Surface

Entry Points44
Unprotected0

AJAX Handlers 11

authwp_ajax_kadence_import_pluginclass-virtue-toolkit-welcome.php:74
authwp_ajax_cmb2_oembed_handlercmb\includes\CMB2_Ajax.php:51
noprivwp_ajax_cmb2_oembed_handlercmb\includes\CMB2_Ajax.php:52
authwp_ajax_kadcolumns_tinymceshortcode_ajax.php:9
authwp_ajax_kadicons_tinymceshortcode_ajax.php:18
authwp_ajax_kadquote_tinymceshortcode_ajax.php:27
authwp_ajax_kadyoutube_tinymceshortcode_ajax.php:36
authwp_ajax_kadvimeo_tinymceshortcode_ajax.php:45
authwp_ajax_kadbtns_tinymceshortcode_ajax.php:54
authwp_ajax_kaddivider_tinymceshortcode_ajax.php:63
authwp_ajax_kadaccordion_tinymceshortcode_ajax.php:72

Shortcodes 33

[gallery] gallery.php:344
[gallery] gallery.php:498
[accordion] shortcodes.php:320
[pane] shortcodes.php:321
[tabs] shortcodes.php:322
[tab] shortcodes.php:323
[columns] shortcodes.php:324
[hcolumns] shortcodes.php:325
[span11] shortcodes.php:326
[span10] shortcodes.php:327
[span9] shortcodes.php:328
[span8] shortcodes.php:329
[span7] shortcodes.php:330
[span6] shortcodes.php:331
[span5] shortcodes.php:332
[span4] shortcodes.php:333
[span3] shortcodes.php:334
[span2] shortcodes.php:335
[span1] shortcodes.php:336
[columnhelper] shortcodes.php:337
[icon] shortcodes.php:338
[pullquote] shortcodes.php:339
[blockquote] shortcodes.php:340
[btn] shortcodes.php:341
[hr] shortcodes.php:342
[space_20] shortcodes.php:343
[space_40] shortcodes.php:344
[space_80] shortcodes.php:345
[kad_youtube] shortcodes.php:346
[kt_youtube] shortcodes.php:347
[kad_vimeo] shortcodes.php:348
[kt_vimeo] shortcodes.php:349
[clear] shortcodes.php:350
WordPress Hooks 81
actionshow_user_profileauthor_box.php:3
actionedit_user_profileauthor_box.php:4
actionpersonal_options_updateauthor_box.php:115
actionedit_user_profile_updateauthor_box.php:116
actionadmin_menuclass-virtue-toolkit-welcome.php:70
actiontgmpa_registerclass-virtue-toolkit-welcome.php:71
filterplugin_action_links_virtue-toolkit/virtue_toolkit.phpclass-virtue-toolkit-welcome.php:72
actionadmin_initclass-virtue-toolkit-welcome.php:75
filterwp_prepare_attachment_for_jscmb\includes\CMB2.php:1558
actionadmin_enqueue_scriptscmb\includes\CMB2.php:1576
actioncmb2_save_options-page_fieldscmb\includes\CMB2_Ajax.php:54
filterget_post_metadatacmb\includes\CMB2_Ajax.php:147
filterupdate_post_metadatacmb\includes\CMB2_Ajax.php:150
filtercmb2_show_oncmb\includes\CMB2_Hookup.php:79
actionedit_form_topcmb\includes\CMB2_Hookup.php:115
actionedit_form_before_permalinkcmb\includes\CMB2_Hookup.php:119
actionedit_form_after_titlecmb\includes\CMB2_Hookup.php:123
actionedit_form_after_editorcmb\includes\CMB2_Hookup.php:127
actionadd_meta_boxescmb\includes\CMB2_Hookup.php:131
actionadd_meta_boxescmb\includes\CMB2_Hookup.php:134
actionadd_attachmentcmb\includes\CMB2_Hookup.php:135
actionedit_attachmentcmb\includes\CMB2_Hookup.php:136
actionsave_postcmb\includes\CMB2_Hookup.php:137
actionpre_get_postscmb\includes\CMB2_Hookup.php:144
actionadd_meta_boxes_commentcmb\includes\CMB2_Hookup.php:152
actionedit_commentcmb\includes\CMB2_Hookup.php:153
filtermanage_edit-comments_columnscmb\includes\CMB2_Hookup.php:156
actionmanage_comments_custom_columncmb\includes\CMB2_Hookup.php:157
filtermanage_edit-comments_sortable_columnscmb\includes\CMB2_Hookup.php:158
actionpre_get_postscmb\includes\CMB2_Hookup.php:159
actionshow_user_profilecmb\includes\CMB2_Hookup.php:168
actionedit_user_profilecmb\includes\CMB2_Hookup.php:169
actionuser_new_formcmb\includes\CMB2_Hookup.php:170
actionpersonal_options_updatecmb\includes\CMB2_Hookup.php:172
actionedit_user_profile_updatecmb\includes\CMB2_Hookup.php:173
actionuser_registercmb\includes\CMB2_Hookup.php:174
filtermanage_users_columnscmb\includes\CMB2_Hookup.php:177
filtermanage_users_custom_columncmb\includes\CMB2_Hookup.php:178
filtermanage_users_sortable_columnscmb\includes\CMB2_Hookup.php:179
actionpre_get_postscmb\includes\CMB2_Hookup.php:180
actionpre_get_postscmb\includes\CMB2_Hookup.php:226
actioncreated_termcmb\includes\CMB2_Hookup.php:230
actionedited_termscmb\includes\CMB2_Hookup.php:231
actiondelete_termcmb\includes\CMB2_Hookup.php:232
actioncmb2_do_oembedcmb\includes\helper-functions.php:131
filteris_protected_metacmb\includes\rest-api\CMB2_REST.php:144
actioninitcmb\init.php:115
actioninitgallery.php:337
actioninitgallery.php:491
filterupdate_post_metadatakadence_image_processing.php:25
actioninitmetaboxes.php:3
filtercmb2_admin_initmetaboxes.php:7
filtercmb2_admin_initmetaboxes.php:9
filtercmb2_admin_initmetaboxes.php:11
actioncmb2_render_kttk_select_typemetaboxes.php:16
filtercmb2_render_kad_gallerymetaboxes.php:57
filterpage_attributes_dropdown_pages_argspagetemplater.php:21
filterwp_insert_post_datapagetemplater.php:23
filtertemplate_includepagetemplater.php:25
filtertheme_page_templatespagetemplater.php:27
actionplugins_loadedpagetemplater.php:104
filterwp_dropdown_pagespagetemplater.php:124
filterwp_insert_post_datapagetemplater.php:126
filtertemplate_includepagetemplater.php:128
filtertheme_page_templatespagetemplater.php:130
actionplugins_loadedpagetemplater.php:208
actioninitpost-types.php:74
actioninitpost-types.php:87
filterpost_type_linkpost-types.php:155
actioninitshortcodes.php:352
filtermce_external_pluginsshortcodes.php:387
filtermce_buttons_3shortcodes.php:388
actioninitshortcodes.php:392
filterthe_contentshortcodes.php:404
filterwidget_textshortcodes.php:416
filterwidget_textshortcodes.php:417
filterkadence_theme_options_argsvirtue_toolkit.php:32
actionplugins_loadedvirtue_toolkit.php:58
actionadmin_enqueue_scriptsvirtue_toolkit.php:72
actioninitvirtue_toolkit.php:81
actionafter_setup_themevirtue_toolkit.php:84
Maintenance & Trust

Virtue/Ascend/Pinnacle Toolkit Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedJan 30, 2026
PHP min version
Downloads1.7M

Community Trust

Rating70/100
Number of ratings10
Active installs30K
Alternatives

Virtue/Ascend/Pinnacle Toolkit Alternatives

No alternatives data available yet.

Developer Profile

Virtue/Ascend/Pinnacle Toolkit Developer Profile

StellarWP

26 plugins · 3.1M total installs

76
trust score
Avg Security Score
95/100
Avg Patch Time
462 days
View full developer profile
Detection Fingerprints

How We Detect Virtue/Ascend/Pinnacle Toolkit

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/virtue-toolkit/welcome/toolkit-welcome.css/wp-content/plugins/virtue-toolkit/welcome/toolkit-welcome.js/wp-content/plugins/virtue-toolkit/assets/toolkit_admin.css/wp-content/plugins/virtue-toolkit/assets/kttk_admin_gallery.js
Script Paths
/wp-content/plugins/virtue-toolkit/welcome/toolkit-welcome.js/wp-content/plugins/virtue-toolkit/assets/kttk_admin_gallery.js
Version Parameters
virtue_toolkit_adminstyles?ver=toolkit_gallery_meta?ver=toolkit-welcome-css?ver=toolkit-welcome-js?ver=

HTML / DOM Fingerprints

CSS Classes
kt_theme_welcomekt_title_area
HTML Comments
Build Welcome PageGet theme data object.Ascend ThemeVirtue Theme+3 more
Data Attributes
data-titledata-descriptiondata-slugdata-sourcedata-button-textdata-id
JS Globals
toolkit_welcome_params
FAQ

Frequently Asked Questions about Virtue/Ascend/Pinnacle Toolkit