[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fUqS_1Z0bkF2YXLK83ZwotiZ5qoHih_gDvpVcRSrgvcE":3,"$fiGgLIkp0JUaEg5vlQ5oKE7WaBQNnFigm2OkEwI8VD_Q":188,"$fCudJq90RbKPhGqxrMb7kj3oyywWfGJknnuFif20K2sE":192},{"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":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"discovery_status":30,"vulnerabilities":31,"developer":32,"crawl_stats":28,"alternatives":39,"analysis":61,"fingerprints":173},"fresh-plugins","Fresh Plugins","3.3","WP Fix It - WordPress Experts","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpfixit\u002F","\u003Cp>Fresh Plugins is a simple plugin to allow plugins re-installation of plugins.  Use this plugin to install a fresh copy of any plugins that are on your site from the WordPress.org plugin repo.  The plugin installed will be the newest version of the plugin and will delete and replace your current version.\u003C\u002Fp>\n","Easily reinstall fresh and new versions of plugins on your site from WordPress.org with a simple click.",300,10749,80,4,"2025-06-02T20:33:00.000Z","6.8.5","5.0","",[20,21,22,23],"clean-infection","force-install","infection-removal","reinstall","https:\u002F\u002Fwww.wpfixit.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffresh-plugins.3.3.zip",100,0,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":26,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"wpfixit",10,8650,30,94,"2026-05-19T23:27:30.680Z",[40],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":26,"num_ratings":50,"last_updated":51,"tested_up_to":52,"requires_at_least":53,"requires_php":18,"tags":54,"homepage":58,"download_link":59,"security_score":60,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"plugin-reinstaller","Plugin Reinstaller","1.1","Hiroaki Miyashita","https:\u002F\u002Fprofiles.wordpress.org\u002Fhiroaki-miyashita\u002F","\u003Cp>The Plugin Reinstaller plugin enables the bulk plugin reinstall. Just activate the plugin and select \u003Ccode>Update\u003C\u002Fcode> > \u003Ccode>Bulk Actions\u003C\u002Fcode>. Deactivate the plugin if you do not use.\u003C\u002Fp>\n\u003Ch3>Uninstall\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Deactivate the plugin\u003C\u002Fli>\n\u003Cli>That’s it! 🙂\u003C\u002Fli>\n\u003C\u002Fol>\n","The Plugin Reinstaller plugin enables the bulk plugin reinstall.",20,2228,1,"2013-07-10T13:24:00.000Z","3.6.1","3.1",[55,23,56,57],"install","update","upgrade","http:\u002F\u002Fwpgogo.com\u002Fdevelopment\u002Fplugin-reinstaller.html","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fplugin-reinstaller.1.1.zip",85,{"attackSurface":62,"codeSignals":124,"taintFlows":137,"riskAssessment":166,"analyzedAt":172},{"hooks":63,"ajaxHandlers":120,"restRoutes":121,"shortcodes":122,"cronEvents":123,"entryPointCount":27,"unprotectedCount":27},[64,70,75,79,82,86,91,95,98,102,106,110,113,117],{"type":65,"name":66,"callback":67,"file":68,"line":69},"action","admin_menu","rfc_add_admin_menu","admin\\admin-menu.php",12,{"type":65,"name":71,"callback":72,"file":73,"line":74},"admin_init","rfc_bulk_install_fresh_plugins","admin\\bulk-action-handler.php",51,{"type":65,"name":76,"callback":77,"file":73,"line":78},"admin_footer","rfc_enqueue_loader_scripts",120,{"type":65,"name":76,"callback":80,"file":73,"line":81},"rfc_add_loader_overlay",135,{"type":65,"name":71,"callback":83,"file":84,"line":85},"rfc_include_plugin_api","fresh-plugins.php",55,{"type":87,"name":88,"callback":89,"priority":34,"file":84,"line":90},"filter","plugin_action_links","rfc_add_reinstall_link",87,{"type":87,"name":92,"callback":93,"file":84,"line":94},"plugin_action_links_fresh-plugins\u002Ffresh-plugins.php","rfc_add_bulk_refresh_link",107,{"type":65,"name":71,"callback":96,"file":84,"line":97},"rfc_handle_reinstall_plugin",197,{"type":87,"name":99,"callback":100,"file":84,"line":101},"bulk_actions-plugins","rfc_bulk_actions_plugins",209,{"type":87,"name":103,"callback":104,"priority":34,"file":84,"line":105},"handle_bulk_actions-plugins","rfc_handle_bulk_install_fresh",287,{"type":65,"name":107,"callback":108,"file":84,"line":109},"admin_notices","rfc_show_reinstall_message",301,{"type":65,"name":107,"callback":111,"file":84,"line":112},"rfc_bulk_reinstall_notice",315,{"type":65,"name":114,"callback":115,"file":84,"line":116},"admin_enqueue_scripts","rfc_enqueue_loader_assets",489,{"type":65,"name":71,"callback":118,"file":84,"line":119},"rfc_maybe_redirect_after_activation",516,[],[],[],[],{"dangerousFunctions":125,"sqlUsage":126,"outputEscaping":128,"fileOperations":27,"externalRequests":27,"nonceChecks":135,"capabilityChecks":27,"bundledLibraries":136},[],{"prepared":27,"raw":27,"locations":127},[],{"escaped":129,"rawEcho":50,"locations":130},32,[131],{"file":132,"line":133,"context":134},"admin\\admin-settings-page.php",141,"raw output",2,[],[138,156],{"entryPoint":139,"graph":140,"unsanitizedCount":50,"severity":155},"rfc_show_reinstall_message (fresh-plugins.php:291)",{"nodes":141,"edges":152},[142,147],{"id":143,"type":144,"label":145,"file":84,"line":146},"n0","source","$_GET['reinstalled_name']",295,{"id":148,"type":149,"label":150,"file":84,"line":146,"wp_function":151},"n1","sink","echo() [XSS]","echo",[153],{"from":143,"to":148,"sanitized":154},false,"medium",{"entryPoint":157,"graph":158,"unsanitizedCount":27,"severity":165},"\u003Cfresh-plugins> (fresh-plugins.php:0)",{"nodes":159,"edges":162},[160,161],{"id":143,"type":144,"label":145,"file":84,"line":146},{"id":148,"type":149,"label":150,"file":84,"line":146,"wp_function":151},[163],{"from":143,"to":148,"sanitized":164},true,"low",{"summary":167,"deductions":168},"The \"fresh-plugins\" v3.3 plugin exhibits a strong security posture based on the static analysis provided. The absence of AJAX handlers, REST API routes, shortcodes, and cron events significantly limits its attack surface. The code signals are also overwhelmingly positive, with no dangerous functions, all SQL queries using prepared statements, and a very high percentage of properly escaped output. Nonce checks are present, though capability checks are not explicitly detailed in the provided signals. The taint analysis reveals a low risk, with only one flow identified with unsanitized paths, and no critical or high severity flows. The plugin's vulnerability history is also clean, with zero known CVEs, indicating a historical lack of significant security flaws.  However, the single flow with unsanitized paths, despite not being classified as critical or high, warrants attention as it represents a potential avenue for exploits if it involves user-controlled input in a sensitive context. The lack of capability checks, if applicable to any of the plugin's functionalities, could also be a concern, although the limited attack surface suggests this might not be a widespread issue. Overall, the plugin appears to be well-developed from a security perspective, with its primary area for review being the one identified taint flow.",[169],{"reason":170,"points":171},"Flows with unsanitized paths",7,"2026-03-16T19:55:22.165Z",{"wat":174,"direct":179},{"assetPaths":175,"generatorPatterns":176,"scriptPaths":177,"versionParams":178},[],[],[],[],{"cssClasses":180,"htmlComments":181,"htmlAttributes":182,"restEndpoints":184,"jsGlobals":185,"shortcodeOutput":187},[],[],[183],"id=\"reinstall-plugin-slug\"",[],[186],"document.getElementById(\"fresh-install-overlay\")",[],{"error":164,"url":189,"statusCode":190,"statusMessage":191,"message":191},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Ffresh-plugins\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":14,"versions":193},[194,199,206,212],{"version":6,"download_url":25,"svn_tag_url":195,"released_at":28,"has_diff":154,"diff_files_changed":196,"diff_lines":28,"trac_diff_url":197,"vulnerabilities":198,"is_current":164},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Ffresh-plugins\u002Ftags\u002F3.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Ffresh-plugins%2Ftags%2F3.2&new_path=%2Ffresh-plugins%2Ftags%2F3.3",[],{"version":200,"download_url":201,"svn_tag_url":202,"released_at":28,"has_diff":154,"diff_files_changed":203,"diff_lines":28,"trac_diff_url":204,"vulnerabilities":205,"is_current":154},"3.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffresh-plugins.3.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Ffresh-plugins\u002Ftags\u002F3.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Ffresh-plugins%2Ftags%2F3.1&new_path=%2Ffresh-plugins%2Ftags%2F3.2",[],{"version":53,"download_url":207,"svn_tag_url":208,"released_at":28,"has_diff":154,"diff_files_changed":209,"diff_lines":28,"trac_diff_url":210,"vulnerabilities":211,"is_current":154},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffresh-plugins.3.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Ffresh-plugins\u002Ftags\u002F3.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Ffresh-plugins%2Ftags%2F3.0&new_path=%2Ffresh-plugins%2Ftags%2F3.1",[],{"version":213,"download_url":214,"svn_tag_url":215,"released_at":28,"has_diff":154,"diff_files_changed":216,"diff_lines":28,"trac_diff_url":28,"vulnerabilities":217,"is_current":154},"3.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffresh-plugins.3.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Ffresh-plugins\u002Ftags\u002F3.0\u002F",[],[]]