[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f2Qpa-dHL_xleBlrdvrJNor0vVfZHeashvoAoFWI0ksU":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":146,"fingerprints":304},"force-reinstall","Force Reinstall","1.1.11","Richard Muvirimi","https:\u002F\u002Fprofiles.wordpress.org\u002Ftygalive\u002F","\u003Cp>The Force Reinstall plugin is a useful tool for when you need to reinstall a plugin or theme on your WordPress site. Whether you’ve experienced a broken update, suspect your plugins may have been affected by malware, or simply need to reset changes you’ve made to a plugin, this plugin can help.\u003C\u002Fp>\n\u003Cp>With just one click, Force Reinstall sets the plugin or theme as needing an update, which forces WordPress to reinstall the plugin or theme. This is only a temporary setting and will be reset when you visit the updates page or update a single plugin or theme. You don’t have to worry about any plugin or theme files being manipulated.\u003C\u002Fp>\n\u003Cp>Give the Force Reinstall plugin a try and enjoy the peace of mind that comes with knowing your plugins and themes are intact and up to date.\u003C\u002Fp>\n\u003Cp>This plugin also includes non-intrusive ads (shown only in the backend) that help support the ongoing development and maintenance of the plugin. Please see our privacy policy for information on data collection.\u003C\u002Fp>\n","Easily force a Plugin or Theme reinstall from WordPress.org",2000,30058,88,14,"2025-12-26T20:45:00.000Z","6.9.4","4.0","",[20,21,22,23,24],"corrupted","fix","install","theme","update","https:\u002F\u002Fgithub.com\u002Frichard-muvirimi\u002Fwp-plugin-force-reinstall","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fforce-reinstall.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":27,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"tygalive",2,4000,30,94,"2026-04-05T01:52:04.052Z",[40,60,82,105,126],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":37,"num_ratings":50,"last_updated":51,"tested_up_to":52,"requires_at_least":53,"requires_php":18,"tags":54,"homepage":57,"download_link":58,"security_score":59,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"easy-theme-and-plugin-upgrades","Easy Theme and Plugin Upgrades","2.0.2","Chris Jean","https:\u002F\u002Fprofiles.wordpress.org\u002Fchrisjean\u002F","\u003Cp>WordPress has a built-in feature to install themes and plugins by supplying a zip file. Unfortunately, you cannot upgrade a theme or plugin using the same process. Instead, WordPress will say “destination already exists” when trying to upgrade using a zip file and will fail to upgrade the theme or plugin.\u003C\u002Fp>\n\u003Cp>Easy Theme and Plugin Upgrades fixes this limitation in WordPress by automatically upgrading the theme or plugin if it already exists.\u003C\u002Fp>\n\u003Cp>While upgrading, a backup copy of the old theme or plugin is first created. This allows you to install the old version in case of problems with the new version.\u003C\u002Fp>\n\u003Cp>Attention: Version 2.0.0 changed the functionality of the plugin. You are no longer required to select “Yes” from a drop down before the theme or plugin can be upgraded. The need for an upgrade is now detected automatically. So, if you are used to the old functionality of the plugin, do not be concerned about the absence of upgrade details on the theme and plugin upload pages. Simply upload the theme or plugin as if you were installing it, and the plugin will automatically handle upgrading as needed.\u003C\u002Fp>\n","Easily upgrade your themes and plugins using zip files without removing the theme or plugin first.",70000,1436562,117,"2022-04-20T03:40:00.000Z","5.7.15","4.4",[23,24,55,56],"upgrade","upload","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Feasy-theme-and-plugin-upgrades\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasy-theme-and-plugin-upgrades.2.0.2.zip",85,{"slug":61,"name":62,"version":63,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":68,"downloaded":69,"rating":37,"num_ratings":70,"last_updated":71,"tested_up_to":72,"requires_at_least":73,"requires_php":18,"tags":74,"homepage":80,"download_link":81,"security_score":59,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"automatic-updater","Advanced Automatic Updates","1.0.2","Gary Pendergast","https:\u002F\u002Fprofiles.wordpress.org\u002Fpento\u002F","\u003Cp>Advanced Automatic Updates adds extra options to WordPress’ built-in Automatic Updates feature. On top of security updates, it also supports installing major releases, plugins, themes, or even regular SVN checkouts!\u003C\u002Fp>\n\u003Cp>If you’re working on a WordPress Multisite install, it will properly restrict the options page to your Network Admin.\u003C\u002Fp>\n\u003Cp>While this will be useful for the vast majority of sites, please exercise caution, particularly if you have any custom themes or plugins running on your site.\u003C\u002Fp>\n","Adds extra options to WordPress' built-in Automatic Updates feature.",30000,255107,61,"2021-06-04T00:46:00.000Z","5.0.25","3.7",[75,76,77,78,79],"core","plugins","stable","themes","updates","http:\u002F\u002Fpento.net\u002Fprojects\u002Fautomatic-updater-for-wordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fautomatic-updater.1.0.2.zip",{"slug":83,"name":84,"version":85,"author":86,"author_profile":87,"description":88,"short_description":89,"active_installs":68,"downloaded":90,"rating":91,"num_ratings":92,"last_updated":93,"tested_up_to":94,"requires_at_least":95,"requires_php":96,"tags":97,"homepage":102,"download_link":103,"security_score":104,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"disable-auto-update-email-notifications","Disable auto-update Email Notifications","1.5.0","Elvis Nyakangi","https:\u002F\u002Fprofiles.wordpress.org\u002Felvis89\u002F","\u003Cp>Since WordPress 5.5, if you have enabled plugin or theme auto-update you will receive an email notification when a plugin or them auto-update is successful or when it has failed.\u003C\u002Fp>\n\u003Cp>If you manage a dozen of websites, then the constant stream of auto-update emails may be annoying.\u003C\u002Fp>\n\u003Cp>This plugin seeks to cure the problem by automatically disabling plugin and themes email auto-update notifications.\u003C\u002Fp>\n\u003Cp>All other notification will be ON. This plugin only stops plugin and theme auto-update notifications. Not core WordPress updates.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>More about the Plugin\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>This is a lightweight plugin that is less than 2 kb and has zero effect on your website load speed  \u003C\u002Fli>\n\u003Cli>No settings are required. Just install the plugin, activate, and you are done. . \u003C\u002Fli>\n\u003Cli>It is compatible with the latest version of WordPress. \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>We create simple and lightweight email tools that work without much settings. Check our \u003Ca href=\"https:\u002F\u002Fgutoz.com\" rel=\"nofollow ugc\">simple email tools\u003C\u002Fa> that you can use for email marketing.\u003C\u002Fp>\n","This plugin performs a simple task of disabling email notifications that are sent by WordPress when a plugin or theme auto-updates.",187452,90,15,"2025-01-21T15:43:00.000Z","6.7.5","5.5","5.6",[98,99,100,101,23],"auto-update","disable","email","notification","https:\u002F\u002Fgutoz.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisable-auto-update-email-notifications.1.5.0.zip",92,{"slug":106,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":113,"downloaded":114,"rating":115,"num_ratings":116,"last_updated":117,"tested_up_to":118,"requires_at_least":119,"requires_php":120,"tags":121,"homepage":124,"download_link":125,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"disable-wordpress-updates","Disable All WordPress Updates","1.9.1","wpseek","https:\u002F\u002Fprofiles.wordpress.org\u002Falphawolf\u002F","\u003Cp>This plugin completely disables the theme, plugin and core update checking system in WordPress. The plugin prevents WordPress from\u003Cbr \u002F>\nchecking for updates including cronjobs, and prevents any notifications from being displayed.\u003C\u002Fp>\n\u003Cp>It’s \u003Cem>very\u003C\u002Fem> important that you keep your WordPress theme, core and plugins up to date! If you don’t, your blog or website could\u003Cbr \u002F>\nbe \u003Cstrong>susceptible to security vulnerabilities\u003C\u002Fstrong> or performance issues.\u003C\u002Fp>\n\u003Cp>If you use this plugin, make sure you keep yourself up to date with new releases of your active WordPress version, plugins\u003Cbr \u002F>\nand themes and update them as new versions are released (simply by deactivating this plugin for a short time).\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fx.com\u002Fwpseek\" title=\"Developer on X\" rel=\"nofollow ugc\">Developer on X\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fbsky.app\u002Fprofile\u002Fcyberblitzbirne.bsky.social\" title=\"Developer on Bluesky\" rel=\"nofollow ugc\">Developer on Bluesky\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Looking for more WordPress plugins? Visit \u003Ca href=\"https:\u002F\u002Fwww.schloebe.de\u002Fportfolio\u002F\" rel=\"nofollow ugc\">www.schloebe.de\u002Fportfolio\u002F\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n","Disables the theme, plugin and core update checking, the related cronjobs, plugin\u002Ftheme update health checks and notification system.",20000,843364,96,68,"2026-02-15T13:23:00.000Z","6.9.99","3.8","7.4",[122,23,24,123],"disable-updates","update-control","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdisable-wordpress-updates\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisable-wordpress-updates.zip",{"slug":127,"name":128,"version":129,"author":130,"author_profile":131,"description":132,"short_description":133,"active_installs":134,"downloaded":135,"rating":27,"num_ratings":136,"last_updated":137,"tested_up_to":138,"requires_at_least":95,"requires_php":139,"tags":140,"homepage":144,"download_link":145,"security_score":59,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"disable-theme-and-plugin-auto-update-emails","Disable Theme and Plugin Auto-Update Emails","2.0.5","KZeni","https:\u002F\u002Fprofiles.wordpress.org\u002Fkzeni\u002F","\u003Cp>Disables the default notification emails sent by a site after an automatic theme and\u002For plugin update. Simply activate the plugin to disable these email notifications (allows failure notices through unless setting is enabled to disable these as well).\u003C\u002Fp>\n\u003Cp>This is a simple & lightweight plugin that simply uses the official filters made available as of WordPress 5.5 to disable these email notifications upon activation. It does let update failure notifications through by default, but the Settings => General page has a setting to disable these as well.\u003C\u002Fp>\n\u003Cp>Check things out on GitHub at \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FKZeni\u002FDisable-WordPress-Theme-and-Plugin-Auto-Update-Emails\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002FKZeni\u002FDisable-WordPress-Theme-and-Plugin-Auto-Update-Emails\u003C\u002Fa>\u003C\u002Fp>\n","Disables the default notification emails sent by a site after an automatic theme and\u002For plugin update. Simply activate the plugin to disable these ema &hellip;",10000,112263,10,"2023-10-24T21:49:00.000Z","6.4.8","5.4",[100,141,142,143,79],"notifications","plugin-update","theme-update","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdisable-theme-and-plugin-auto-update-emails\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisable-theme-and-plugin-auto-update-emails.2.0.5.zip",{"attackSurface":147,"codeSignals":183,"taintFlows":263,"riskAssessment":290,"analyzedAt":303},{"hooks":148,"ajaxHandlers":179,"restRoutes":180,"shortcodes":181,"cronEvents":182,"entryPointCount":28,"unprotectedCount":28},[149,155,158,161,163,167,170,173,176],{"type":150,"name":151,"callback":152,"file":153,"line":154},"action","plugins_loaded","anonymous","src\\ForceReinstall.php",115,{"type":150,"name":156,"callback":152,"file":153,"line":157},"admin_menu",129,{"type":150,"name":159,"callback":152,"file":153,"line":160},"admin_enqueue_scripts",131,{"type":150,"name":159,"callback":152,"file":153,"line":162},132,{"type":164,"name":165,"callback":152,"file":153,"line":166},"filter","plugin_action_links",134,{"type":164,"name":168,"callback":152,"file":153,"line":169},"admin_notices",136,{"type":164,"name":171,"callback":152,"file":153,"line":172},"bulk_actions-plugins",140,{"type":164,"name":174,"callback":152,"file":153,"line":175},"handle_bulk_actions-plugins",141,{"type":164,"name":177,"callback":152,"file":153,"line":178},"admin_init",143,[],[],[],[],{"dangerousFunctions":184,"sqlUsage":206,"outputEscaping":208,"fileOperations":209,"externalRequests":257,"nonceChecks":258,"capabilityChecks":28,"bundledLibraries":259},[185,189,192,195,198,200,203],{"fn":186,"file":153,"line":187,"context":188},"assert",195,"assert(count($arguments) >= 2, new BadMethodCallException('You need to provide at least two argument",{"fn":186,"file":153,"line":190,"context":191},204,"assert(file_exists($file), new BadMethodCallException('Please provide a valid file path for ' . $nam",{"fn":186,"file":153,"line":193,"context":194},215,"assert(is_callable($callable, true), new BadMethodCallException('Please provide a callable function ",{"fn":186,"file":153,"line":196,"context":197},225,"assert(is_string($hook), new BadMethodCallException('Please provide the name of the hook for ' . $na",{"fn":186,"file":153,"line":199,"context":194},236,{"fn":186,"file":153,"line":201,"context":202},244,"assert(is_numeric($priority), new BadMethodCallException('Priority should be numeric for ' . $name))",{"fn":186,"file":153,"line":204,"context":205},252,"assert(is_numeric($args), new BadMethodCallException('Number of arguments should be numeric for ' . ",{"prepared":28,"raw":28,"locations":207},[],{"escaped":209,"rawEcho":210,"locations":211},3,22,[212,215,217,218,220,221,224,226,228,230,232,235,237,239,241,243,245,247,249,251,253,255],{"file":213,"line":104,"context":214},"bump-version.php","raw output",{"file":213,"line":216,"context":214},123,{"file":213,"line":160,"context":214},{"file":213,"line":219,"context":214},137,{"file":213,"line":175,"context":214},{"file":222,"line":223,"context":214},"src\\Controller\\Admin.php",269,{"file":222,"line":225,"context":214},278,{"file":222,"line":227,"context":214},335,{"file":222,"line":229,"context":214},351,{"file":222,"line":231,"context":214},396,{"file":233,"line":234,"context":214},"src\\Views\\admin-about.php",29,{"file":233,"line":236,"context":214},32,{"file":233,"line":238,"context":214},33,{"file":233,"line":240,"context":214},36,{"file":233,"line":242,"context":214},37,{"file":233,"line":244,"context":214},41,{"file":233,"line":246,"context":214},44,{"file":233,"line":248,"context":214},56,{"file":233,"line":250,"context":214},58,{"file":233,"line":252,"context":214},60,{"file":233,"line":254,"context":214},64,{"file":233,"line":256,"context":214},73,1,7,[260],{"name":261,"version":29,"knownCves":262},"Guzzle",[],[264,282],{"entryPoint":265,"graph":266,"unsanitizedCount":28,"severity":281},"handle_action (src\\Controller\\Admin.php:144)",{"nodes":267,"edges":278},[268,273],{"id":269,"type":270,"label":271,"file":222,"line":272},"n0","source","$_SERVER['REQUEST_URI']",160,{"id":274,"type":275,"label":276,"file":222,"line":272,"wp_function":277},"n1","sink","wp_redirect() [Open Redirect]","wp_redirect",[279],{"from":269,"to":274,"sanitized":280},true,"low",{"entryPoint":283,"graph":284,"unsanitizedCount":28,"severity":281},"\u003CAdmin> (src\\Controller\\Admin.php:0)",{"nodes":285,"edges":288},[286,287],{"id":269,"type":270,"label":271,"file":222,"line":272},{"id":274,"type":275,"label":276,"file":222,"line":272,"wp_function":277},[289],{"from":269,"to":274,"sanitized":280},{"summary":291,"deductions":292},"The 'force-reinstall' plugin v1.1.11 exhibits a mixed security posture. On the positive side, it demonstrates strong security hygiene in several key areas. The absence of any known CVEs and a clean vulnerability history suggests a history of secure development or proactive patching by the developers. Furthermore, all SQL queries are properly prepared, and there are a sufficient number of nonce checks, indicating an awareness of common attack vectors. The attack surface is also commendably small, with no exposed AJAX handlers, REST API routes, shortcodes, or cron events that lack authentication or proper authorization checks.\n\nHowever, several concerns warrant attention. The presence of seven 'dangerous functions' like 'assert' is a significant red flag. While the static analysis didn't detect immediate taint flows utilizing these functions, their mere presence introduces a potential backdoor for attackers if not carefully managed or if future versions introduce vulnerabilities. The low rate of properly escaped output (12%) is another critical weakness. This could lead to cross-site scripting (XSS) vulnerabilities if user-supplied data is rendered directly into the HTML without proper sanitization.\n\nIn conclusion, while the plugin benefits from a lack of known vulnerabilities and a contained attack surface, the use of dangerous functions and inadequate output escaping represent significant, albeit latent, risks. The developers have a solid foundation in preventing common web attacks like SQL injection, but the code quality regarding output sanitization and the inclusion of potentially risky functions needs improvement to achieve a robust security posture. The absence of capability checks is also a notable omission, suggesting that even protected entry points might not enforce granular user permissions.",[293,295,298,301],{"reason":294,"points":136},"Dangerous functions used (assert)",{"reason":296,"points":297},"Low rate of properly escaped output",8,{"reason":299,"points":300},"No capability checks",5,{"reason":302,"points":209},"Bundled library (Guzzle) may be outdated","2026-03-16T18:39:12.221Z",{"wat":305,"direct":318},{"assetPaths":306,"generatorPatterns":311,"scriptPaths":312,"versionParams":313},[307,308,309,310],"\u002Fwp-content\u002Fplugins\u002Fforce-reinstall\u002Fadmin-rating.css","\u002Fwp-content\u002Fplugins\u002Fforce-reinstall\u002Fadmin-about.css","\u002Fwp-content\u002Fplugins\u002Fforce-reinstall\u002Fadmin-reinstall-themes.js","\u002Fwp-content\u002Fplugins\u002Fforce-reinstall\u002Fadmin-rating.js",[],[309,310],[314,315,316,317],"force-reinstall\u002Fadmin-rating.css?ver=","force-reinstall\u002Fadmin-about.css?ver=","force-reinstall\u002Fadmin-reinstall-themes.js?ver=","force-reinstall\u002Fadmin-rating.js?ver=",{"cssClasses":319,"htmlComments":320,"htmlAttributes":325,"restEndpoints":328,"jsGlobals":329,"shortcodeOutput":331},[4],[321,322,323,324],"Would have loved a hook much like plugins but guess will have to add through javascript","tried \"plugin_action_links\" but could not be found on the front end","But then again...","https:\u002F\u002Fdeveloper.wordpress.org\u002Freference\u002Fhooks\u002Fhandle_bulk_actions-screen\u002F",[326,327],"force-reinstall-nonce","force-reinstall-target",[],[330],"force_reinstall",[]]