[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f_v2XKLtYozl3dI4SiD7V09vwbaLxhs3jT3v9nQ1GyX8":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":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":39,"analysis":117,"fingerprints":222},"block-manager","Block Manager","3.2.0","Darren Cooney","https:\u002F\u002Fprofiles.wordpress.org\u002Fdcooney\u002F","\u003Cp>Block Manager gives you complete control over the WordPress Block Editor by allowing you to:\u003C\u002Fp>\n\u003Cp>✅ \u003Cstrong>Disable Blocks\u003C\u002Fstrong> – Remove unwanted blocks from the Block Inserter and Editor\u003Cbr \u002F>\n✅ \u003Cstrong>Disable Patterns\u003C\u002Fstrong> – Hide block patterns you don’t need with a single click\u003Cbr \u002F>\n✅ \u003Cstrong>Change Block Categories\u003C\u002Fstrong> – Reorganize blocks by updating their categories for better workflow\u003C\u002Fp>\n\u003Cp>Simplify your WordPress editing experience by removing clutter and organizing blocks exactly how you need them. Perfect for client sites, custom workflows, and maintaining a clean, focused Block Editor.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Disable Blocks\u003C\u002Fstrong>\u003Cbr \u002F>\n– Globally remove any block from the Block Inserter and Block Editor.\u003Cbr \u002F>\n– Disable block variations individually while keeping the core block.\u003Cbr \u002F>\n– Control Embed blocks (Twitter, Facebook, YouTube, etc.) to remove unwanted options.\u003Cbr \u002F>\n– Toggle entire block categories on\u002Foff with one click.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Disable Block Patterns\u003C\u002Fstrong>\u003Cbr \u002F>\n– Remove unwanted block patterns with a simple toggle.\u003Cbr \u002F>\n– Hide core WordPress patterns that don’t fit your site.\u003Cbr \u002F>\n– Clean up the pattern library for a focused editing experience.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Change Block Categories\u003C\u002Fstrong>\u003Cbr \u002F>\n– Update the category of any block to better organize your Block Inserter.\u003Cbr \u002F>\n– Create a custom workflow that matches your editing process.\u003Cbr \u002F>\n– Improve findability by grouping related blocks together.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Additional Features\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Code Hooks\u003C\u002Fstrong>: Use filters to control blocks and patterns via \u003Ccode>functions.php\u003C\u002Fcode>.\u003Cbr \u002F>\n– \u003Cstrong>Search and Filter\u003C\u002Fstrong>: Quickly locate blocks and patterns with built-in search.\u003Cbr \u002F>\n– \u003Cstrong>Export Options\u003C\u002Fstrong>: Generate code snippets for syncing across environments.\u003Cbr \u002F>\n– \u003Cstrong>Status Reports\u003C\u002Fstrong>: View active and disabled blocks at a glance.\u003C\u002Fp>\n\u003Ch3>Hooks & Filters\u003C\u002Fh3>\n\u003Cp>Use Block Manager hooks to controls blocks via code and sync options across multiple WordPress environments.\u003C\u002Fp>\n\u003Ch4>gbm_disabled_blocks\u003C\u002Fh4>\n\u003Cp>Use the \u003Ccode>gbm_disabled_blocks\u003C\u002Fcode> hook to remove blocks via backend code.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F\u002F functions.php\nadd_filter( 'gbm_disabled_blocks', function() {\n    return [\n        'core\u002Fbuttons',\n        'core\u002Fcolumns',\n        'core\u002Ffreeform',\n        'core\u002Ftable'\n    ];\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>gbm_disabled_patterns\u003C\u002Fh4>\n\u003Cp>Use the \u003Ccode>gbm_disabled_patterns\u003C\u002Fcode> hook to remove block patterns via backend code.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F\u002F functions.php\nadd_filter( 'gbm_disabled_patterns', function() {\n   return ['gbm\u002Fcore-patterns', 'core\u002Fquery-standard-posts', 'core\u002Fquery-medium-posts'];\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>gbm_block_categories\u003C\u002Fh4>\n\u003Cp>Use the \u003Ccode>gbm_block_categories\u003C\u002Fcode> hook to update block categories via backend code.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F\u002F functions.php\nadd_filter( 'gbm_block_categories', function() {\n    return [\n        [ 'block' => 'core\u002Fhtml', 'cat' => 'design' ],\n        [ 'block' => 'core\u002Fcover', 'cat' => 'design' ],\n        [ 'block' => 'core\u002Fdetails', 'cat' => 'design' ]\n    ];\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>block_manager_user_role\u003C\u002Fh4>\n\u003Cp>Update the minimum user role allowed to access the Block Manager plugin.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F\u002F functions.php\nadd_filter(\n    'block_manager_user_role',\n    'edit_theme_options' \u002F\u002F Default: activate_plugins\n);\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Disable unwanted blocks and patterns, organize blocks by changing categories - complete control over your WordPress Block Editor experience.",4000,86888,98,13,"2026-01-14T16:30:00.000Z","6.9.4","5.0","7.0",[20,21,22,23,24],"block-category","disable-blocks","disable-patterns","remove-blocks","remove-patterns","https:\u002F\u002Fconnekthq.com\u002Fplugins\u002Fblock-manager\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fblock-manager.3.2.0.zip",100,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":13,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"dcooney",9,46910,629,78,"2026-04-04T05:23:13.357Z",[40,64,84,100],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":13,"num_ratings":50,"last_updated":51,"tested_up_to":16,"requires_at_least":52,"requires_php":53,"tags":54,"homepage":59,"download_link":60,"security_score":61,"vuln_count":62,"unpatched_count":28,"last_vuln_date":63,"fetched_at":30},"classic-editor-addon","Classic Editor +","4.4.1","Pieter Bos","https:\u002F\u002Fprofiles.wordpress.org\u002Fsenlin\u002F","\u003Cblockquote>\n\u003Cp>GDPR-compliant: does not collect any user data\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>The free “Classic Editor +” plugin is targeted at everyone who does not want to use the WP Block Editor (Gutenberg), introduced in WordPress 5.0. Install it now on sites and the UX remains the same as you are used to without redundant styling being added to the frontend of your site!\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What’s New:\u003C\u002Fstrong>\u003Cbr \u002F>\nRemoves WP Patterns\u003C\u002Fp>\n\u003Cp>This plugin simply disables the WP Block Editor, removes any and all styling from both front- and backend and disables the block editor for widgets too.\u003C\u002Fp>\n\u003Cp>And if WooCommerce and\u002For WPML are installed on the site, “Classic Editor +” removes the block styles of those plugins too.\u003C\u002Fp>\n\u003Cp>There are no Settings, it simply does what it says on the label.\u003C\u002Fp>\n\u003Cp>Therefore I highly recommend installing this “Classic Editor +” plugin.\u003C\u002Fp>\n\u003Cp>I support this plugin exclusively through \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsenlin\u002Fclassic-editor-addon\u002Fissues\" rel=\"nofollow ugc\">Github\u003C\u002Fa>. Therefore, if you have any questions, need help and\u002For want to make a feature request, please open an issue here. You can also browse through open and closed issues to find what you are looking for and perhaps even help others.\u003C\u002Fp>\n\u003Cp>Thanks for your understanding and cooperation.\u003C\u002Fp>\n\u003Cp>If you like the “Classic Editor +” plugin, please consider leaving a \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fview\u002Fplugin-reviews\u002Fclassic-editor-addon?rate=5#postform\" rel=\"ugc\">review\u003C\u002Fa>. Thanks!\u003C\u002Fp>\n\u003Cp>“Classic Editor +” by \u003Ca href=\"https:\u002F\u002Fso-wp.com\u002Fplugin\u002Fclassic-editor-addon\" rel=\"nofollow ugc\">Pieter Bos\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fgschoppe.com\" rel=\"nofollow ugc\">Greg Schoppe\u003C\u002Fa>.\u003C\u002Fp>\n","The \"Classic Editor +\" plugin disables the block editor, removes enqueued scripts\u002Fstyles and brings back classic Widgets.",50000,640327,31,"2026-01-12T05:38:00.000Z","4.9","5.6",[55,56,57,58,24],"classic-editor","classic-widgets","remove-frontend-scripts","remove-frontend-styling","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fclassic-editor-addon.4.4.1.zip",99,1,"2022-01-24 00:00:00",{"slug":65,"name":66,"version":67,"author":68,"author_profile":69,"description":70,"short_description":71,"active_installs":11,"downloaded":72,"rating":73,"num_ratings":74,"last_updated":75,"tested_up_to":76,"requires_at_least":17,"requires_php":59,"tags":77,"homepage":81,"download_link":82,"security_score":83,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"disable-gutenberg-blocks","Disable Gutenberg Blocks – Block Manager","1.0.9","DannyCooper","https:\u002F\u002Fprofiles.wordpress.org\u002Fdannycooper\u002F","\u003Cp>The Gutenberg Block inserter can quickly become cluttered. There are currently over 200 free blocks available, in addition to the 34 core blocks. This plugin allows you to disable the blocks you or your clients don’t need.\u003C\u002Fp>\n\u003Ch3>TODO\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Add search function to the block list.\u003C\u002Fli>\n\u003Cli>Add ‘enabled\u002Fdisabled’ filter to block list.\u003C\u002Fli>\n\u003Cli>Add ‘Block Author’ filter to block list.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Missing Blocks\u003C\u002Fh3>\n\u003Cp>If you find a block you can’t disable using this plugin, please create a \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fdisable-gutenberg-blocks\" rel=\"ugc\">support thread\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Supports\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Core Blocks\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadvanced-gutenberg-blocks\u002F\" rel=\"ugc\">Advanced Gutenberg Blocks\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fatomic-blocks\" rel=\"ugc\">Atomic blocks\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fblock-gallery\u002F\" rel=\"ugc\">Block Gallery\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbokez-awesome-gutenberg-blocks\u002F\" rel=\"ugc\">Bokez\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcaxton\u002F\" rel=\"ugc\">Caxton\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcoblocks\u002F\" rel=\"ugc\">CoBlocks\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Feditor-blocks\u002F\" rel=\"ugc\">Editor Blocks\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fjetpack\u002F\" rel=\"ugc\">Jetpack Blocks\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fghostkit\u002F\" rel=\"ugc\">GhostKit\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fkadence-blocks\u002F\" rel=\"ugc\">Kadence Blocks\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsecure-blocks-for-gutenberg\u002F\" rel=\"ugc\">Secure Blocks\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fstag-blocks\u002F\" rel=\"ugc\">StagBlocks\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fstackable-ultimate-gutenberg-blocks\u002F\" rel=\"ugc\">Stackable Ultimate Gutenberg Blocks\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fotter-blocks\" rel=\"ugc\">Otter Blocks\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fthemeisle-companion\u002F\" rel=\"ugc\">Orbit Fox by ThemeIsle\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-gutenberg-products-block\u002F\" rel=\"ugc\">WooCommerce Product Block\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwpforms-lite\u002F\" rel=\"ugc\">WPForms Blocks\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Frecipe-card-blocks-by-wpzoom\u002F\" rel=\"ugc\">Recipe Card Blocks by WPZOOM\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwordpress-seo\" rel=\"ugc\">Yoast Blocks\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Remove unwanted blocks from the Gutenberg Block Inserter.",63977,88,7,"2021-10-26T08:29:00.000Z","5.8.13",[78,21,65,79,80],"blocks","gutenberg","manage-blocks","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdisable-gutenberg-blocks\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisable-gutenberg-blocks.zip",85,{"slug":85,"name":86,"version":87,"author":88,"author_profile":89,"description":90,"short_description":91,"active_installs":28,"downloaded":92,"rating":28,"num_ratings":28,"last_updated":93,"tested_up_to":16,"requires_at_least":94,"requires_php":95,"tags":96,"homepage":98,"download_link":99,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"caledros-helper","Caledros Helper","1.0.0","David Arnado","https:\u002F\u002Fprofiles.wordpress.org\u002Fdarnado\u002F","\u003Cp>This plugin creates a custom Admin Menu with two checkboxes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>The first checkbox allows the user to remove the core block patterns from the Gutenberg editor. This feature can be activated or deactivated.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>The second checkbox allows the user to deactivate the WordPress REST API for non-authenticated users. This feature can be activated or deactivated.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>After plugin activation, both options will be disabled by default.\u003C\u002Fp>\n","Adds an Admin Menu that allows removing the default block patterns. It also allows deactivating the WordPress REST API for non-authenticated users.",277,"2025-12-14T16:59:00.000Z","6.8","8.3",[22,97],"disable-rest-api","https:\u002F\u002Fcaledrosforge.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcaledros-helper.1.0.0.zip",{"slug":101,"name":102,"version":103,"author":104,"author_profile":105,"description":106,"short_description":107,"active_installs":28,"downloaded":108,"rating":28,"num_ratings":28,"last_updated":109,"tested_up_to":110,"requires_at_least":17,"requires_php":18,"tags":111,"homepage":115,"download_link":116,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"daisy-disable-blocks","Daisy Disable Blocks — Disable Gutenberg, Enable Classic Editor, Disable Block Editor","1.0.7","DaisyPlugins","https:\u002F\u002Fprofiles.wordpress.org\u002Fdaisyplugins\u002F","\u003Cp>Daisy Disable Blocks is the ultimate solution for WordPress users who prefer the classic editing experience. This plugin allows you to:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Completely disable Gutenberg block editor\u003C\u002Fli>\n\u003Cli>Restore the classic TinyMCE editor\u003C\u002Fli>\n\u003Cli>Bring back traditional meta boxes\u003C\u002Fli>\n\u003Cli>Disable block widgets and patterns\u003C\u002Fli>\n\u003Cli>Control fullscreen mode\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>With an intuitive, colorful interface, you can easily toggle these features on\u002Foff with simple switches.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cp>✔ Disable Gutenberg block editor completely\u003Cbr \u002F>\n✔ Restore classic TinyMCE editor\u003Cbr \u002F>\n✔ Bring back traditional meta boxes\u003Cbr \u002F>\n✔ Disable block widgets screen\u003Cbr \u002F>\n✔ Remove block patterns\u003Cbr \u002F>\n✔ Control editor fullscreen mode\u003Cbr \u002F>\n✔ Responsive, user-friendly interface\u003Cbr \u002F>\n✔ 100% free with no upsells\u003C\u002Fp>\n\u003Ch3>Additional Information\u003C\u002Fh3>\n\u003Cp>For support, feature requests, or bug reports, please visit the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fdaisy-disable-blocks\u002F\" rel=\"ugc\">WordPress support forum\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>If you enjoy this plugin, please consider \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fdaisy-disable-blocks\u002Freviews\u002F#new-post\" rel=\"ugc\">leaving a review\u003C\u002Fa>. Your feedback helps improve the plugin!\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>Developed with ❤ by \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fdaisyplugins\u002F\" rel=\"nofollow ugc\">DaisyPlugins\u003C\u002Fa>\u003C\u002Fp>\n","Disable Gutenberg Blocks and restore the Classic Editor with a simple toggle.",454,"2025-08-29T01:30:00.000Z","6.8.5",[55,112,21,113,114],"disable-block-editor","disable-gutenberg","enable-classic-editor","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdaisy-disable-blocks\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdaisy-disable-blocks.1.0.7.zip",{"attackSurface":118,"codeSignals":190,"taintFlows":205,"riskAssessment":206,"analyzedAt":221},{"hooks":119,"ajaxHandlers":177,"restRoutes":186,"shortcodes":187,"cronEvents":188,"entryPointCount":189,"unprotectedCount":28},[120,125,127,129,131,133,135,137,139,143,147,152,156,161,166,169,173],{"type":121,"name":122,"callback":123,"file":124,"line":34},"action","rest_api_init","closure","api\\blocks-reset.php",{"type":121,"name":122,"callback":123,"file":126,"line":34},"api\\blocks-toggle.php",{"type":121,"name":122,"callback":123,"file":128,"line":34},"api\\bulk-process.php",{"type":121,"name":122,"callback":123,"file":130,"line":34},"api\\category-reset.php",{"type":121,"name":122,"callback":123,"file":132,"line":34},"api\\category-update.php",{"type":121,"name":122,"callback":123,"file":134,"line":34},"api\\export.php",{"type":121,"name":122,"callback":123,"file":136,"line":34},"api\\patterns-reset.php",{"type":121,"name":122,"callback":123,"file":138,"line":34},"api\\patterns-toggle.php",{"type":121,"name":140,"callback":140,"file":141,"line":142},"enqueue_block_editor_assets","block-manager.php",67,{"type":121,"name":144,"callback":145,"priority":27,"file":141,"line":146},"plugins_loaded","gbm_init",156,{"type":121,"name":148,"callback":149,"file":150,"line":151},"admin_menu","gbm_register_sub_menu","classes\\class-admin.php",23,{"type":121,"name":153,"callback":154,"file":150,"line":155},"admin_enqueue_scripts","gbm_admin_enqueue",24,{"type":157,"name":158,"callback":159,"file":150,"line":160},"filter","admin_footer_text","gbm_filter_admin_footer_text",26,{"type":121,"name":162,"callback":163,"file":164,"line":165},"init","gbm_unregister_patterns","classes\\class-patterns.php",22,{"type":121,"name":167,"callback":168,"file":164,"line":151},"after_setup_theme","gbm_remove_core_patterns",{"type":157,"name":170,"callback":171,"file":164,"line":172},"should_load_remote_block_patterns","__return_false",27,{"type":121,"name":174,"callback":174,"file":175,"line":176},"cnkt_installer_enqueue_scripts","includes\\connekt-plugin-installer\\class-connekt-plugin-installer.php",38,[178,183],{"action":179,"nopriv":180,"callback":179,"hasNonce":181,"hasCapCheck":181,"file":175,"line":182},"cnkt_plugin_installer",false,true,39,{"action":184,"nopriv":180,"callback":184,"hasNonce":181,"hasCapCheck":181,"file":175,"line":185},"cnkt_plugin_activation",40,[],[],[],2,{"dangerousFunctions":191,"sqlUsage":192,"outputEscaping":194,"fileOperations":28,"externalRequests":28,"nonceChecks":189,"capabilityChecks":203,"bundledLibraries":204},[],{"prepared":28,"raw":28,"locations":193},[],{"escaped":195,"rawEcho":196,"locations":197},32,3,[198,201,202],{"file":175,"line":199,"context":200},132,"raw output",{"file":175,"line":199,"context":200},{"file":175,"line":199,"context":200},11,[],[],{"summary":207,"deductions":208},"The \"block-manager\" v3.2.0 plugin exhibits a generally strong security posture based on the provided static analysis. It demonstrates good development practices by utilizing prepared statements for all SQL queries, having a high percentage of properly escaped output, and implementing nonce and capability checks on its entry points. The absence of file operations, external HTTP requests, and bundled libraries further reduces potential attack vectors. The plugin's vulnerability history is also clean, with no known CVEs recorded, indicating a history of secure development or timely patching.\n\nHowever, the analysis does highlight a potential area for scrutiny. While there are no unprotected AJAX handlers or REST API routes, the existence of two AJAX handlers without specific detail on their permission callbacks warrants careful consideration. Although the initial scan indicates no unprotected entry points, a deeper dive into the implementation of these AJAX handlers would be prudent to ensure that granular permissions are robustly enforced and not dependent solely on general WordPress user roles. The lack of taint analysis results, while not a direct negative, suggests that either the analysis tool did not find any relevant flows or the code structure does not lend itself to such analysis, which is not a security flaw in itself but limits the depth of static security assessment in this regard.\n\nIn conclusion, \"block-manager\" v3.2.0 appears to be a well-secured plugin with robust coding practices and a clean vulnerability record. The primary area of focus for continued security diligence would be a thorough review of the two identified AJAX handlers to confirm the absolute absence of privilege escalation or unauthorized data access vulnerabilities. The plugin's strengths lie in its secure data handling and access control mechanisms.",[209,211,213,215,217,219],{"reason":210,"points":62},"2 AJAX handlers, 0 without auth checks",{"reason":212,"points":62},"11 Capability checks",{"reason":214,"points":62},"2 Nonce checks",{"reason":216,"points":62},"91% Properly escaped output",{"reason":218,"points":62},"100% SQL using prepared statements",{"reason":220,"points":62},"0 Known CVEs","2026-03-16T18:12:14.725Z",{"wat":223,"direct":234},{"assetPaths":224,"generatorPatterns":228,"scriptPaths":229,"versionParams":230},[225,226,227],"\u002Fwp-content\u002Fplugins\u002Fblock-manager\u002Fbuild\u002Fblock-manager.js","\u002Fwp-content\u002Fplugins\u002Fblock-manager\u002Fbuild\u002Fstyle-block-manager-admin.css","\u002Fwp-content\u002Fplugins\u002Fblock-manager\u002Fbuild\u002Fblock-manager-admin.js",[],[225,227],[231,232,233],"block-manager\u002Fbuild\u002Fblock-manager.js?ver=","block-manager\u002Fbuild\u002Fstyle-block-manager-admin.css?ver=","block-manager\u002Fbuild\u002Fblock-manager-admin.js?ver=",{"cssClasses":235,"htmlComments":237,"htmlAttributes":238,"restEndpoints":240,"jsGlobals":249,"shortcodeOutput":252},[236],"block-manager-admin-wrap",[],[239],"data-gutenberg-block-manager",[241,242,243,244,245,246,247,248],"\u002Fwp-json\u002Fblock-manager\u002Fv1\u002Fblocks-toggle","\u002Fwp-json\u002Fblock-manager\u002Fv1\u002Fblocks-reset","\u002Fwp-json\u002Fblock-manager\u002Fv1\u002Fcategory-reset","\u002Fwp-json\u002Fblock-manager\u002Fv1\u002Fcategory-update","\u002Fwp-json\u002Fblock-manager\u002Fv1\u002Fpatterns-toggle","\u002Fwp-json\u002Fblock-manager\u002Fv1\u002Fpatterns-reset","\u002Fwp-json\u002Fblock-manager\u002Fv1\u002Fbulk-process","\u002Fwp-json\u002Fblock-manager\u002Fv1\u002Fexport",[250,251],"gutenberg_block_manager","gbm_localize",[]]