[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fENBv7JIcmxNLa1aRR_EKQ93dg1mSs2dUV47whoONJrk":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":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":22,"download_link":23,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26,"vulnerabilities":27,"developer":28,"crawl_stats":25,"alternatives":35,"analysis":36,"fingerprints":69},"replace-sale-text-with-percentage","Replace Percentage Badges Insted of Sales","1.1.0","Asif Ali","https:\u002F\u002Fprofiles.wordpress.org\u002Fasifalimca2011\u002F","\u003Cp>Description: This plugin will Replace “Sale” On every sales product with percentage.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Feature\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>This plugin will Replace “Sale badge” with percentage.\u003C\u002Fli>\n\u003C\u002Ful>\n","Description: This plugin will Replace \"Sale\" On every sales product with percentage.",10,823,0,"2023-09-12T11:38:00.000Z","6.3.8","3.5.0","",[19,20,21],"change-sale-text-with-percentage","product-sales-percentage","sale-text","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Freplace-sale-text-with-percentage","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Freplace-sale-text-with-percentage.zip",85,null,"2026-03-15T14:54:45.397Z",[],{"slug":29,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":31,"avg_security_score":32,"avg_patch_time_days":33,"trust_score":24,"computed_at":34},"asifalimca2011",7,220,87,30,"2026-04-04T12:31:59.843Z",[],{"attackSurface":37,"codeSignals":50,"taintFlows":61,"riskAssessment":62,"analyzedAt":68},{"hooks":38,"ajaxHandlers":46,"restRoutes":47,"shortcodes":48,"cronEvents":49,"entryPointCount":13,"unprotectedCount":13},[39],{"type":40,"name":41,"callback":42,"priority":43,"file":44,"line":45},"action","woocommerce_sale_flash","woocommerce_sale_badge_percentage",25,"replace-percentage-badges-insted-of-sales-text.php",11,[],[],[],[],{"dangerousFunctions":51,"sqlUsage":52,"outputEscaping":54,"fileOperations":13,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":60},[],{"prepared":13,"raw":13,"locations":53},[],{"escaped":13,"rawEcho":55,"locations":56},1,[57],{"file":44,"line":58,"context":59},31,"raw output",[],[],{"summary":63,"deductions":64},"The plugin \"replace-sale-text-with-percentage\" v1.1.0 exhibits a strong security posture regarding its attack surface and SQL query handling. The complete absence of AJAX handlers, REST API routes, shortcodes, and cron events means there are virtually no direct entry points for attackers to exploit. Furthermore, all SQL queries, if any existed, are confirmed to use prepared statements, which is an excellent practice for preventing SQL injection vulnerabilities. The plugin also shows no history of known vulnerabilities, including critical or high severity ones, suggesting a well-maintained and secure codebase over time.\n\nHowever, a significant concern arises from the output escaping. With one total output analyzed and 0% properly escaped, there is a high risk of Cross-Site Scripting (XSS) vulnerabilities. Any data rendered on the front-end or admin area without proper escaping can be manipulated by attackers to inject malicious scripts. The lack of nonces and capability checks, while not immediately problematic due to the limited attack surface, could become a weakness if the plugin's functionality were to expand or if new entry points were introduced in future versions without corresponding security checks.\n\nIn conclusion, the plugin is strong in its minimal attack surface and secure database interaction. Its vulnerability history is a positive indicator. The primary weakness and critical area for improvement is the complete lack of output escaping, which presents a tangible risk of XSS. The absence of nonces and capability checks on the (currently non-existent) entry points is a potential future risk but not an immediate exploit.",[65],{"reason":66,"points":67},"0% output escaping on outputs",8,"2026-03-16T23:39:26.239Z",{"wat":70,"direct":76},{"assetPaths":71,"generatorPatterns":72,"scriptPaths":73,"versionParams":74},[],[],[],[75],"replace-sale-text-with-percentage\u002Freplace-percentage-badges-insted-of-sales-text.php?ver=",{"cssClasses":77,"htmlComments":79,"htmlAttributes":80,"restEndpoints":81,"jsGlobals":82,"shortcodeOutput":83},[78],"onsale",[],[],[],[],[]]