[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fbawLelGT-9t4KUAClt5d-L9Gmt7JLEC6jUKxhWB6T4Y":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":18,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":39,"analysis":139,"fingerprints":298},"tinymce-spellcheck","TinyMCE Spellcheck","1.3","Matthew Muro","https:\u002F\u002Fprofiles.wordpress.org\u002Fmmuro\u002F","\u003Cp>TinyMCE Spellcheck adds the spellcheck button back to the editor in WordPress 3.6 and up. This is a fork of the After the Deadline plugin which is now a part of Jetpack.\u003C\u002Fp>\n","TinyMCE Spellcheck adds the spellcheck button back to the editor in WordPress 3.6 and up.",3000,51948,76,12,"2017-11-28T16:56:00.000Z","4.0.38","3.6","",[20,21,22,23,24],"grammar","spell","spellchecker","spelling","writing","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftinymce-spellcheck.1.3.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":35,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"mmuro",4,23210,84,1663,68,"2026-04-04T06:04:40.036Z",[40,65,83,101,120],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":50,"num_ratings":51,"last_updated":52,"tested_up_to":53,"requires_at_least":54,"requires_php":55,"tags":56,"homepage":62,"download_link":63,"security_score":64,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"webspellchecker","WProofreader spell & grammar check plugin for WordPress","3.0.0","WebSpellChecker","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebspellchecker\u002F","\u003Cp>WProofreader plugin for WordPress scans and checks your website content for spelling,  grammar, punctuation and style issues. No banner ads on your website!\u003C\u002Fp>\n\u003Cp>Compatible with the following WordPress versions:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>WordPress 4.x\u003C\u002Fli>\n\u003Cli>WordPress 5.x\u003C\u002Fli>\n\u003Cli>WordPress 6.x\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Free WProofreader plugin\u003C\u002Fstrong> supports only spell-check for 6 languages and comes with a usage limit of 10,000 words processed per day for a single website. Upon reaching the limit, the plugin stops working until the next day. Check more differences between WProofreader plugin free and pro versions below.\u003C\u002Fp>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FmhrZN87jydA?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch3>WProofreader Free and Pro versions\u003C\u002Fh3>\n\u003Ch4>Free version: ($0)\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Usage limit:\u003C\u002Fstrong> Up to 10,000 words processed per day for a single website. Once the daily limit is reached, the plugin will stop working.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Allowed number of websites:\u003C\u002Fstrong> 1 website.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Languages available for spell checking:\u003C\u002Fstrong> (6 languages) American English, British English, French, German, Italian and Spanish.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Languages available for grammar checking:\u003C\u002Fstrong> Not available.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User-level custom dictionary:\u003C\u002Fstrong> No cloud backup. The dictionary is only available in one browser on a single device.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Organization-level custom dictionary:\u003C\u002Fstrong> Not available.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Pro version: ($49)\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Usage limit:\u003C\u002Fstrong> Up to 100 million words processed per year. No daily limits applied.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Allowed number of websites:\u003C\u002Fstrong> unlimited\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Languages available for spell checking:\u003C\u002Fstrong> 20+ popular languages.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Languages available for grammar checking:\u003C\u002Fstrong> Not all listed languages support grammar checks. \u003Ca href=\"https:\u002F\u002Fwebspellchecker.com\u002Fsupported-languages\u002F\" rel=\"nofollow ugc\">Here\u003C\u002Fa> is the updated list of supported languages and the ones marked for grammar check.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User-level custom dictionary:\u003C\u002Fstrong> Stored in the cloud, available from any browser or device. The user can freely access, review and modify the list of words in the dictionary.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Organization-level custom dictionary:\u003C\u002Fstrong> The subscription owner can create global dictionaries that will be available across all the connected websites.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>User functionality\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Proofreading modes\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>The check-as-you-type mode instantaneously detects writing mistakes and provides suggestions on-hover.\u003C\u002Fli>\n\u003Cli>The proofread-in-dialog mode aggregates all the issues detected and suggestions provided.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Customizable dictionaries\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>User-level custom dictionary\u003C\u002Fstrong> allows end users to create personal dictionaries with specific words and terms (complex words, acronyms, proper names, etc.) and use them while working with WordPress. Once a word is added to a personal dictionary, it will not be considered as a misspelling, and will appear in the suggestions list. All customly added words are stored either in the browser local storage or on our cloud and are accessible from the browser\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Organization-level custom dictionary\u003C\u002Fstrong> allows creating company-wide dictionaries that extend the vocabulary of the standard dictionary with custom words specific to your company culture, industry, domain, etc. All the words added to an organization-level custom dictionary by the admin will be available to all users within your company. This type of dictionary is available only under the Pro version\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Specialized medical spelling dictionaries\u003C\u002Fstrong> for English, German, French and Spanish  and legal dictionaries for English. Available for both — free and Pro versions of the plugin\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Feature-rich\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Multi-language support\u003C\u002Fli>\n\u003Cli>Spelling autocorrect functionality for instant correction of common typos\u003C\u002Fli>\n\u003Cli>Autocomplete suggestions functionality for faster writing\u003C\u002Fli>\n\u003Cli>Style guide functionality with pre-defined non-inclusive and profanity language check for professional writing\u003C\u002Fli>\n\u003Cli>User-level and organization-level dictionaries\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>User-friendly and up-to-date\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Straightforward plugin configuration (check the video tutorial)\u003C\u002Fli>\n\u003Cli>Visible and intuitive text check with different colors used for  spelling, grammar, and style guide issues\u003C\u002Fli>\n\u003Cli>Easily toggle on\u002Foff the plugin button\u003C\u002Fli>\n\u003Cli>Support the latest version of WordPress\u003C\u002Fli>\n\u003Cli>Seamlessly integrates with the WordPress latest editor — Gutenberg and compatible with the classic editor of WordPress 4.x.\u003C\u002Fli>\n\u003Cli>Support of the browsers: \u003Cem>Chrome, Firefox, Safari, Microsoft Edge, Internet Explorer 11\u003C\u002Fem>\u003C\u002Fli>\n\u003Cli>Content elements supported: \u003Cem>pages, posts, tag descriptions, category descriptions, WooCommerce, WP eCommerce product descriptions, any custom post types, meta description fields of Yoast SEO plugin.\u003C\u002Fem>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Benefits of  WProofreader plugin for WordPress\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>It saves time proofreading in any of the two modes – check-as-you type and proofread-in-dialog.\u003C\u002Fli>\n\u003Cli>You can create and maintain quality posts in different languages without worries about possible mistakes.\u003C\u002Fli>\n\u003Cli>Advanced functionality for spelling autocorrect, autocomplete suggestions and style guide for faster and more productive writing.\u003C\u002Fli>\n\u003C\u002Ful>\n","WProofreader checks spelling, grammar, and style in real-time while editing in WordPress.",4000,93565,74,15,"2025-10-31T15:01:00.000Z","6.8.5","6.3","7.4",[57,58,59,60,61],"grammar-check","proofreading","spell-check","typo-correction","writing-assistant","https:\u002F\u002Fwebspellchecker.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwebspellchecker.3.0.0.zip",100,{"slug":66,"name":67,"version":68,"author":69,"author_profile":70,"description":71,"short_description":72,"active_installs":64,"downloaded":73,"rating":64,"num_ratings":74,"last_updated":75,"tested_up_to":76,"requires_at_least":77,"requires_php":18,"tags":78,"homepage":81,"download_link":82,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"gourl-spelling-notifications","Webmaster Spelling Notifications","1.1.2","gourl","https:\u002F\u002Fprofiles.wordpress.org\u002Fgourl\u002F","\u003Cul>\n\u003Cli>100% Free Open Source Plugin on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcryptoapi\u002FWordpress-Spelling-Notifications\" rel=\"nofollow ugc\">Github.com\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>The plugin allows site visitors to send reports to the webmaster \u002F website owner about any spelling or grammatical errors which may be found by readers\u003C\u002Fli>\n\u003Cli>Visitors should select text with a mouse, press Ctrl+Enter, enter comments and the webmaster will be notified about any such errors\u003C\u002Fli>\n\u003Cli>Nice and simple plugin – no external websites needed and fully customizable; change the plugin language !\u003C\u002Fli>\n\u003Cli>If you intend plugin to be used in a language other than English, see the \u003Ca href=\"https:\u002F\u002Fgourl.io\u002Flanguages.html\" rel=\"nofollow ugc\">Language Translations page\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>It is easy to integrate with any website!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Screenshots and Demo: \u003Ca href=\"https:\u002F\u002Fgourl.io\u002Fphp-spelling-notifications.html\" rel=\"nofollow ugc\">https:\u002F\u002Fgourl.io\u002Fphp-spelling-notifications.html\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Twitter: \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002FCryptocoinAPI\" rel=\"nofollow ugc\">https:\u002F\u002Ftwitter.com\u002FCryptocoinAPI\u003C\u002Fa>\u003C\u002Fp>\n","Plugin allows site visitors to send reports to the webmaster\u002Fowner about any spelling or grammatical errors. Spelling checker on your website.",100778,3,"2021-07-13T16:56:00.000Z","5.8.13","3.5",[69,20,79,23,80],"spell-checker","spelling-checker","https:\u002F\u002Fgourl.io\u002Fphp-spelling-notifications.html","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgourl-spelling-notifications.zip",{"slug":84,"name":85,"version":86,"author":87,"author_profile":88,"description":89,"short_description":90,"active_installs":64,"downloaded":91,"rating":92,"num_ratings":93,"last_updated":94,"tested_up_to":95,"requires_at_least":96,"requires_php":97,"tags":98,"homepage":18,"download_link":100,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"perfect-tense","Perfect Tense – Spelling and Grammar Checker","1.0.1","Perfect Tense","https:\u002F\u002Fprofiles.wordpress.org\u002Fperfecttense\u002F","\u003Cp>Perfect Tense is an AI-powered, spelling and grammar corrector. Perfect Tense will automatically detect and fix mistakes, proofread entire blog posts, and even block low-quality posts and comments.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What does the Perfect Tense plugin allow you to do?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Automatically correct all posts\u003C\u002Fstrong> Save time by having Perfect Tense automatically correct and update all selected posts with the click of a button.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Assess grammar quality\u003C\u002Fstrong> Sort all posts by their 0-100 grammatical quality so you know which posts are ready to publish and which need more attention.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Proofread individual posts\u003C\u002Fstrong> Visualize all mistakes in an individual post, giving you complete control over which changes are applied.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Correct all future posts\u003C\u002Fstrong> Whenever you set a post to be published, Perfect Tense will automatically proofread and correct any errors.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flag future posts for review\u003C\u002Fstrong> For more control, Perfect Tense will flag posts with grammar mistakes so they can be proofread one more time before they are published.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flag low quality comments\u003C\u002Fstrong> Set any grammar score threshold you want to mark low quality comments as spam.\u003C\u002Fli>\n\u003C\u002Ful>\n","Perfect Tense is an AI-powered, spelling and grammar corrector. Perfect Tense will automatically detect and fix mistakes, proofread entire blog posts, &hellip;",3782,20,1,"2018-07-11T17:51:00.000Z","4.9.29","3.0.1","5.2.4",[20,58,99,59,23],"seo","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fperfect-tense.zip",{"slug":102,"name":103,"version":104,"author":105,"author_profile":106,"description":107,"short_description":108,"active_installs":109,"downloaded":110,"rating":64,"num_ratings":93,"last_updated":111,"tested_up_to":95,"requires_at_least":112,"requires_php":18,"tags":113,"homepage":118,"download_link":119,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"flip","FLiP – Portuguese Proofing Tools","1.5.14","priberam","https:\u002F\u002Fprofiles.wordpress.org\u002Fpriberam\u002F","\u003Cp>IMPORTANT: The free version of the plugin only checks the spelling of the texts in the pre 1990 Spelling Reform and doesn’t present any suggestions for the errors. This means that no grammar and style checking is done and only texts following the pre 1990 Spelling Reform can be used.\u003Cbr \u002F>\nTo unleash all the features of the plugin you should get a key to have access to Priberam’s proofing API.\u003C\u002Fp>\n\u003Cp>Not compatible with Gutenberg.\u003C\u002Fp>\n","IMPORTANT: The free version of the plugin only checks the spelling of the texts in the pre 1990 Spelling Reform and doesn’t present any suggestions fo &hellip;",90,4807,"2020-02-03T10:17:00.000Z","4.3",[114,115,116,117],"grammar-checker","speller","spelling-reform","style-checker","https:\u002F\u002Fwww.flip.pt\u002FProdutos\u002FPlugin-do-FLiP-para-WordPress","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fflip.1.5.14.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":33,"last_updated":131,"tested_up_to":132,"requires_at_least":133,"requires_php":134,"tags":135,"homepage":18,"download_link":137,"security_score":138,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"qalam","Qalam Arabic AI Writing Assistant Plugin | Qalam","1.0.4","Qalam.ai","https:\u002F\u002Fprofiles.wordpress.org\u002Fqalam\u002F","\u003Cp>Qalam plugin for WordPress naturally scans and checks your website content not only limited to grammar and spell check but also punctuation and style of your content. Besides that, it suggests better phrases, and allows you to do Auto-Tashkeel “Diacritization” and Proofread Ayat text.\u003C\u002Fp>\n\u003Cp>Caveat though, Qalam plugin does not proofread the whole website at a time. It proofreads only when the content on your website is in editing mode.\u003C\u002Fp>\n\u003Cp>Compatible with the following WordPress versions:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>WordPress 5.x\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>The plugin’s operation modes:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Check as you type spontaneously detects spelling and grammar mistakes and on hover provides suggestions.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Check in floating dialog proofreads in floating dialog with aggregated suggestions.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>ELEGANT AND USER-FRIENDLY\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Straightforward configuration\u003C\u002Fli>\n\u003Cli>There is no ad banners\u003C\u002Fli>\n\u003Cli>Auto Tashkeel “Diacritization” with different intensities\u003C\u002Fli>\n\u003Cli>Suggests better wording and phrases\u003C\u002Fli>\n\u003Cli>Proofread Ayat text\u003C\u002Fli>\n\u003Cli>Color-coded spelling, grammar, and punctuation\u003C\u002Fli>\n\u003Cli>Easily toggle on\u002Foff button\u003C\u002Fli>\n\u003Cli>Add words to custom dictionary and access it everywhere\u003C\u002Fli>\n\u003Cli>Support the latest version of WordPress\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>MODERN AND UP TO DATE\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Seamlessly integrates with WordPress latest editor – Gutenberg and backward compatible with the classic editor of WordPress 5.x\u003C\u002Fli>\n\u003Cli>The following browsers are supported:\n\u003Cul>\n\u003Cli>Chrome\u003C\u002Fli>\n\u003Cli>Firefox\u003C\u002Fli>\n\u003Cli>Safari\u003C\u002Fli>\n\u003Cli>Microsoft Edge\u003C\u002Fli>\n\u003Cli>Internet Explorer 11\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>For good measure, most of our clients use Qalam plugin for WordPress because:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>To save time proofreading using anyone of the two modes – check as you type and in floating dialog.\u003C\u002Fli>\n\u003Cli>Do full Tashkeel “Diacritization” with simple one click>\u003C\u002Fli>\n\u003Cli>They are heavy posters, with multiple articles to release.\u003C\u002Fli>\n\u003Cli>Some editor work or proofread contents created by others.\u003C\u002Fli>\n\u003Cli>The nature of their business is highly competitive and cannot afford typos and poor-quality written content.\u003C\u002Fli>\n\u003C\u002Ful>\n","Qalam plugin for WordPress adds AI based grammar, spell check, and Tashkeel \"Diacritization\" capabilities to your website content in Arabic Language.",30,2655,80,"2024-08-13T06:47:00.000Z","6.6.5","5.2","7.2",[20,58,59,23,136],"tashkeel-diacritization","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqalam.1.0.4.zip",92,{"attackSurface":140,"codeSignals":210,"taintFlows":245,"riskAssessment":284,"analyzedAt":297},{"hooks":141,"ajaxHandlers":193,"restRoutes":207,"shortcodes":208,"cronEvents":209,"entryPointCount":74,"unprotectedCount":74},[142,148,153,157,160,163,167,171,175,178,181,185,189],{"type":143,"name":144,"callback":145,"file":146,"line":147},"action","admin_print_scripts","TSpell_init_l10n_js","includes\\atd-l10n.php",40,{"type":149,"name":150,"callback":151,"file":152,"line":13},"filter","mce_external_plugins","add_TSpell_tinymce_plugin","tinymce-spellcheck.php",{"type":149,"name":154,"callback":155,"file":152,"line":156},"mce_buttons","register_TSpell_button",77,{"type":143,"name":158,"callback":159,"file":152,"line":130},"personal_options_update","TSpell_process_options_update",{"type":143,"name":158,"callback":161,"file":152,"line":162},"TSpell_process_unignore_update",81,{"type":143,"name":164,"callback":165,"file":152,"line":166},"profile_personal_options","TSpell_config",82,{"type":149,"name":168,"callback":169,"file":152,"line":170},"wp_fullscreen_buttons","TSpell_fullscreen",248,{"type":149,"name":172,"callback":173,"file":152,"line":174},"tiny_mce_before_init","TSpell_change_mce_settings",255,{"type":143,"name":144,"callback":176,"file":152,"line":177},"TSpell_load_javascripts",258,{"type":143,"name":144,"callback":179,"file":152,"line":180},"TSpell_load_submit_check_javascripts",259,{"type":143,"name":182,"callback":183,"file":152,"line":184},"admin_print_styles","TSpell_load_css",260,{"type":143,"name":186,"callback":187,"file":152,"line":188},"init","TSpell_addbuttons",263,{"type":143,"name":190,"callback":191,"file":152,"line":192},"plugins_loaded","TSpell_languages",274,[194,199,203],{"action":195,"nopriv":196,"callback":197,"hasNonce":196,"hasCapCheck":196,"file":152,"line":198},"proxy_atd",false,"TSpell_redirect_call",266,{"action":200,"nopriv":196,"callback":201,"hasNonce":196,"hasCapCheck":196,"file":152,"line":202},"atd_ignore","TSpell_ignore_call",267,{"action":204,"nopriv":196,"callback":205,"hasNonce":196,"hasCapCheck":196,"file":152,"line":206},"atd_settings","TSpell_settings",268,[],[],[],{"dangerousFunctions":211,"sqlUsage":212,"outputEscaping":214,"fileOperations":93,"externalRequests":93,"nonceChecks":93,"capabilityChecks":239,"bundledLibraries":240},[],{"prepared":27,"raw":27,"locations":213},[],{"escaped":74,"rawEcho":14,"locations":215},[216,220,221,222,223,224,227,229,231,233,235,237],{"file":217,"line":218,"context":219},"includes\\config-options.php",13,"raw output",{"file":217,"line":218,"context":219},{"file":217,"line":218,"context":219},{"file":217,"line":218,"context":219},{"file":217,"line":218,"context":219},{"file":225,"line":226,"context":219},"includes\\proxy.php",66,{"file":152,"line":228,"context":219},159,{"file":152,"line":230,"context":219},162,{"file":152,"line":232,"context":219},165,{"file":152,"line":234,"context":219},168,{"file":152,"line":236,"context":219},172,{"file":152,"line":238,"context":219},206,2,[241],{"name":242,"version":243,"knownCves":244},"TinyMCE","1.0",[],[246,263,276],{"entryPoint":247,"graph":248,"unsanitizedCount":93,"severity":262},"TSpell_redirect_call (includes\\proxy.php:41)",{"nodes":249,"edges":260},[250,255],{"id":251,"type":252,"label":253,"file":225,"line":254},"n0","source","$_GET",45,{"id":256,"type":257,"label":258,"file":225,"line":226,"wp_function":259},"n1","sink","echo() [XSS]","echo",[261],{"from":251,"to":256,"sanitized":196},"medium",{"entryPoint":264,"graph":265,"unsanitizedCount":27,"severity":275},"\u003Cconfig-unignore> (includes\\config-unignore.php:0)",{"nodes":266,"edges":272},[267,270],{"id":251,"type":252,"label":268,"file":269,"line":254},"$_POST","includes\\config-unignore.php",{"id":256,"type":257,"label":258,"file":269,"line":271,"wp_function":259},129,[273],{"from":251,"to":256,"sanitized":274},true,"low",{"entryPoint":277,"graph":278,"unsanitizedCount":93,"severity":275},"\u003Cproxy> (includes\\proxy.php:0)",{"nodes":279,"edges":282},[280,281],{"id":251,"type":252,"label":253,"file":225,"line":254},{"id":256,"type":257,"label":258,"file":225,"line":226,"wp_function":259},[283],{"from":251,"to":256,"sanitized":196},{"summary":285,"deductions":286},"The tinymce-spellcheck v1.3 plugin exhibits a mixed security posture. While it demonstrates good practices in handling SQL queries with prepared statements and has no recorded vulnerabilities or CVEs, significant concerns arise from its attack surface. All three identified AJAX handlers lack authentication checks, presenting a direct pathway for unauthorized actions if these handlers can be triggered by unauthenticated users. Furthermore, the taint analysis revealed two flows with unsanitized paths, indicating a potential for injection vulnerabilities, although these were not classified as critical or high. The plugin also shows a low percentage of properly escaped output, suggesting a risk of cross-site scripting (XSS) vulnerabilities, particularly when data processed by these unsanitized paths is later displayed.\n\nThe complete absence of known vulnerabilities is a strong positive, implying a history of relatively secure development or effective patching. However, this cannot entirely mitigate the risks identified in the static analysis. The critical weaknesses lie in the unprotected entry points and the unsanitized data flows. These could be exploited to execute arbitrary code, manipulate data, or compromise user sessions. Therefore, while the plugin has a clean vulnerability history, the current code analysis highlights areas requiring immediate attention to prevent potential security incidents.",[287,289,292,295],{"reason":288,"points":51},"Unprotected AJAX handlers",{"reason":290,"points":291},"Flows with unsanitized paths",10,{"reason":293,"points":294},"Low percentage of properly escaped output",8,{"reason":296,"points":74},"Bundled outdated library (TinyMCE v1.0)","2026-03-16T18:26:59.880Z",{"wat":299,"direct":316},{"assetPaths":300,"generatorPatterns":306,"scriptPaths":307,"versionParams":310},[301,302,303,304,305],"\u002Fwp-content\u002Fplugins\u002Ftinymce-spellcheck\u002Fjs\u002Fatd.core.js","\u002Fwp-content\u002Fplugins\u002Ftinymce-spellcheck\u002Fjs\u002Fatd-nonvis-editor-plugin.js","\u002Fwp-content\u002Fplugins\u002Ftinymce-spellcheck\u002Fjs\u002Fjquery.atd.js","\u002Fwp-content\u002Fplugins\u002Ftinymce-spellcheck\u002Fjs\u002Fatd-autoproofread.js","\u002Fwp-content\u002Fplugins\u002Ftinymce-spellcheck\u002Fcss\u002Fatd.css",[],[308,309],"\u002Fwp-content\u002Fplugins\u002Ftinymce-spellcheck\u002Ftinymce\u002Fplugin.js","\u002Fwp-content\u002Fplugins\u002Ftinymce-spellcheck\u002Ftinymce\u002Feditor_plugin.js",[311,312,313,314,315],"tinymce-spellcheck\u002Fjs\u002Fatd.core.js?ver=","tinymce-spellcheck\u002Fjs\u002Fatd-nonvis-editor-plugin.js?ver=","tinymce-spellcheck\u002Fjs\u002Fjquery.atd.js?ver=","tinymce-spellcheck\u002Fjs\u002Fatd-autoproofread.js?ver=","tinymce-spellcheck\u002Fcss\u002Fatd.css?ver=",{"cssClasses":317,"htmlComments":318,"htmlAttributes":323,"restEndpoints":325,"jsGlobals":327,"shortcodeOutput":334},[],[319,320,321,322],"\u003C!-- kill the spellchecker.. don't need no steenkin PHP spell checker -->","\u003C!-- hrm... ok add us last plz -->","\u003C!-- Spits out user options for auto-proofreading on publish\u002Fupdate -->","\u003C!-- Helper used to check if javascript should be added to page. Helps avoid bloat in admin -->",[324],"data-atd-autoproofread",[326],"\u002Fwp-json\u002Ftinymce-spellcheck\u002Fv1\u002Fsettings",[328,329,330,331,332,333],"AtD.rpc","AtD.api_key","AtD.setIgnoreStrings","AtD.showTypes","AtD.rpc_ignore","TSpell_check_when",[]]