[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f-3nk9YLI9nOFc81PAIAwGstbCGOirdt4DYKuch5UAkE":3,"$fvpHDF_mmzdEWkGWdgbCyKcCLf0pU721qeIdjG-fg8TU":287,"$fb4Vkg7vIHnb1N-_QjfhOvgK69xEFU0A8ByrIqnQxyuM":291},{"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":23,"download_link":24,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"discovery_status":29,"vulnerabilities":30,"developer":31,"crawl_stats":27,"alternatives":36,"analysis":138,"fingerprints":262},"math-quiz","Math Quiz","2.0.0","atitan","https:\u002F\u002Fprofiles.wordpress.org\u002Fatitan\u002F","\u003Cp>Math Quiz generates dynamic math problem in the comment form to beat spam robots and supports flexible form style customization.\u003C\u002Fp>\n\u003Cp>Demo website: https:\u002F\u002Fatifans.net\u002F (with Supercache and AJAX comment form enabled)\u003C\u002Fp>\n\u003Cp>For PayPal donation, please use this email address: info \u003Cem>a.t\u003C\u002Fem> atifans.net\u003C\u002Fp>\n\u003Cp>Features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Dynamic problems prevent spam robots from posting unwanted content.\u003C\u002Fli>\n\u003Cli>Quiz form inserted using AJAX for better compatibility with HTML cache plugins.\u003C\u002Fli>\n\u003Cli>Form style and position can be customized in the control panel.\u003C\u002Fli>\n\u003Cli>Trackbacks and Pingbacks are checked with DNS queries to avoid abuse.\u003C\u002Fli>\n\u003Cli>Optional login page protection.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Translators:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>SLV-es (Spanish)\u003C\u002Fli>\n\u003Cli>Joao Paulo (Portuguese)\u003C\u002Fli>\n\u003C\u002Ful>\n","Math Quiz generates dynamic math problem in the comment form to beat spam robots.",300,13348,100,2,"2019-08-16T14:39:00.000Z","5.2.24","3.5","",[20,21,22],"captcha","comments","spam","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fmath-quiz\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.2.0.0.zip",85,0,null,"2026-07-22T17:31:50.256Z","no_bundle",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},1,30,84,"2026-08-29T12:26:13.901Z",[37,61,83,102,120],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":47,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":18,"download_link":58,"security_score":59,"vuln_count":14,"unpatched_count":26,"last_vuln_date":60,"fetched_at":28},"captcha-code-authentication","Captcha Code","3.31","WebFactory","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebfactory\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fgetwpcaptcha.com\u002F\" rel=\"nofollow ugc\">Captcha\u003C\u002Fa> adds GDPR compatible captcha code anti-spam protection (like Google ReCaptcha) to WordPress forms – comments form, registration form, lost password form, and login form. In order to post comments or register, users have to type in the code shown on the image. This prevents spam from automated bots & adds security. No external services (like Google ReCaptcha) are used. No API keys are needed, and no user-identifiable data is used so it’s GDPR compatible.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Captcha position – comments form, login form, registration form, or lost password form.\u003C\u002Fli>\n\u003Cli>Letters type – capital letters, small letters, or captial & small letters.\u003C\u002Fli>\n\u003Cli>Captcha type – alphanumeric, alphabets or numbers.\u003C\u002Fli>\n\u003Cli>Translation enabled.\u003C\u002Fli>\n\u003C\u002Fol>\n","GDPR compatible captcha anti-spam protection for login form, comments form, registration form & lost password form. Eliminate spam with captcha.",100000,752214,78,35,"2026-04-14T19:46:00.000Z","7.0.2","3.0","5.2",[20,54,55,56,57],"comments-spam","form-captcha","login-captcha","recaptcha","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcaptcha-code-authentication.3.31.zip",99,"2023-11-24 00:00:00",{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":69,"downloaded":70,"rating":71,"num_ratings":72,"last_updated":73,"tested_up_to":74,"requires_at_least":75,"requires_php":18,"tags":76,"homepage":81,"download_link":82,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"recaptcha-in-wp-comments-form","reCAPTCHA in WP comments form","9.1.2","jmviade","https:\u002F\u002Fprofiles.wordpress.org\u002Fjmviade\u002F","\u003Cp>reCAPTCHA in WP comments form plugin is an \u003Cstrong>ANTISPAM tool\u003C\u002Fstrong> that adds the visible Google \u003Cstrong>reCAPTCHA field\u003C\u002Fstrong> inside the comments form of your WP theme when the user is not logged in preventing fraudulent or deceptive comments.\u003C\u002Fp>\n\u003Cp>The plugin also \u003Cstrong>introduces a second verification process\u003C\u002Fstrong> that detects the unauthorized direct accesses by spam robots to the WP comments system and allows you to decide what do you want to do with those comments.\u003C\u002Fp>\n\u003Cp>Finally, the plugin has got an optional \u003Cstrong>forced javascript output mode\u003C\u002Fstrong> that lets you to add a reCAPTCHA field \u003Cstrong>also in old WP themes\u003C\u002Fstrong> that didn’t use the new WP form comments functions but they make a direct output of its own comments form.\u003C\u002Fp>\n\u003Ch4>FEATURES LIST\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Basic Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>All variants\u003C\u002Fstrong> of Google reCAPTCHA field are available\u003C\u002Fli>\n\u003Cli>Two simple steps \u003Cstrong>Installation Wizard\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Automatic \u003Cstrong>default configuration settings\u003C\u002Fstrong> for all plugin components\u003C\u002Fli>\n\u003Cli>Automatic default configuration for reCAPTCHA field\u003C\u002Fli>\n\u003Cli>Configuration settings for Plugin \u003C\u002Fli>\n\u003Cli>Configuration settings for \u003Cstrong>ANTISPAM operation\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Four modes of operation in case of spam robots threats (SPAM, TRASH, DELETE or DIE)\u003C\u002Fli>\n\u003Cli>Visual configuration settings for Google reCAPTCHA: theme, size, type, align, language\u003C\u002Fli>\n\u003Cli>Dynamic comments form sample for viewing configuration settings changes\u003C\u002Fli>\n\u003Cli>Visual Help\u003C\u002Fli>\n\u003Cli>RTL Language support\u003C\u002Fli>\n\u003Cli>Admin Color scheme adapted\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Middle features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Forced language option for reCAPTCHA field\u003C\u002Fli>\n\u003Cli>Plugin \u003Cstrong>blocks the submit button\u003C\u002Fstrong> while reCAPTCHA field is not verified\u003C\u002Fli>\n\u003Cli>Plugin \u003Cstrong>changes HTML structure of the comments form\u003C\u002Fstrong> to prevent malicious automatic sendings while reCAPTCHA field is not verified\u003C\u002Fli>\n\u003Cli>Plugin also blocks \u003Cstrong>other elements with \u003Ccode>[type=submit]\u003C\u002Fcode> inside form\u003C\u002Fstrong> in case of a theme customized comments form\u003C\u002Fli>\n\u003Cli>Plugin lets you to write your own \u003Cstrong>additional CSS for the reCAPTCHA field\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>New \u003Cstrong>restore default value buttons\u003C\u002Fstrong> in plugin configuration section for helping you in case of changing WP theme, accidental errors, test environtments, etc.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Advanced features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>reCAPTCHA \u003Cstrong>verification process via AJAX before submitting the form\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Second security checking process\u003C\u002Fstrong> for preventing any security breach \u003Cstrong>before saving the comment\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Supporting \u003Cstrong>four different WP comments form HTML structure types\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Advanced plugin options \u003Cstrong>based on HTML queries\u003C\u002Fstrong> for inserting the reCAPTCHA plugin in all kinds of WP themes\u003C\u002Fli>\n\u003Cli>Optional \u003Cstrong>Forced javascript output\u003C\u002Fstrong> that allows you to use the plugin with old WP themes that didn’t use function \u003Ccode>comment_form()\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Advanced ID’s tags settings for using this plugin with WP Themes that creates its own comments form HTML struct\u003C\u002Fli>\n\u003Cli>reCAPTCHA javascript initialization that prevents reCAPTCHA conflicts in case of that other plugins use reCAPTCHA.\u003C\u002Fli>\n\u003Cli>New mínimum CSS styles for recaptcha alignment\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>PLUGIN PAGE\u003C\u002Fh4>\n\u003Cp>To learn more about the plugin, visit the \u003Ca href=\"http:\u002F\u002Fwww.joanmiquelviade.com\u002Fplugin\u002Fgoogle-recaptcha-in-wp-comments-form\u002F\" title=\"Author's plugin page\" rel=\"nofollow ugc\">Plugin page\u003C\u002Fa>.\u003C\u002Fp>\n","reCAPTCHA in WP comments form is an ANTISPAM tool that adds a Google reCAPTCHA to the comments form and protects your site from the spam robots threat &hellip;",8000,73368,82,20,"2019-04-22T12:10:00.000Z","5.1.22","4.0.0",[77,78,79,80,57],"antispam","antispam-protection","comments-antispam","comments-recaptcha","http:\u002F\u002Fwww.joanmiquelviade.com\u002Fplugin\u002Fgoogle-recaptcha-in-wp-comments-form\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frecaptcha-in-wp-comments-form.9.1.2.zip",{"slug":84,"name":85,"version":86,"author":87,"author_profile":88,"description":89,"short_description":90,"active_installs":91,"downloaded":92,"rating":13,"num_ratings":32,"last_updated":93,"tested_up_to":94,"requires_at_least":95,"requires_php":96,"tags":97,"homepage":100,"download_link":101,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"toms-recaptcha","TomS reCAPTCHA","1.2.0","TomS Caprice","https:\u002F\u002Fprofiles.wordpress.org\u002Ftomsneddon\u002F","\u003Cp>Integrated Google ReCaptcha for WordPress. Protect the login, register, lostpassword and comment forms. Support Woocommerce, Ultimate Member and more popular forms.\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fdevelopers.google.com\u002Frecaptcha\" rel=\"nofollow ugc\">\u003Cstrong>Google reCAPTCHA\u003C\u002Fstrong>\u003C\u002Fa> is a free service that protects your site from spam and abuse. It uses advanced risk analysis techniques to tell humans and bots apart.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cp>Go to \u003Ca href=\"https:\u002F\u002Fwww.google.com\u002Frecaptcha\u002Fadmin\u002Fcreate\" rel=\"nofollow ugc\">Google reCAPTCHA\u003C\u002Fa> to get the \u003Cstrong>Site key\u003C\u002Fstrong> and \u003Cstrong>Secret key\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>reCAPTCHA Type:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>reCAPTCHA \u003Cstrong>v3\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>reCAPTCHA \u003Cstrong>v2 Checkbox\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>reCAPTCHA \u003Cstrong>v2 Invisible\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Supported Form List\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress default login form\u003C\u002Fli>\n\u003Cli>WordPress default register form\u003C\u002Fli>\n\u003Cli>WordPress default lostpassword form\u003C\u002Fli>\n\u003Cli>\n\u003Cp>WordPress default comment form\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Woocommerce\u003C\u002Fstrong>\u003C\u002Fa> login form\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Woocommerce\u003C\u002Fstrong>\u003C\u002Fa> register form\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Woocommerce\u003C\u002Fstrong>\u003C\u002Fa> lostpassword form\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Woocommerce\u003C\u002Fstrong>\u003C\u002Fa> checkout Billing form\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Add a shortcode \u003Cstrong>[toms_woo_register_form]\u003C\u002Fstrong> for \u003Cstrong>woocommerce register form\u003C\u002Fstrong> on any page you want.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fultimate-member\u002F\" rel=\"ugc\">\u003Cstrong>Ultimate Member\u003C\u002Fstrong>\u003C\u002Fa> login form\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fultimate-member\u002F\" rel=\"ugc\">\u003Cstrong>Ultimate Member\u003C\u002Fstrong>\u003C\u002Fa> register form\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fultimate-member\u002F\" rel=\"ugc\">\u003Cstrong>Ultimate Member\u003C\u002Fstrong>\u003C\u002Fa> lostpassword form\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcontact-form-block\u002F\" rel=\"ugc\">\u003Cstrong>Contact Form Block\u003C\u002Fstrong>\u003C\u002Fa> Contact Form Block\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>more support forms comming soon…\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Option settings\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Verify API : \u003Cstrong>Google.com\u003C\u002Fstrong>\u002F\u003Cstrong>Recaptcha.net\u003C\u002Fstrong> \u003Cstrong>—Notice:—\u003C\u002Fstrong> Some country can not use Google verify API, that means Google verify API will not work, even using vpn. If google.com not work try use Recaptcha.net\u003C\u002Fli>\n\u003Cli>reCAPTCHA v2 (Checkbox)  Theme: \u003Cstrong>Light\u003C\u002Fstrong>\u002F\u003Cstrong>Dark\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>reCAPTCHA v2 (Invisible) Badge: \u003Cstrong>Bottom Right\u003C\u002Fstrong>\u002F\u003Cstrong>Bottom Left\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Custom reCAPTCHA Language\u003C\u002Fh4>\n\u003Ch4>Translation ready\u003C\u002Fh4>\n\u003Ch3>Translations\u003C\u002Fh3>\n\u003Cp>Reliance upon any non-English translation is at your own risk; TomS reCAPTCHA can give no guarantees that translations from the original English are accurate.\u003C\u002Fp>\n\u003Cp>We recognise and thank those mentioned at https:\u002F\u002Ftoms-caprice.org\u002Ftranslations for code and\u002For libraries used and\u002For modified under the terms of their open source licences.\u003C\u002Fp>\n","Integrated Google ReCaptcha for WordPress.Protect the login, register, lostpassword and comment forms. Support Woocommerce, Ultimate Member and more p &hellip;",500,17401,"2023-03-29T08:59:00.000Z","6.2.9","5.8","7.0",[98,20,99,57,84],"block-spam-comments","nocaptcha","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftoms-recaptcha","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftoms-recaptcha.1.2.0.zip",{"slug":103,"name":104,"version":105,"author":106,"author_profile":107,"description":108,"short_description":109,"active_installs":11,"downloaded":110,"rating":111,"num_ratings":112,"last_updated":113,"tested_up_to":114,"requires_at_least":17,"requires_php":18,"tags":115,"homepage":118,"download_link":119,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"advanced-invisible-anti-spam","Advanced Invisible Anti-Spam","1.4.3","Matt Keys","https:\u002F\u002Fprofiles.wordpress.org\u002Fmattkeys\u002F","\u003Cp>Anti-Spam solutions that require your users to fill out captcha’s are frustrating for actual humans, and not that great at stopping bots.\u003C\u002Fp>\n\u003Cp>This solution works automatically without any user configuration, and puts no additional burden on your users. After activation this plugin will go to work stopping: comment spam, spam bot registration, and bbPress spam.\u003C\u002Fp>\n\u003Cp>Key features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Fully compatible with wordpress caching plugins or even more advanced server level caching solutions (like WP Engine uses).\u003C\u002Fli>\n\u003Cli>Utilizes randomly generated and rotating token field name and token value, which stops more clever bots that might try caching the ‘solved’ field.\u003C\u002Fli>\n\u003Cli>Anti-spam field is randomly placed within the form on page load to make it difficult for spammers to target the field.\u003C\u002Fli>\n\u003Cli>Developer friendly with filters and actions\u003C\u002Fli>\n\u003Cli>Lightweight, clean, and efficient solution to comment, registration, and bbPress spam\u003C\u002Fli>\n\u003Cli>Uses native JavaScript to avoid jQuery dependancies\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Requires JavaScript be enabled in client browser (Users will see a warning if JavaScript is disabled)\u003C\u002Fp>\n","Block bots without annoying captchas. Cache friendly solution with rotating keys! Blocks comment, registration, and bbpress spam. Activate and done!",6299,88,7,"2016-04-27T00:59:00.000Z","4.5.33",[116,20,21,117,22],"bot","invisible","http:\u002F\u002Fmattkeys.me","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-invisible-anti-spam.zip",{"slug":121,"name":122,"version":123,"author":124,"author_profile":125,"description":126,"short_description":127,"active_installs":128,"downloaded":129,"rating":130,"num_ratings":131,"last_updated":132,"tested_up_to":133,"requires_at_least":51,"requires_php":18,"tags":134,"homepage":136,"download_link":137,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"botblocker","BotBlocker","1.0.4","Brandon Fenning","https:\u002F\u002Fprofiles.wordpress.org\u002Fbrandonfenning\u002F","\u003Cp>Since the vast majority of WordPress spam is automated in nature, the goal of BotBlocker is to block comment spam bots and not hinder users. This is accomplished through the use of honeypot technology, which tricks the spambot into identifying itself by performing actions that a human could not.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>BotBlocker’s features include:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>Works out of the box to block spam\u003C\u002Fli>\n\u003Cli>Automatically stops spam-bots from commenting\u003C\u002Fli>\n\u003Cli>Zero hindrance to users: no CAPTCHAS, math questions, passwords or extra input required\u003C\u002Fli>\n\u003Cli>Zero false positives and ignores registered users\u003C\u002Fli>\n\u003Cli>Can be configured to completely block spam-bots or flag comments as spam\u003C\u002Fli>\n\u003Cli>Spam detection messages can be easily adjusted\u003C\u002Fli>\n\u003Cli>No javascript or cookies required\u003C\u002Fli>\n\u003Cli>Hooks into \u003Ccode>wp-comments-post.php\u003C\u002Fcode> to prevent spam-bots from directly submitting spam comments\u003C\u002Fli>\n\u003Cli>Should work fine with most customized comment forms\u003C\u002Fli>\n\u003Cli>No API keys required\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>http:\u002F\u002Fwww.lform.com\u002Fbotblocker\u002F for more information.\u003C\u002Fp>\n\u003Cp>Plugin by \u003Ca href=\"http:\u002F\u002Fwww.lform.com\u002F\" rel=\"nofollow ugc\">LFORM, a web design company\u003C\u002Fa> in New Jersey.\u003C\u002Fp>\n","Kills spam-bots, leaves humans standing. No CAPTCHAS, no math questions, no passwords, just spam blocking that stops spam-bots dead in their tracks.",200,11147,32,10,"2012-04-25T19:28:00.000Z","3.3.2",[135,116,20,21,22],"akismet","http:\u002F\u002Fwww.lform.com\u002Fbotblocker\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbotblocker.1.0.4.zip",{"attackSurface":139,"codeSignals":181,"taintFlows":211,"riskAssessment":253,"analyzedAt":261},{"hooks":140,"ajaxHandlers":177,"restRoutes":178,"shortcodes":179,"cronEvents":180,"entryPointCount":26,"unprotectedCount":26},[141,147,152,156,161,164,168,173],{"type":142,"name":143,"callback":144,"file":145,"line":146},"action","admin_menu","math_quiz_menu","admin.php",9,{"type":142,"name":148,"callback":149,"file":150,"line":151},"wp_head","get_style_sheet","math-quiz.php",56,{"type":142,"name":153,"callback":154,"file":150,"line":155},"comment_form","closure",58,{"type":157,"name":158,"callback":159,"file":150,"line":160},"filter","preprocess_comment","comment_math_hook",60,{"type":142,"name":162,"callback":154,"file":150,"line":163},"login_enqueue_scripts",63,{"type":142,"name":165,"callback":166,"file":150,"line":167},"login_footer","get_ajax_script",64,{"type":142,"name":169,"callback":170,"priority":171,"file":150,"line":172},"authenticate","login_math_hook",21,65,{"type":142,"name":174,"callback":175,"file":150,"line":176},"init","start_math_engine",69,[],[],[],[],{"dangerousFunctions":182,"sqlUsage":183,"outputEscaping":189,"fileOperations":26,"externalRequests":26,"nonceChecks":32,"capabilityChecks":14,"bundledLibraries":210},[],{"prepared":184,"raw":32,"locations":185},4,[186],{"file":150,"line":187,"context":188},135,"$wpdb->get_var() with variable interpolation",{"escaped":26,"rawEcho":146,"locations":190},[191,194,196,198,200,202,204,206,208],{"file":145,"line":192,"context":193},37,"raw output",{"file":145,"line":195,"context":193},53,{"file":145,"line":197,"context":193},71,{"file":145,"line":199,"context":193},98,{"file":145,"line":201,"context":193},222,{"file":145,"line":203,"context":193},224,{"file":150,"line":205,"context":193},263,{"file":150,"line":207,"context":193},310,{"file":150,"line":209,"context":193},321,[],[212,240],{"entryPoint":213,"graph":214,"unsanitizedCount":26,"severity":239},"\u003Cmath-quiz> (math-quiz.php:0)",{"nodes":215,"edges":235},[216,221,227,230],{"id":217,"type":218,"label":219,"file":150,"line":220},"n0","source","$_POST['uniqueid']",381,{"id":222,"type":223,"label":224,"file":150,"line":225,"wp_function":226},"n1","sink","get_var() [SQLi]",378,"get_var",{"id":228,"type":218,"label":219,"file":150,"line":229},"n2",389,{"id":231,"type":223,"label":232,"file":150,"line":233,"wp_function":234},"n3","query() [SQLi]",386,"query",[236,238],{"from":217,"to":222,"sanitized":237},true,{"from":228,"to":231,"sanitized":237},"low",{"entryPoint":241,"graph":242,"unsanitizedCount":14,"severity":252},"check_math_answer (math-quiz.php:366)",{"nodes":243,"edges":248},[244,245,246,247],{"id":217,"type":218,"label":219,"file":150,"line":220},{"id":222,"type":223,"label":224,"file":150,"line":225,"wp_function":226},{"id":228,"type":218,"label":219,"file":150,"line":229},{"id":231,"type":223,"label":232,"file":150,"line":233,"wp_function":234},[249,251],{"from":217,"to":222,"sanitized":250},false,{"from":228,"to":231,"sanitized":250},"high",{"summary":254,"deductions":255},"The \"math-quiz\" v2.0.0 plugin exhibits a mixed security posture. On the positive side, it has a very small attack surface with no apparent AJAX handlers, REST API routes, shortcodes, or cron events, which significantly limits potential entry points for attackers. The plugin also demonstrates good practices by incorporating nonce and capability checks, and the vast majority of its SQL queries utilize prepared statements, reducing the risk of SQL injection vulnerabilities.\n\nHowever, a significant concern arises from the output escaping. With 0% of outputs properly escaped, there is a high risk of Cross-Site Scripting (XSS) vulnerabilities. Any data rendered by the plugin without proper sanitization could be exploited by attackers to inject malicious scripts. Additionally, the taint analysis revealed one flow with an unsanitized path, indicating a potential for path traversal or other file-related vulnerabilities, even though the static analysis reports no direct file operations.\n\nThe plugin's vulnerability history is clean, with no recorded CVEs. This is a positive indicator, suggesting a lack of previously discovered flaws. However, this could also be due to the plugin's limited adoption or the effectiveness of the limited security controls in place. Overall, while the plugin has a small attack surface and good practices for data handling in SQL, the complete lack of output escaping presents a critical security risk that needs immediate attention.",[256,259],{"reason":257,"points":258},"Outputs not properly escaped",15,{"reason":260,"points":131},"Taint flow with unsanitized paths","2026-03-16T20:02:41.377Z",{"wat":263,"direct":272},{"assetPaths":264,"generatorPatterns":267,"scriptPaths":268,"versionParams":269},[265,266],"\u002Fwp-content\u002Fplugins\u002Fmath-quiz\u002Fcss\u002Fmath-quiz.css","\u002Fwp-content\u002Fplugins\u002Fmath-quiz\u002Fjs\u002Fmath-quiz.js",[],[266],[270,271],"math-quiz\u002Fcss\u002Fmath-quiz.css?ver=","math-quiz\u002Fjs\u002Fmath-quiz.js?ver=",{"cssClasses":273,"htmlComments":275,"htmlAttributes":276,"restEndpoints":281,"jsGlobals":282,"shortcodeOutput":285},[274],"mathquiz",[],[277,278,279,280],"id=\"mathquiz\"","id=\"refresh-mathquiz\"","name=\"math-quiz\"","name=\"uniqueid\"",[],[283,284],"math_quiz_settings","math_quiz_ajax_url",[286],"\u003Cp id=\"mathquiz\">\u003Clabel for=\"mathquiz\">%problemlabel%\u003C\u002Flabel>&nbsp;\u003Cinput name=\"math-quiz\" type=\"text\" \u002F>&nbsp;\u003Ca id=\"refresh-mathquiz\" href=\"javascript:void(0)\">%reloadbutton%\u003C\u002Fa>\u003Cinput type=\"hidden\" name=\"uniqueid\" value=\"%uniqueid%\" \u002F>\u003C\u002Fp>",{"error":237,"url":288,"statusCode":289,"statusMessage":290,"message":290},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fmath-quiz\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":292,"versions":293},25,[294,299,306,313,320,327,334,341,348,355,362,369,376,383,390,397,404,411,418,425,432,439,446,453,460],{"version":6,"download_url":24,"svn_tag_url":295,"released_at":27,"has_diff":250,"diff_files_changed":296,"diff_lines":27,"trac_diff_url":297,"vulnerabilities":298,"is_current":237},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F2.0.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F1.9.3&new_path=%2Fmath-quiz%2Ftags%2F2.0.0",[],{"version":300,"download_url":301,"svn_tag_url":302,"released_at":27,"has_diff":250,"diff_files_changed":303,"diff_lines":27,"trac_diff_url":304,"vulnerabilities":305,"is_current":250},"1.9.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.1.9.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F1.9.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F1.9.2&new_path=%2Fmath-quiz%2Ftags%2F1.9.3",[],{"version":307,"download_url":308,"svn_tag_url":309,"released_at":27,"has_diff":250,"diff_files_changed":310,"diff_lines":27,"trac_diff_url":311,"vulnerabilities":312,"is_current":250},"1.9.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.1.9.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F1.9.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F1.9.1&new_path=%2Fmath-quiz%2Ftags%2F1.9.2",[],{"version":314,"download_url":315,"svn_tag_url":316,"released_at":27,"has_diff":250,"diff_files_changed":317,"diff_lines":27,"trac_diff_url":318,"vulnerabilities":319,"is_current":250},"1.9.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.1.9.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F1.9.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F1.9&new_path=%2Fmath-quiz%2Ftags%2F1.9.1",[],{"version":321,"download_url":322,"svn_tag_url":323,"released_at":27,"has_diff":250,"diff_files_changed":324,"diff_lines":27,"trac_diff_url":325,"vulnerabilities":326,"is_current":250},"1.9","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.1.9.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F1.9\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F1.8.2&new_path=%2Fmath-quiz%2Ftags%2F1.9",[],{"version":328,"download_url":329,"svn_tag_url":330,"released_at":27,"has_diff":250,"diff_files_changed":331,"diff_lines":27,"trac_diff_url":332,"vulnerabilities":333,"is_current":250},"1.8.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.1.8.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F1.8.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F1.8.1&new_path=%2Fmath-quiz%2Ftags%2F1.8.2",[],{"version":335,"download_url":336,"svn_tag_url":337,"released_at":27,"has_diff":250,"diff_files_changed":338,"diff_lines":27,"trac_diff_url":339,"vulnerabilities":340,"is_current":250},"1.8.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.1.8.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F1.8.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F1.8&new_path=%2Fmath-quiz%2Ftags%2F1.8.1",[],{"version":342,"download_url":343,"svn_tag_url":344,"released_at":27,"has_diff":250,"diff_files_changed":345,"diff_lines":27,"trac_diff_url":346,"vulnerabilities":347,"is_current":250},"1.8","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.1.8.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F1.8\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F1.7&new_path=%2Fmath-quiz%2Ftags%2F1.8",[],{"version":349,"download_url":350,"svn_tag_url":351,"released_at":27,"has_diff":250,"diff_files_changed":352,"diff_lines":27,"trac_diff_url":353,"vulnerabilities":354,"is_current":250},"1.7","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.1.7.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F1.7\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F1.6&new_path=%2Fmath-quiz%2Ftags%2F1.7",[],{"version":356,"download_url":357,"svn_tag_url":358,"released_at":27,"has_diff":250,"diff_files_changed":359,"diff_lines":27,"trac_diff_url":360,"vulnerabilities":361,"is_current":250},"1.6","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.1.6.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F1.6\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F1.5&new_path=%2Fmath-quiz%2Ftags%2F1.6",[],{"version":363,"download_url":364,"svn_tag_url":365,"released_at":27,"has_diff":250,"diff_files_changed":366,"diff_lines":27,"trac_diff_url":367,"vulnerabilities":368,"is_current":250},"1.5","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.1.5.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F1.5\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F1.4&new_path=%2Fmath-quiz%2Ftags%2F1.5",[],{"version":370,"download_url":371,"svn_tag_url":372,"released_at":27,"has_diff":250,"diff_files_changed":373,"diff_lines":27,"trac_diff_url":374,"vulnerabilities":375,"is_current":250},"1.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.1.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F1.4\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F1.3&new_path=%2Fmath-quiz%2Ftags%2F1.4",[],{"version":377,"download_url":378,"svn_tag_url":379,"released_at":27,"has_diff":250,"diff_files_changed":380,"diff_lines":27,"trac_diff_url":381,"vulnerabilities":382,"is_current":250},"1.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.1.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F1.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F1.2&new_path=%2Fmath-quiz%2Ftags%2F1.3",[],{"version":384,"download_url":385,"svn_tag_url":386,"released_at":27,"has_diff":250,"diff_files_changed":387,"diff_lines":27,"trac_diff_url":388,"vulnerabilities":389,"is_current":250},"1.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.1.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F1.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F1.1&new_path=%2Fmath-quiz%2Ftags%2F1.2",[],{"version":391,"download_url":392,"svn_tag_url":393,"released_at":27,"has_diff":250,"diff_files_changed":394,"diff_lines":27,"trac_diff_url":395,"vulnerabilities":396,"is_current":250},"1.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.1.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F1.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F1.0&new_path=%2Fmath-quiz%2Ftags%2F1.1",[],{"version":398,"download_url":399,"svn_tag_url":400,"released_at":27,"has_diff":250,"diff_files_changed":401,"diff_lines":27,"trac_diff_url":402,"vulnerabilities":403,"is_current":250},"1.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.1.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F1.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F0.9&new_path=%2Fmath-quiz%2Ftags%2F1.0",[],{"version":405,"download_url":406,"svn_tag_url":407,"released_at":27,"has_diff":250,"diff_files_changed":408,"diff_lines":27,"trac_diff_url":409,"vulnerabilities":410,"is_current":250},"0.9","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.0.9.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F0.9\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F0.8&new_path=%2Fmath-quiz%2Ftags%2F0.9",[],{"version":412,"download_url":413,"svn_tag_url":414,"released_at":27,"has_diff":250,"diff_files_changed":415,"diff_lines":27,"trac_diff_url":416,"vulnerabilities":417,"is_current":250},"0.8","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.0.8.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F0.8\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F0.7&new_path=%2Fmath-quiz%2Ftags%2F0.8",[],{"version":419,"download_url":420,"svn_tag_url":421,"released_at":27,"has_diff":250,"diff_files_changed":422,"diff_lines":27,"trac_diff_url":423,"vulnerabilities":424,"is_current":250},"0.7","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.0.7.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F0.7\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F0.6&new_path=%2Fmath-quiz%2Ftags%2F0.7",[],{"version":426,"download_url":427,"svn_tag_url":428,"released_at":27,"has_diff":250,"diff_files_changed":429,"diff_lines":27,"trac_diff_url":430,"vulnerabilities":431,"is_current":250},"0.6","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.0.6.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F0.6\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F0.5&new_path=%2Fmath-quiz%2Ftags%2F0.6",[],{"version":433,"download_url":434,"svn_tag_url":435,"released_at":27,"has_diff":250,"diff_files_changed":436,"diff_lines":27,"trac_diff_url":437,"vulnerabilities":438,"is_current":250},"0.5","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.0.5.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F0.5\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F0.4&new_path=%2Fmath-quiz%2Ftags%2F0.5",[],{"version":440,"download_url":441,"svn_tag_url":442,"released_at":27,"has_diff":250,"diff_files_changed":443,"diff_lines":27,"trac_diff_url":444,"vulnerabilities":445,"is_current":250},"0.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.0.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F0.4\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F0.3&new_path=%2Fmath-quiz%2Ftags%2F0.4",[],{"version":447,"download_url":448,"svn_tag_url":449,"released_at":27,"has_diff":250,"diff_files_changed":450,"diff_lines":27,"trac_diff_url":451,"vulnerabilities":452,"is_current":250},"0.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.0.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F0.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F0.2&new_path=%2Fmath-quiz%2Ftags%2F0.3",[],{"version":454,"download_url":455,"svn_tag_url":456,"released_at":27,"has_diff":250,"diff_files_changed":457,"diff_lines":27,"trac_diff_url":458,"vulnerabilities":459,"is_current":250},"0.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.0.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F0.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmath-quiz%2Ftags%2F0.1&new_path=%2Fmath-quiz%2Ftags%2F0.2",[],{"version":461,"download_url":462,"svn_tag_url":463,"released_at":27,"has_diff":250,"diff_files_changed":464,"diff_lines":27,"trac_diff_url":27,"vulnerabilities":465,"is_current":250},"0.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmath-quiz.0.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmath-quiz\u002Ftags\u002F0.1\u002F",[],[]]