[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fY5icwCioI-THlAaipcLEnZIj_MpTh_7MLg590k20HbQ":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":18,"download_link":20,"security_score":21,"vuln_count":22,"unpatched_count":22,"last_vuln_date":23,"fetched_at":24,"vulnerabilities":25,"developer":26,"crawl_stats":23,"alternatives":34,"analysis":35,"fingerprints":872},"virtue-toolkit","Virtue\u002FAscend\u002FPinnacle Toolkit","4.9.12","StellarWP","https:\u002F\u002Fprofiles.wordpress.org\u002Fstellarwp\u002F","\u003Cp>Custom Portfolio and Shortcode functionality for free Virtue, Ascend, and Pinnacle WordPress themes\u003C\u002Fp>\n\u003Cp>Not intended to work with any other themes.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Included Shortcodes\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Columns\u003C\u002Fli>\n\u003Cli>Dividers\u003C\u002Fli>\n\u003Cli>Accordions\u003C\u002Fli>\n\u003Cli>Tabs\u003C\u002Fli>\n\u003Cli>Quotes and Block Quotes\u003C\u002Fli>\n\u003Cli>Buttons\u003C\u002Fli>\n\u003Cli>Icons\u003C\u002Fli>\n\u003Cli>Responsive Youtube\u003C\u002Fli>\n\u003Cli>Responsive Vimeo\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Portfolio Post Type\u003C\u002Fstrong> – included metabox options for post sliders and three post layout options.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Contact Form Page Template\u003C\u002Fstrong> – includes page template that has options for a google map and a contact form.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Gallery Styling for WordPress Gallery\u003C\u002Fstrong> – this allows the Kadence Theme to override the WordPress gallery with theme specific styling. You can turn this off in the theme options > misc settings.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Gallery Metaboxs for post and pages\u003C\u002Fstrong> – allows for a gallery to be added to a post for a post slider or page for page slider using the featured template.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","Custom Portfolio and Shortcode functionality for free Virtue, Ascend, and Pinnacle WordPress themes",30000,1650655,70,10,"2026-01-30T17:44:00.000Z","6.9.4","4.5","",[],"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fvirtue-toolkit.4.9.12.zip",100,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":27,"display_name":7,"profile_url":8,"plugin_count":28,"total_installs":29,"avg_security_score":30,"avg_patch_time_days":31,"trust_score":32,"computed_at":33},"stellarwp",26,3113110,95,462,76,"2026-04-03T17:57:07.030Z",[],{"attackSurface":36,"codeSignals":495,"taintFlows":831,"riskAssessment":863,"analyzedAt":871},{"hooks":37,"ajaxHandlers":323,"restRoutes":364,"shortcodes":365,"cronEvents":493,"entryPointCount":494,"unprotectedCount":22},[38,44,47,51,54,58,63,68,73,78,83,88,92,96,101,104,107,110,113,117,120,124,127,129,133,136,140,144,148,152,154,157,159,163,166,168,171,174,178,181,183,185,189,192,195,198,201,205,209,212,216,219,223,226,229,233,237,242,245,248,252,256,259,261,263,265,267,271,275,279,283,287,292,295,299,303,306,311,314,316,319],{"type":39,"name":40,"callback":41,"file":42,"line":43},"action","show_user_profile","virtue_toolkit_show_extra_profile_fields","author_box.php",3,{"type":39,"name":45,"callback":41,"file":42,"line":46},"edit_user_profile",4,{"type":39,"name":48,"callback":49,"file":42,"line":50},"personal_options_update","virtue_toolkit_save_extra_profile_fields",115,{"type":39,"name":52,"callback":49,"file":42,"line":53},"edit_user_profile_update",116,{"type":39,"name":55,"callback":56,"file":57,"line":13},"admin_menu","add_menu","class-virtue-toolkit-welcome.php",{"type":39,"name":59,"callback":60,"priority":61,"file":57,"line":62},"tgmpa_register","register_importer",30,71,{"type":64,"name":65,"callback":66,"file":57,"line":67},"filter","plugin_action_links_virtue-toolkit\u002Fvirtue_toolkit.php","add_settings_link",72,{"type":39,"name":69,"callback":70,"priority":71,"file":57,"line":72},"admin_init","load_tgmpa_installer",1,75,{"type":64,"name":74,"callback":75,"priority":14,"file":76,"line":77},"wp_prepare_attachment_for_js","prepare_image_sizes_for_js","cmb\\includes\\CMB2.php",1558,{"type":39,"name":79,"callback":80,"priority":81,"file":76,"line":82},"admin_enqueue_scripts","dequeue_rgba_colorpicker_script",99,1576,{"type":39,"name":84,"callback":85,"file":86,"line":87},"cmb2_save_options-page_fields","clean_stale_options_page_oembeds","cmb\\includes\\CMB2_Ajax.php",54,{"type":64,"name":89,"callback":90,"priority":14,"file":86,"line":91},"get_post_metadata","hijack_oembed_cache_get",147,{"type":64,"name":93,"callback":94,"priority":14,"file":86,"line":95},"update_post_metadata","hijack_oembed_cache_set",150,{"type":64,"name":97,"callback":98,"priority":14,"file":99,"line":100},"cmb2_show_on","anonymous","cmb\\includes\\CMB2_Hookup.php",79,{"type":39,"name":102,"callback":103,"file":99,"line":50},"edit_form_top","add_context_metaboxes",{"type":39,"name":105,"callback":103,"file":99,"line":106},"edit_form_before_permalink",119,{"type":39,"name":108,"callback":103,"file":99,"line":109},"edit_form_after_title",123,{"type":39,"name":111,"callback":103,"file":99,"line":112},"edit_form_after_editor",127,{"type":39,"name":114,"callback":115,"file":99,"line":116},"add_meta_boxes","add_metaboxes",131,{"type":39,"name":114,"callback":118,"file":99,"line":119},"remove_default_tax_metaboxes",134,{"type":39,"name":121,"callback":122,"file":99,"line":123},"add_attachment","save_post",135,{"type":39,"name":125,"callback":122,"file":99,"line":126},"edit_attachment",136,{"type":39,"name":122,"callback":122,"priority":14,"file":99,"line":128},137,{"type":39,"name":130,"callback":131,"file":99,"line":132},"pre_get_posts","columns_sortable_orderby",144,{"type":39,"name":134,"callback":115,"file":99,"line":135},"add_meta_boxes_comment",152,{"type":39,"name":137,"callback":138,"file":99,"line":139},"edit_comment","save_comment",153,{"type":64,"name":141,"callback":142,"file":99,"line":143},"manage_edit-comments_columns","register_column_headers",156,{"type":39,"name":145,"callback":146,"priority":14,"file":99,"line":147},"manage_comments_custom_column","column_display",157,{"type":64,"name":149,"callback":150,"file":99,"line":151},"manage_edit-comments_sortable_columns","columns_sortable",158,{"type":39,"name":130,"callback":131,"file":99,"line":153},159,{"type":39,"name":40,"callback":155,"file":99,"line":156},"user_metabox",168,{"type":39,"name":45,"callback":155,"file":99,"line":158},169,{"type":39,"name":160,"callback":161,"file":99,"line":162},"user_new_form","user_new_metabox",170,{"type":39,"name":48,"callback":164,"file":99,"line":165},"save_user",172,{"type":39,"name":52,"callback":164,"file":99,"line":167},173,{"type":39,"name":169,"callback":164,"file":99,"line":170},"user_register",174,{"type":64,"name":172,"callback":142,"file":99,"line":173},"manage_users_columns",177,{"type":64,"name":175,"callback":176,"priority":14,"file":99,"line":177},"manage_users_custom_column","return_column_display",178,{"type":64,"name":179,"callback":150,"file":99,"line":180},"manage_users_sortable_columns",179,{"type":39,"name":130,"callback":131,"file":99,"line":182},180,{"type":39,"name":130,"callback":131,"file":99,"line":184},226,{"type":39,"name":186,"callback":187,"priority":14,"file":99,"line":188},"created_term","save_term",230,{"type":39,"name":190,"callback":187,"priority":14,"file":99,"line":191},"edited_terms",231,{"type":39,"name":193,"callback":193,"priority":14,"file":99,"line":194},"delete_term",232,{"type":39,"name":196,"callback":196,"file":197,"line":116},"cmb2_do_oembed","cmb\\includes\\helper-functions.php",{"type":64,"name":199,"callback":199,"priority":14,"file":200,"line":132},"is_protected_meta","cmb\\includes\\rest-api\\CMB2_REST.php",{"type":39,"name":202,"callback":203,"file":204,"line":50},"init","include_cmb","cmb\\init.php",{"type":39,"name":202,"callback":206,"file":207,"line":208},"kt_tool_gallery_setup_init","gallery.php",337,{"type":39,"name":202,"callback":210,"file":207,"line":211},"kt_tool_ascend_gallery_setup_init",491,{"type":64,"name":93,"callback":213,"priority":14,"file":214,"line":215},"filter_update_post_metadata","kadence_image_processing.php",25,{"type":39,"name":202,"callback":217,"priority":14,"file":218,"line":43},"initialize_kadence_toolkit_meta_boxes","metaboxes.php",{"type":64,"name":220,"callback":221,"priority":21,"file":218,"line":222},"cmb2_admin_init","kadence_toolkit_pinnacle_metaboxes",7,{"type":64,"name":220,"callback":224,"priority":21,"file":218,"line":225},"kadence_toolkit_virtue_metaboxes",9,{"type":64,"name":220,"callback":227,"file":218,"line":228},"kadence_toolkit_ascend_metabox",11,{"type":39,"name":230,"callback":231,"priority":14,"file":218,"line":232},"cmb2_render_kttk_select_type","kadence_toolkit_render_select_type",16,{"type":64,"name":234,"callback":235,"priority":14,"file":218,"line":236},"cmb2_render_kad_gallery","kadence_toolkit_ascend_gallery_field",57,{"type":64,"name":238,"callback":239,"file":240,"line":241},"page_attributes_dropdown_pages_args","register_project_templates","pagetemplater.php",21,{"type":64,"name":243,"callback":239,"file":240,"line":244},"wp_insert_post_data",23,{"type":64,"name":246,"callback":247,"file":240,"line":215},"template_include","view_project_template",{"type":64,"name":249,"callback":250,"file":240,"line":251},"theme_page_templates","register_project_templates_update",27,{"type":39,"name":253,"callback":254,"file":240,"line":255},"plugins_loaded","get_instance",104,{"type":64,"name":257,"callback":239,"file":240,"line":258},"wp_dropdown_pages",124,{"type":64,"name":243,"callback":239,"file":240,"line":260},126,{"type":64,"name":246,"callback":247,"file":240,"line":262},128,{"type":64,"name":249,"callback":250,"file":240,"line":264},130,{"type":39,"name":253,"callback":254,"file":240,"line":266},208,{"type":39,"name":202,"callback":268,"priority":71,"file":269,"line":270},"kadence_toolkit_portfolio_post_init","post-types.php",74,{"type":39,"name":202,"callback":272,"priority":273,"file":269,"line":274},"kadence_toolkit_portfolio_permalink_init",2,87,{"type":64,"name":276,"callback":277,"priority":14,"file":269,"line":278},"post_type_link","kadence_toolkit_portfolio_permalink",155,{"type":39,"name":202,"callback":280,"file":281,"line":282},"virtue_toolkit_register_shortcodes","shortcodes.php",352,{"type":64,"name":284,"callback":285,"file":281,"line":286},"mce_external_plugins","virtue_toolkit_add_plugin",387,{"type":64,"name":288,"callback":289,"priority":290,"file":281,"line":291},"mce_buttons_3","virtue_toolkit_register_button",50,388,{"type":39,"name":202,"callback":293,"file":281,"line":294},"virtue_toolkit_tinymce_shortcode_button",392,{"type":64,"name":296,"callback":297,"file":281,"line":298},"the_content","virtue_toolkit_content_clean_shortcodes",404,{"type":64,"name":300,"callback":301,"file":281,"line":302},"widget_text","virtue_toolkit_widget_clean_shortcodes",416,{"type":64,"name":300,"callback":304,"priority":290,"file":281,"line":305},"do_shortcode",417,{"type":64,"name":307,"callback":308,"file":309,"line":310},"kadence_theme_options_args","virtue_toolkit_redux_args_new","virtue_toolkit.php",32,{"type":39,"name":253,"callback":312,"file":309,"line":313},"virtue_toolkit_textdomain",58,{"type":39,"name":79,"callback":315,"file":309,"line":67},"virtue_toolkit_admin_scripts",{"type":39,"name":202,"callback":317,"file":309,"line":318},"virtue_toolkit_flushpermalinks",81,{"type":39,"name":320,"callback":321,"priority":71,"file":309,"line":322},"after_setup_theme","virtue_toolkit_add_in_slider_sections",84,[324,329,333,335,339,343,346,350,354,357,361],{"action":325,"nopriv":326,"callback":327,"hasNonce":328,"hasCapCheck":326,"file":57,"line":270},"kadence_import_plugin",false,"ajax_install_import_plugin",true,{"action":330,"nopriv":326,"callback":331,"hasNonce":328,"hasCapCheck":326,"file":86,"line":332},"cmb2_oembed_handler","oembed_handler",51,{"action":330,"nopriv":328,"callback":331,"hasNonce":328,"hasCapCheck":326,"file":86,"line":334},52,{"action":336,"nopriv":326,"callback":337,"hasNonce":326,"hasCapCheck":328,"file":338,"line":225},"kadcolumns_tinymce","virtue_toolkit_columns_ajax_tinymce","shortcode_ajax.php",{"action":340,"nopriv":326,"callback":341,"hasNonce":326,"hasCapCheck":328,"file":338,"line":342},"kadicons_tinymce","virtue_toolkit_icons_ajax_tinymce",18,{"action":344,"nopriv":326,"callback":345,"hasNonce":326,"hasCapCheck":328,"file":338,"line":251},"kadquote_tinymce","virtue_toolkit_quote_ajax_tinymce",{"action":347,"nopriv":326,"callback":348,"hasNonce":326,"hasCapCheck":328,"file":338,"line":349},"kadyoutube_tinymce","virtue_toolkit_youtube_ajax_tinymce",36,{"action":351,"nopriv":326,"callback":352,"hasNonce":326,"hasCapCheck":328,"file":338,"line":353},"kadvimeo_tinymce","virtue_toolkit_vimeo_ajax_tinymce",45,{"action":355,"nopriv":326,"callback":356,"hasNonce":326,"hasCapCheck":328,"file":338,"line":87},"kadbtns_tinymce","virtue_toolkit_btns_ajax_tinymce",{"action":358,"nopriv":326,"callback":359,"hasNonce":326,"hasCapCheck":328,"file":338,"line":360},"kaddivider_tinymce","virtue_toolkit_divider_ajax_tinymce",63,{"action":362,"nopriv":326,"callback":363,"hasNonce":326,"hasCapCheck":328,"file":338,"line":67},"kadaccordion_tinymce","virtue_toolkit_accordion_ajax_tinymce",[],[366,370,373,377,381,385,389,393,397,401,405,409,413,417,421,425,429,433,437,441,444,448,452,456,460,464,468,471,475,479,482,486,489],{"tag":367,"callback":368,"file":207,"line":369},"gallery","kadence_toolkit_shortcode_gallery",344,{"tag":367,"callback":371,"file":207,"line":372},"kt_toolkit_shortcode_gallery",498,{"tag":374,"callback":375,"file":281,"line":376},"accordion","virtue_toolkit_accordion_shortcode_function",320,{"tag":378,"callback":379,"file":281,"line":380},"pane","virtue_toolkit_accordion_pane_function",321,{"tag":382,"callback":383,"file":281,"line":384},"tabs","virtue_toolkit_tab_shortcode_function",322,{"tag":386,"callback":387,"file":281,"line":388},"tab","virtue_toolkit_tab_pane_function",323,{"tag":390,"callback":391,"file":281,"line":392},"columns","virtue_toolkit_column_shortcode_function",324,{"tag":394,"callback":395,"file":281,"line":396},"hcolumns","virtue_toolkit_hcolumn_shortcode_function",325,{"tag":398,"callback":399,"file":281,"line":400},"span11","virtue_toolkit_column11_function",326,{"tag":402,"callback":403,"file":281,"line":404},"span10","virtue_toolkit_column10_function",327,{"tag":406,"callback":407,"file":281,"line":408},"span9","virtue_toolkit_column9_function",328,{"tag":410,"callback":411,"file":281,"line":412},"span8","virtue_toolkit_column8_function",329,{"tag":414,"callback":415,"file":281,"line":416},"span7","virtue_toolkit_column7_function",330,{"tag":418,"callback":419,"file":281,"line":420},"span6","virtue_toolkit_column6_function",331,{"tag":422,"callback":423,"file":281,"line":424},"span5","virtue_toolkit_column5_function",332,{"tag":426,"callback":427,"file":281,"line":428},"span4","virtue_toolkit_column4_function",333,{"tag":430,"callback":431,"file":281,"line":432},"span3","virtue_toolkit_column3_function",334,{"tag":434,"callback":435,"file":281,"line":436},"span2","virtue_toolkit_column2_function",335,{"tag":438,"callback":439,"file":281,"line":440},"span1","virtue_toolkit_column1_function",336,{"tag":442,"callback":443,"file":281,"line":208},"columnhelper","virtue_toolkit_columnhelper_function",{"tag":445,"callback":446,"file":281,"line":447},"icon","virtue_toolkit_icon_shortcode_function",338,{"tag":449,"callback":450,"file":281,"line":451},"pullquote","virtue_toolkit_pullquote_shortcode_function",339,{"tag":453,"callback":454,"file":281,"line":455},"blockquote","virtue_toolkit_blockquote_shortcode_function",340,{"tag":457,"callback":458,"file":281,"line":459},"btn","virtue_toolkit_button_shortcode_function",341,{"tag":461,"callback":462,"file":281,"line":463},"hr","virtue_toolkit_hrule_function",342,{"tag":465,"callback":466,"file":281,"line":467},"space_20","virtue_toolkit_hrpadding10_function",343,{"tag":469,"callback":470,"file":281,"line":369},"space_40","virtue_toolkit_hrpadding20_function",{"tag":472,"callback":473,"file":281,"line":474},"space_80","virtue_toolkit_hrpadding40_function",345,{"tag":476,"callback":477,"file":281,"line":478},"kad_youtube","virtue_toolkit_youtube_shortcode_function",346,{"tag":480,"callback":477,"file":281,"line":481},"kt_youtube",347,{"tag":483,"callback":484,"file":281,"line":485},"kad_vimeo","virtue_toolkit_vimeo_shortcode_function",348,{"tag":487,"callback":484,"file":281,"line":488},"kt_vimeo",349,{"tag":490,"callback":491,"file":281,"line":492},"clear","virtue_toolkit_clearfix_function",350,[],44,{"dangerousFunctions":496,"sqlUsage":497,"outputEscaping":499,"fileOperations":22,"externalRequests":22,"nonceChecks":826,"capabilityChecks":28,"bundledLibraries":827},[],{"prepared":22,"raw":22,"locations":498},[],{"escaped":500,"rawEcho":501,"locations":502},445,204,[503,505,507,509,511,512,513,514,516,518,520,522,523,525,527,529,531,532,533,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,565,566,567,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,601,602,603,605,607,608,610,611,614,617,619,621,623,625,627,629,630,632,634,636,638,639,641,643,645,647,649,651,653,655,658,661,662,663,665,667,670,671,672,674,675,676,678,679,681,683,685,687,688,689,691,692,693,695,696,697,698,699,700,702,703,704,706,707,708,709,710,712,713,714,716,717,718,720,721,722,725,727,729,732,733,735,737,739,741,743,744,745,746,748,749,750,751,753,754,755,756,757,758,759,760,761,762,763,764,765,767,769,770,773,775,776,778,780,781,782,783,785,787,788,789,791,793,794,795,797,798,799,800,802,804,805,807,808,810,811,812,813,815,816,817,818,819,820,821,822,823,824,825],{"file":42,"line":222,"context":504},"raw output",{"file":57,"line":506,"context":504},114,{"file":57,"line":508,"context":504},161,{"file":57,"line":510,"context":504},164,{"file":57,"line":165,"context":504},{"file":57,"line":167,"context":504},{"file":57,"line":170,"context":504},{"file":57,"line":515,"context":504},184,{"file":57,"line":517,"context":504},190,{"file":57,"line":519,"context":504},198,{"file":57,"line":521,"context":504},199,{"file":57,"line":266,"context":504},{"file":57,"line":524,"context":504},218,{"file":57,"line":526,"context":504},219,{"file":57,"line":528,"context":504},222,{"file":57,"line":530,"context":504},238,{"file":57,"line":530,"context":504},{"file":57,"line":530,"context":504},{"file":57,"line":530,"context":504},{"file":57,"line":535,"context":504},253,{"file":57,"line":537,"context":504},254,{"file":57,"line":539,"context":504},255,{"file":57,"line":541,"context":504},265,{"file":57,"line":543,"context":504},266,{"file":57,"line":545,"context":504},267,{"file":57,"line":547,"context":504},272,{"file":57,"line":549,"context":504},280,{"file":57,"line":551,"context":504},281,{"file":57,"line":553,"context":504},291,{"file":57,"line":555,"context":504},301,{"file":57,"line":557,"context":504},302,{"file":57,"line":559,"context":504},303,{"file":57,"line":561,"context":504},313,{"file":57,"line":563,"context":504},315,{"file":57,"line":404,"context":504},{"file":57,"line":408,"context":504},{"file":57,"line":412,"context":504},{"file":57,"line":447,"context":504},{"file":57,"line":569,"context":504},354,{"file":57,"line":571,"context":504},358,{"file":57,"line":573,"context":504},362,{"file":57,"line":575,"context":504},374,{"file":57,"line":577,"context":504},375,{"file":57,"line":579,"context":504},385,{"file":57,"line":581,"context":504},398,{"file":57,"line":583,"context":504},419,{"file":57,"line":585,"context":504},442,{"file":76,"line":587,"context":504},311,{"file":76,"line":589,"context":504},520,{"file":76,"line":591,"context":504},524,{"file":76,"line":593,"context":504},526,{"file":76,"line":595,"context":504},529,{"file":76,"line":597,"context":504},544,{"file":76,"line":599,"context":504},610,{"file":76,"line":599,"context":504},{"file":76,"line":599,"context":504},{"file":76,"line":599,"context":504},{"file":76,"line":604,"context":504},614,{"file":76,"line":606,"context":504},617,{"file":76,"line":606,"context":504},{"file":76,"line":609,"context":504},639,{"file":76,"line":609,"context":504},{"file":612,"line":613,"context":504},"cmb\\includes\\CMB2_Base.php",249,{"file":615,"line":616,"context":504},"cmb\\includes\\CMB2_Field.php",920,{"file":615,"line":618,"context":504},1142,{"file":620,"line":143,"context":504},"cmb\\includes\\CMB2_Field_Display.php",{"file":620,"line":622,"context":504},183,{"file":620,"line":624,"context":504},195,{"file":620,"line":626,"context":504},235,{"file":620,"line":628,"context":504},237,{"file":620,"line":543,"context":504},{"file":620,"line":631,"context":504},277,{"file":620,"line":633,"context":504},288,{"file":620,"line":635,"context":504},299,{"file":620,"line":637,"context":504},310,{"file":620,"line":451,"context":504},{"file":620,"line":640,"context":504},401,{"file":620,"line":642,"context":504},448,{"file":620,"line":644,"context":504},478,{"file":99,"line":646,"context":504},563,{"file":99,"line":648,"context":504},569,{"file":99,"line":650,"context":504},572,{"file":99,"line":652,"context":504},578,{"file":99,"line":654,"context":504},579,{"file":656,"line":657,"context":504},"cmb\\includes\\CMB2_Options_Hookup.php",203,{"file":659,"line":660,"context":504},"cmb\\includes\\CMB2_Types.php",101,{"file":659,"line":447,"context":504},{"file":659,"line":369,"context":504},{"file":659,"line":664,"context":504},440,{"file":197,"line":666,"context":504},129,{"file":668,"line":669,"context":504},"cmb\\includes\\types\\CMB2_Type_Wysiwyg.php",97,{"file":668,"line":81,"context":504},{"file":218,"line":61,"context":504},{"file":218,"line":673,"context":504},49,{"file":218,"line":290,"context":504},{"file":218,"line":87,"context":504},{"file":240,"line":677,"context":504},94,{"file":240,"line":519,"context":504},{"file":680,"line":228,"context":504},"shortcodes\\accordion\\accordion_popup.php",{"file":680,"line":682,"context":504},12,{"file":680,"line":684,"context":504},13,{"file":686,"line":228,"context":504},"shortcodes\\btns\\btns_popup.php",{"file":686,"line":682,"context":504},{"file":686,"line":684,"context":504},{"file":690,"line":228,"context":504},"shortcodes\\columns\\columns_popup.php",{"file":690,"line":682,"context":504},{"file":690,"line":684,"context":504},{"file":690,"line":694,"context":504},17,{"file":690,"line":153,"context":504},{"file":690,"line":510,"context":504},{"file":690,"line":158,"context":504},{"file":690,"line":170,"context":504},{"file":690,"line":180,"context":504},{"file":701,"line":228,"context":504},"shortcodes\\divider\\divider_popup.php",{"file":701,"line":682,"context":504},{"file":701,"line":684,"context":504},{"file":705,"line":228,"context":504},"shortcodes\\icons\\icon_popup.php",{"file":705,"line":682,"context":504},{"file":705,"line":684,"context":504},{"file":705,"line":342,"context":504},{"file":705,"line":322,"context":504},{"file":711,"line":228,"context":504},"shortcodes\\pullquote\\quote_popup.php",{"file":711,"line":682,"context":504},{"file":711,"line":684,"context":504},{"file":715,"line":228,"context":504},"shortcodes\\vimeo\\vimeo_popup.php",{"file":715,"line":682,"context":504},{"file":715,"line":684,"context":504},{"file":719,"line":228,"context":504},"shortcodes\\youtube\\youtube_popup.php",{"file":719,"line":682,"context":504},{"file":719,"line":684,"context":504},{"file":723,"line":724,"context":504},"template-contact.php",98,{"file":723,"line":726,"context":504},181,{"file":723,"line":728,"context":504},223,{"file":730,"line":731,"context":504},"widgets\\class-ascend-image-widget.php",47,{"file":730,"line":87,"context":504},{"file":730,"line":734,"context":504},56,{"file":730,"line":736,"context":504},62,{"file":730,"line":738,"context":504},65,{"file":730,"line":740,"context":504},112,{"file":730,"line":742,"context":504},113,{"file":730,"line":742,"context":504},{"file":730,"line":506,"context":504},{"file":730,"line":506,"context":504},{"file":730,"line":747,"context":504},118,{"file":730,"line":106,"context":504},{"file":730,"line":106,"context":504},{"file":730,"line":106,"context":504},{"file":730,"line":752,"context":504},122,{"file":730,"line":109,"context":504},{"file":730,"line":109,"context":504},{"file":730,"line":260,"context":504},{"file":730,"line":112,"context":504},{"file":730,"line":112,"context":504},{"file":730,"line":264,"context":504},{"file":730,"line":116,"context":504},{"file":730,"line":116,"context":504},{"file":730,"line":116,"context":504},{"file":730,"line":119,"context":504},{"file":730,"line":123,"context":504},{"file":730,"line":123,"context":504},{"file":730,"line":766,"context":504},138,{"file":730,"line":768,"context":504},139,{"file":730,"line":768,"context":504},{"file":771,"line":772,"context":504},"widgets\\class-kad-image-widget.php",41,{"file":771,"line":774,"context":504},43,{"file":771,"line":673,"context":504},{"file":771,"line":777,"context":504},80,{"file":771,"line":779,"context":504},83,{"file":771,"line":322,"context":504},{"file":771,"line":322,"context":504},{"file":771,"line":322,"context":504},{"file":771,"line":784,"context":504},88,{"file":771,"line":786,"context":504},89,{"file":771,"line":786,"context":504},{"file":771,"line":786,"context":504},{"file":771,"line":790,"context":504},92,{"file":771,"line":792,"context":504},93,{"file":771,"line":792,"context":504},{"file":771,"line":792,"context":504},{"file":771,"line":796,"context":504},96,{"file":771,"line":669,"context":504},{"file":771,"line":669,"context":504},{"file":771,"line":669,"context":504},{"file":801,"line":774,"context":504},"widgets\\class-simple-about-with-image.php",{"file":801,"line":803,"context":504},46,{"file":801,"line":673,"context":504},{"file":801,"line":806,"context":504},53,{"file":801,"line":779,"context":504},{"file":801,"line":809,"context":504},86,{"file":801,"line":274,"context":504},{"file":801,"line":274,"context":504},{"file":801,"line":274,"context":504},{"file":801,"line":814,"context":504},91,{"file":801,"line":790,"context":504},{"file":801,"line":790,"context":504},{"file":801,"line":790,"context":504},{"file":801,"line":30,"context":504},{"file":801,"line":796,"context":504},{"file":801,"line":796,"context":504},{"file":801,"line":796,"context":504},{"file":801,"line":81,"context":504},{"file":801,"line":21,"context":504},{"file":801,"line":21,"context":504},{"file":801,"line":21,"context":504},5,[828],{"name":829,"version":23,"knownCves":830},"Select2",[],[832],{"entryPoint":833,"graph":834,"unsanitizedCount":22,"severity":862},"\u003Ctemplate-contact> (template-contact.php:0)",{"nodes":835,"edges":858},[836,841,846,850,852,856],{"id":837,"type":838,"label":839,"file":723,"line":840},"n0","source","$_POST['contactName']",200,{"id":842,"type":843,"label":844,"file":723,"line":840,"wp_function":845},"n1","sink","echo() [XSS]","echo",{"id":847,"type":838,"label":848,"file":723,"line":849},"n2","$_POST['email']",209,{"id":851,"type":843,"label":844,"file":723,"line":849,"wp_function":845},"n3",{"id":853,"type":838,"label":854,"file":723,"line":855},"n4","$_POST['comments'] (x2)",216,{"id":857,"type":843,"label":844,"file":723,"line":855,"wp_function":845},"n5",[859,860,861],{"from":837,"to":842,"sanitized":328},{"from":847,"to":851,"sanitized":328},{"from":853,"to":857,"sanitized":328},"low",{"summary":864,"deductions":865},"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.\n\nHowever, 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.\n\nIn 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.",[866,869],{"reason":867,"points":868},"31% of outputs are not properly escaped",8,{"reason":870,"points":43},"Bundled library (Select2)","2026-03-16T17:23:09.084Z",{"wat":873,"direct":886},{"assetPaths":874,"generatorPatterns":879,"scriptPaths":880,"versionParams":881},[875,876,877,878],"\u002Fwp-content\u002Fplugins\u002Fvirtue-toolkit\u002Fwelcome\u002Ftoolkit-welcome.css","\u002Fwp-content\u002Fplugins\u002Fvirtue-toolkit\u002Fwelcome\u002Ftoolkit-welcome.js","\u002Fwp-content\u002Fplugins\u002Fvirtue-toolkit\u002Fassets\u002Ftoolkit_admin.css","\u002Fwp-content\u002Fplugins\u002Fvirtue-toolkit\u002Fassets\u002Fkttk_admin_gallery.js",[],[876,878],[882,883,884,885],"virtue_toolkit_adminstyles?ver=","toolkit_gallery_meta?ver=","toolkit-welcome-css?ver=","toolkit-welcome-js?ver=",{"cssClasses":887,"htmlComments":890,"htmlAttributes":898,"restEndpoints":905,"jsGlobals":906,"shortcodeOutput":908},[888,889],"kt_theme_welcome","kt_title_area",[891,892,893,894,895,896,897],"Build Welcome Page","Get theme data object.","Ascend Theme","Virtue Theme","Pinnacle Theme","Not Kadence","Loads admin style sheets",[899,900,901,902,903,904],"data-title","data-description","data-slug","data-source","data-button-text","data-id",[],[907],"toolkit_welcome_params",[]]