[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f5fv-aA7AALUyTj6GuaMcgJwPdqkQAnLK02vBcBRI4Og":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":122,"fingerprints":218},"calculator","Calculator","2.0.1","philippe","https:\u002F\u002Fprofiles.wordpress.org\u002Fppaquet\u002F","\u003Cp>Adds a widget that display a simple calculator.\u003C\u002Fp>\n","Adds a widget that display a simple calculator.",100,10204,0,"2014-02-09T07:21:00.000Z","3.7.41","2.8","",[4,19,20,21],"match","sidebar","widget","http:\u002F\u002Fwww.joeswebtools.com\u002Fwordpress-plugins\u002Fcalculator\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcalculator.2.0.1.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":29,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":31,"avg_security_score":24,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},"ppaquet",9,1190,30,84,"2026-04-05T02:23:43.548Z",[36,53,76,91,105],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":11,"downloaded":44,"rating":45,"num_ratings":46,"last_updated":17,"tested_up_to":15,"requires_at_least":47,"requires_php":17,"tags":48,"homepage":50,"download_link":51,"security_score":11,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":52},"os-emi-calculator","EMI Calculator","1.0","vkt005","https:\u002F\u002Fprofiles.wordpress.org\u002Fvkt005\u002F","\u003Cp>Use EMI calculator as shortcode in post content or widget area without editing your theme files\u003C\u002Fp>\n\u003Cp>USAGE:\u003Cbr \u002F>\nUse [emicalc format=”full”][\u002Femicalc] OR [emicalc format=”sidebar”][\u002Femicalc] shortcode in your post content to show the EMI calculator without editing your theme files\u003Cbr \u002F>\nEXAMPLE:\u003Cbr \u002F>\n[emicalc format=”full”][\u002Femicalc] OR\u003Cbr \u002F>\nOR\u003Cbr \u002F>\n[emicalc format=”sidebar”][\u002Femicalc]\u003C\u002Fp>\n","Use EMI calculator as shortcode in post content or widget area without editing your theme files",7269,74,3,"2.0.5",[4,49,19,20,21],"comments","http:\u002F\u002Fopensum.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fos-emi-calculator.zip","2026-03-15T10:48:56.248Z",{"slug":54,"name":55,"version":56,"author":57,"author_profile":58,"description":59,"short_description":60,"active_installs":61,"downloaded":62,"rating":63,"num_ratings":64,"last_updated":65,"tested_up_to":66,"requires_at_least":67,"requires_php":17,"tags":68,"homepage":71,"download_link":72,"security_score":73,"vuln_count":74,"unpatched_count":13,"last_vuln_date":75,"fetched_at":26},"cc-bmi-calculator","CC BMI Calculator","2.1.1","CC","https:\u002F\u002Fprofiles.wordpress.org\u002Fcalculatorscanadaca\u002F","\u003Cp>This is basic \u003Ca href=\"https:\u002F\u002Fcalculatorsworld.com\u002Fhealth\u002Fbmi-calculator\u002F\" rel=\"nofollow ugc\">BMI Calculator\u003C\u002Fa> for Body Mass Index calculation.\u003Cbr \u002F>\nCalculation can be done in imperial or metric units. Here is \u003Ca href=\"https:\u002F\u002Fcalculatorsworld.com\u002Fhealth\u002Fbmi-chart-men-women-metric\u002F\" rel=\"nofollow ugc\">metric BMI chart\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fcalculatorsworld.com\u002Fhealth\u002Fbmi-chart-men-women-imperial\u002F\" rel=\"nofollow ugc\">imperial BMI chart\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Body Mass Index calculator is for adults only. For kids and youths check these calculators: \u003Ca href=\"https:\u002F\u002Fcalculatorsworld.com\u002Fhealth\u002Fgirls-bmi-calculator\u002F\" rel=\"nofollow ugc\">BMI Calculator for 5-19 age girls\u003C\u002Fa> or\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fcalculatorsworld.com\u002Fhealth\u002Fboys-bmi-calculator\u002F\" rel=\"nofollow ugc\">BMI Calculator for 5-19 age boys\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Calculator is very easy customizable: you can change color of background, borders and text to match your web site’s theme and change widget title, make prefered default unit (imperial or metric).\u003Cbr \u002F>\nIt can be placed on sidebar as widget or incorporated into post or page using shortcode.\u003C\u002Fp>\n","Add a free simple customizable BMI Calculator to your web site.",900,17451,66,4,"2025-11-14T10:48:00.000Z","6.8.5","3.0",[69,4,70,20,21],"bmi-calculator","shortcode","https:\u002F\u002Fcalculatorsworld.com\u002Fhealth\u002Fbmi-calculator\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcc-bmi-calculator.2.1.1.zip",98,2,"2025-05-07 00:00:00",{"slug":77,"name":78,"version":56,"author":57,"author_profile":58,"description":79,"short_description":80,"active_installs":11,"downloaded":81,"rating":11,"num_ratings":82,"last_updated":83,"tested_up_to":66,"requires_at_least":67,"requires_php":17,"tags":84,"homepage":87,"download_link":88,"security_score":89,"vuln_count":82,"unpatched_count":13,"last_vuln_date":90,"fetched_at":26},"cc-canadian-mortgage-calculator","CC Canadian Mortgage Calculator","\u003Cp>This simple \u003Ca href=\"https:\u002F\u002Fcalculatorscanada.ca\u002Fmortgage-calculator\u002F\" rel=\"nofollow ugc\">Canadian mortgage calculator\u003C\u002Fa> calculates mortgage monthly payments.\u003C\u002Fp>\n\u003Cp>Calculator is very easy customizable: you can change colour of background, borders and text to match your web site’s theme and change widget title.\u003C\u002Fp>\n\u003Cp>Note: check \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcc-mortgage-calculator\u002F\" rel=\"ugc\">this mortgage calculator plugin\u003C\u002Fa> if you are looking for mortgage calculator for other country then Canada.\u003C\u002Fp>\n","Add a free simple customizable Canadian mortgage calculator to your web site.",6525,1,"2025-11-14T10:52:00.000Z",[85,86,70,20,21],"canada","mortgage-calculator","https:\u002F\u002Fcalculatorscanada.ca\u002Fmortgage-calculator-wordpress-widget\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcc-canadian-mortgage-calculator.2.1.1.zip",99,"2025-01-06 16:19:47",{"slug":92,"name":93,"version":94,"author":57,"author_profile":58,"description":95,"short_description":96,"active_installs":11,"downloaded":97,"rating":98,"num_ratings":74,"last_updated":99,"tested_up_to":66,"requires_at_least":67,"requires_php":17,"tags":100,"homepage":103,"download_link":104,"security_score":11,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"cc-mortgage-calculator","CC Mortgage Calculator","1.1.0","\u003Cp>This simple \u003Ca href=\"https:\u002F\u002Fcalculatorsworld.com\u002Ffinancial\u002Fmortgage-calculator\u002F\" rel=\"nofollow ugc\">mortgage calculator\u003C\u002Fa> calculates mortgage monthly payments.\u003C\u002Fp>\n\u003Cp>Calculator is very easy customizable: you can change color of background, borders and text to match your web site’s theme, select currency sign and change widget title.\u003C\u002Fp>\n","Add a free simple customizable mortgage calculator to your web site.",7485,60,"2025-11-14T10:53:00.000Z",[101,102,86,20,21],"financial","interest","http:\u002F\u002Fmortgage.calculatorscanada.ca\u002Fwidgets\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcc-mortgage-calculator.1.1.0.zip",{"slug":106,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":113,"downloaded":114,"rating":13,"num_ratings":13,"last_updated":115,"tested_up_to":116,"requires_at_least":117,"requires_php":17,"tags":118,"homepage":120,"download_link":121,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"math-calculator","Math Calculator","1.2","genpichong","https:\u002F\u002Fprofiles.wordpress.org\u002Fgenpichong\u002F","\u003Cp>This calculator can be used for quick on site calculations. Check http:\u002F\u002Fwww.calculator.net\u002Fmath-calculator.html for a demo of this calculator.\u003C\u002Fp>\n","This calculator can be used for quick on site calculations.",10,3546,"2017-07-11T15:29:00.000Z","4.8.28","2.5",[4,106,20,21,119],"widgets","http:\u002F\u002Fwww.calculator.net\u002Fprojects\u002Fmath-calculator-widget.php","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-calculator.zip",{"attackSurface":123,"codeSignals":138,"taintFlows":202,"riskAssessment":203,"analyzedAt":217},{"hooks":124,"ajaxHandlers":131,"restRoutes":132,"shortcodes":133,"cronEvents":137,"entryPointCount":82,"unprotectedCount":13},[125],{"type":126,"name":127,"callback":128,"file":129,"line":130},"action","widgets_init","anonymous","calculator.php",240,[],[],[134],{"tag":4,"callback":135,"file":129,"line":136},"calculator_shortcode_handler",115,[],{"dangerousFunctions":139,"sqlUsage":143,"outputEscaping":145,"fileOperations":13,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":201},[140],{"fn":141,"file":129,"line":130,"context":142},"create_function","add_action('widgets_init', create_function('', 'return register_widget(\"WP_Widget_Calculator\");'));",{"prepared":13,"raw":13,"locations":144},[],{"escaped":82,"rawEcho":146,"locations":147},26,[148,151,153,155,157,159,161,163,165,167,169,171,173,175,177,179,181,183,185,187,189,191,193,195,197,199],{"file":129,"line":149,"context":150},154,"raw output",{"file":129,"line":152,"context":150},155,{"file":129,"line":154,"context":150},162,{"file":129,"line":156,"context":150},171,{"file":129,"line":158,"context":150},172,{"file":129,"line":160,"context":150},173,{"file":129,"line":162,"context":150},174,{"file":129,"line":164,"context":150},177,{"file":129,"line":166,"context":150},178,{"file":129,"line":168,"context":150},179,{"file":129,"line":170,"context":150},180,{"file":129,"line":172,"context":150},183,{"file":129,"line":174,"context":150},184,{"file":129,"line":176,"context":150},185,{"file":129,"line":178,"context":150},186,{"file":129,"line":180,"context":150},189,{"file":129,"line":182,"context":150},190,{"file":129,"line":184,"context":150},191,{"file":129,"line":186,"context":150},192,{"file":129,"line":188,"context":150},195,{"file":129,"line":190,"context":150},196,{"file":129,"line":192,"context":150},197,{"file":129,"line":194,"context":150},198,{"file":129,"line":196,"context":150},209,{"file":129,"line":198,"context":150},234,{"file":129,"line":200,"context":150},235,[],[],{"summary":204,"deductions":205},"The \"calculator\" plugin v2.0.1 presents a mixed security profile. On the positive side, its vulnerability history is clean, with no recorded CVEs, suggesting a well-maintained or less targeted plugin. The static analysis also shows a commendable absence of direct SQL injection risks due to the exclusive use of prepared statements and no file operations or external HTTP requests. However, significant security concerns emerge from the static code analysis. The presence of the `create_function` is a critical red flag, as it can be exploited for arbitrary code execution if user input is ever passed into it without stringent sanitization. Furthermore, the extremely low percentage of properly escaped output (4%) indicates a high risk of Cross-Site Scripting (XSS) vulnerabilities, allowing attackers to inject malicious scripts into pages where the calculator's output is displayed. The lack of nonce and capability checks on the identified entry point (shortcode) further exacerbates these risks, as it means the shortcode's functionality can be triggered by any user, potentially leading to XSS or other client-side attacks. While the attack surface is small and no unauthenticated entry points were detected directly in the analysis, the combination of `create_function` and widespread output unescapement creates a substantial risk of code execution and XSS.",[206,209,212,215],{"reason":207,"points":208},"Dangerous function used (create_function)",15,{"reason":210,"points":211},"Low percentage of output escaping",8,{"reason":213,"points":214},"No nonce checks",5,{"reason":216,"points":214},"No capability checks","2026-03-16T20:58:31.174Z",{"wat":219,"direct":228},{"assetPaths":220,"generatorPatterns":223,"scriptPaths":224,"versionParams":225},[221,222],"\u002Fwp-content\u002Fplugins\u002Fcalculator\u002Fjs\u002Fcalculator.js","\u002Fwp-content\u002Fplugins\u002Fcalculator\u002Fcss\u002Fcalculator.css",[],[221],[226,227],"calculator\u002Fjs\u002Fcalculator.js?ver=","calculator\u002Fcss\u002Fcalculator.css?ver=",{"cssClasses":229,"htmlComments":230,"htmlAttributes":233,"restEndpoints":260,"jsGlobals":261,"shortcodeOutput":263},[],[231,232],"\u003C!-- BEGIN SHORTCODE WIDGET -->","\u003C!-- END SHORTCODE WIDGET -->",[234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259],"name=\"calculator_.*\"","onclick=\"calculator_.*\\.memory\\.value = eval\\(calculator_.*\\.memory\\.value \\+ ' \\+ ' \\+ calculator_.*\\.display\\.value\\);\"","onclick=\"calculator_.*\\.memory\\.value = eval\\(calculator_.*\\.memory\\.value \\+ ' - ' \\+ calculator_.*\\.display\\.value\\);\"","onclick=\"calculator_.*\\.memory\\.value = ''\"","onclick=\"calculator_.*\\.display\\.value = calculator_.*\\.memory\\.value;\"","onclick=\"if\\(calculator_.*\\.reset\\.value == '1'\\) \\{ calculator_.*\\.display\\.value = ''; calculator_.*\\.reset\\.value = '0'; \\} calculator_.*\\.display\\.value \\+= '1';\"","onclick=\"if\\(calculator_.*\\.reset\\.value == '1'\\) \\{ calculator_.*\\.display\\.value = ''; calculator_.*\\.reset\\.value = '0'; \\} calculator_.*\\.display\\.value \\+= '2';\"","onclick=\"if\\(calculator_.*\\.reset\\.value == '1'\\) \\{ calculator_.*\\.display\\.value = ''; calculator_.*\\.reset\\.value = '0'; \\} calculator_.*\\.display\\.value \\+= '3';\"","onclick=\"calculator_.*\\.display\\.value = calculator_.*\\.accumulator\\.value = eval\\(calculator_.*\\.accumulator\\.value \\+ calculator_.*\\.display\\.value\\); calculator_.*\\.accumulator\\.value \\+= ' \\+ '; calculator_.*\\.reset\\.value = '1';\"","onclick=\"if\\(calculator_.*\\.reset\\.value == '1'\\) \\{ calculator_.*\\.display\\.value = ''; calculator_.*\\.reset\\.value = '0'; \\} calculator_.*\\.display\\.value \\+= '4';\"","onclick=\"if\\(calculator_.*\\.reset\\.value == '1'\\) \\{ calculator_.*\\.display\\.value = ''; calculator_.*\\.reset\\.value = '0'; \\} calculator_.*\\.display\\.value \\+= '5';\"","onclick=\"if\\(calculator_.*\\.reset\\.value == '1'\\) \\{ calculator_.*\\.display\\.value = ''; calculator_.*\\.reset\\.value = '0'; \\} calculator_.*\\.display\\.value \\+= '6';\"","onclick=\"calculator_.*\\.display\\.value = calculator_.*\\.accumulator\\.value = eval\\(calculator_.*\\.accumulator\\.value \\+ calculator_.*\\.display\\.value\\); calculator_.*\\.accumulator\\.value \\+= ' - '; calculator_.*\\.reset\\.value = '1';\"","onclick=\"if\\(calculator_.*\\.reset\\.value == '1'\\) \\{ calculator_.*\\.display\\.value = ''; calculator_.*\\.reset\\.value = '0'; \\} calculator_.*\\.display\\.value \\+= '7';\"","onclick=\"if\\(calculator_.*\\.reset\\.value == '1'\\) \\{ calculator_.*\\.display\\.value = ''; calculator_.*\\.reset\\.value = '0'; \\} calculator_.*\\.display\\.value \\+= '8';\"","onclick=\"if\\(calculator_.*\\.reset\\.value == '1'\\) \\{ calculator_.*\\.display\\.value = ''; calculator_.*\\.reset\\.value = '0'; \\} calculator_.*\\.display\\.value \\+= '9';\"","onclick=\"calculator_.*\\.display\\.value = calculator_.*\\.accumulator\\.value = eval\\(calculator_.*\\.accumulator\\.value \\+ calculator_.*\\.display\\.value\\); calculator_.*\\.accumulator\\.value \\+= ' \\* '; calculator_.*\\.reset\\.value = '1';\"","onclick=\"calculator_.*\\.display\\.value = calculator_.*\\.accumulator\\.value = eval\\(calculator_.*\\.accumulator\\.value \\+ calculator_.*\\.display\\.value\\); calculator_.*\\.accumulator\\.value \\+= ' \u002F '; calculator_.*\\.reset\\.value = '1';\"","onclick=\"calculator_.*\\.display\\.value = ''; calculator_.*\\.accumulator\\.value = ''; calculator_.*\\.reset\\.value = '0';\"","onclick=\"if\\(calculator_.*\\.reset\\.value == '1'\\) \\{ calculator_.*\\.display\\.value = ''; calculator_.*\\.reset\\.value = '0'; \\} calculator_.*\\.display\\.value \\+= '0';\"","onclick=\"if\\(calculator_.*\\.reset\\.value == '1'\\) \\{ calculator_.*\\.display\\.value = ''; calculator_.*\\.reset\\.value = '0'; \\} calculator_.*\\.display\\.value \\+= '\\.';\"","onclick=\"calculator_.*\\.display\\.value = calculator_.*\\.accumulator\\.value = eval\\(calculator_.*\\.accumulator\\.value \\+ calculator_.*\\.display\\.value\\); calculator_.*\\.display\\.value = eval\\(calculator_.*\\.accumulator\\.value\\); calculator_.*\\.reset\\.value = '1';\"","name=\"memory\"","name=\"accumulator\"","name=\"reset\"","name=\"display\"",[],[262],"calculator_.*",[264,265,266,267,268,269,270,271,272,273,274,275,273,276,277,278,279,273,280,281,282,283,273,284,285,286,287,273,288,289,290,291,273,292,293,294,295,296,297,275,298,296],"\u003Ctable style=\"border-width: thin thin thin thin; border-style: solid solid solid solid;\">","\u003Ctbody>","\u003Cthead>\u003Ctr>\u003Cth>\u003Ccenter>\u003Cfont face=\"arial\" size=\"+1\">\u003Cb>Calculator\u003C\u002Fb>\u003C\u002Fcenter>\u003C\u002Ffont>\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>","\u003Ctr>\u003Ctd>","\u003Cform name=\"calculator_.*\" action=\"\">","\u003Cinput type=\"hidden\" name=\"memory\" \u002F>","\u003Cinput type=\"hidden\" name=\"accumulator\" \u002F>","\u003Cinput type=\"hidden\" name=\"reset\" value=\"0\" \u002F>","\u003Ctable>","\u003Ctr>","\u003Ctd align=\"center\" colspan=\"4\">\u003Cinput type=\"text\" name=\"display\" readonly=\"readonly\" size=\"20\" \u002F>\u003C\u002Ftd>","\u003C\u002Ftr>","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"m+\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"m-\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"mc\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"mr\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"1\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"2\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"3\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"+\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"4\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"5\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"6\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"-\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"7\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"8\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"9\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"x\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"\u002F\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"c\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\".\"","\u003Ctd align=\"center\">\u003Cinput type=\"button\" style=\"width:32px\" value=\"=\"","\u003C\u002Ftable>","\u003C\u002Ftd>","\u003C\u002Ftbody>"]