[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fQr118XRKuF6Mq1T4iYeaG1GA1-ha4uwC7w2hpRn2cNw":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":15,"requires_php":16,"tags":17,"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":33,"analysis":126,"fingerprints":218},"keymanweb","KeymanWeb","0.2","shankarkrupa","https:\u002F\u002Fprofiles.wordpress.org\u002Fshankarkrupa\u002F","\u003Cp>\n  This plugin integrates a KeymanWeb Subscription into the admin pages of your blog, so you can blog in your language from anywhere!  If you have not already done so,\u003Cbr \u002F>\n  you will need to \u003Ca href='http:\u002F\u002Fwww.tavultesoft.com\u002Faccount\u002Fhome\u002Fkmw\u002F' rel=\"nofollow ugc\">sign up for a free subscription\u003C\u002Fa>.  In the subscription sign up, you can\u003Cbr \u002F>\n  choose the languages you want to type in and the user interface design for KeymanWeb.  We recommend the Button user interface!  Any of the other designs should also\u003Cbr \u002F>\n  work, except for the Toolbar interface, which will be available in a future update.\n\u003C\u002Fp>\n\u003Cp>\n  The last page of the KeymanWeb Subscription sign up process is a “Get HTML” page.  The KeymanWeb Header Code field below should be copied from this page.  Note:\u003Cbr \u002F>\n  We recommend leaving the KeymanWeb Control Code field blank, as this plug-in will enhance the default control for nicer WordPress integration.\n\u003C\u002Fp>\n\u003Cp>Please let me know if you have any issues in getting this work with your version of wordpress. I can be reached through shankarkrupa at yahoo dot com\u003C\u002Fp>\n\u003Cp>\u003Ca href='http:\u002F\u002Fwww.krupashankar.com\u002Fplugins\u002Fkeymanweb' rel=\"nofollow ugc\">About this Plug-in\u003C\u002Fa> &nbsp;\u003Cbr \u002F>\n  \u003Ca href='http:\u002F\u002Fwww.tavultesoft.com\u002Faccount\u002Fhome\u002Fkmw\u002F' rel=\"nofollow ugc\">Manage Your KeymanWeb Subscription\u003C\u002Fa> &nbsp;\u003Cbr \u002F>\n  \u003Ca href='http:\u002F\u002Fwww.tavultesoft.com\u002F' rel=\"nofollow ugc\">Tavultesoft Home\u003C\u002Fa> &nbsp;\u003Cbr \u002F>\n  \u003Ca href='http:\u002F\u002Fwww.tavultesoft.com\u002Fkeyman\u002Fdownloads\u002Fkeyboards\u002F' rel=\"nofollow ugc\">Tavultesoft Keyboard Downloads for Windows\u003C\u002Fa>\u003C\u002Fp>\n","Enable custom keyboard input methodology in various input fields using your free Tavultesoft KeymanWeb Subscription",10,1836,0,"2012-03-20T00:29:00.000Z","2.1","",[18,19,20,21],"custom","keyboard-input","language","tamil","http:\u002F\u002Fwww.krupashankar.com\u002Fplugins\u002Fkeymanweb","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fkeymanweb.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":29,"total_installs":11,"avg_security_score":24,"avg_patch_time_days":30,"trust_score":31,"computed_at":32},1,30,84,"2026-04-04T11:36:36.263Z",[34,55,75,93,110],{"slug":35,"name":36,"version":37,"author":38,"author_profile":39,"description":40,"short_description":41,"active_installs":42,"downloaded":43,"rating":31,"num_ratings":44,"last_updated":45,"tested_up_to":46,"requires_at_least":47,"requires_php":16,"tags":48,"homepage":53,"download_link":54,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"wp-slug-post-type-custom-language","WP Slug Post Type Custom Language (Polylang)","1.0.7","carlosramosweb","https:\u002F\u002Fprofiles.wordpress.org\u002Fcarlosramosweb\u002F","\u003Ch4>Description\u003C\u002Fh4>\n\u003Cp>Change your internal URLs (Slug) of your custom Post Type to the desired language of the system.\u003C\u002Fp>\n\u003Cp>Take the opportunity to change your internal URL (Slug) to your custom Post Type by linking to the desired language in the Polylang or WordPress system. Very easy!\u003C\u002Fp>\n\u003Ch4>Example\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>If the language is Portuguese Brazil the internal URL of the Post Type Custom Team will be (pt\u002Fequipe\u002Fcriacaocriativa\u002F).\u003C\u002Fli>\n\u003Cli>If the language is English USA the internal URL of the Post Type Custom Team will be (en\u002Fteam\u002Fcriacaocriativa\u002F).\u003C\u002Fli>\n\u003Cli>The change of team to team, or vice versa, becomes necessary and helps in SEO.\u003C\u002Fli>\n\u003Cli>This only changes in the configuration of WordPress, without you need to understand coding.\u003C\u002Fli>\n\u003Cli>When you disable the plugin, everything will return to normal.\u003C\u002Fli>\n\u003Cli>When enabled, the previous settings you left will return.\u003C\u002Fli>\n\u003Cli>If you delete the plugin from the directory, then yes, it will erase the settings and everything returns when before the plugin is activated.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This file is part of WP Slug Post Type Custom Language (Polylang).\u003Cbr \u002F>\nWP Slug Post Type Custom Language (Polylang) is free software: you can redistribute it and\u002For modify it under the terms of the GNU General Public License as published\u003Cbr \u002F>\nby the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\u003Cbr \u002F>\nWP Slug Post Type Custom Language (Polylang) is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of\u003Cbr \u002F>\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\u003Cbr \u002F>\nYou should have received a copy of the GNU General Public License along with WP Slug Post Type Custom Language (Polylang). If not, see \u003Ca href=\"http:\u002F\u002Fwww.gnu.org\u002Flicenses\u002F\" rel=\"nofollow ugc\">http:\u002F\u002Fwww.gnu.org\u002Flicenses\u002F\u003C\u002Fa>.\u003C\u002Fp>\n","Change your internal URLs (Slug) of your custom Post Type to the desired language of the system (Polylang).",300,7221,6,"2022-12-24T11:22:00.000Z","6.1.10","3.5",[20,49,50,51,52],"polylang","post-custom","post_type","slug","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-slug-post-type-custom-language\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-slug-post-type-custom-language.zip",{"slug":56,"name":57,"version":58,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":63,"downloaded":64,"rating":13,"num_ratings":13,"last_updated":65,"tested_up_to":66,"requires_at_least":67,"requires_php":16,"tags":68,"homepage":73,"download_link":74,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"advanced-custom-fields-wpml-language-selector","Advanced Custom Fields: WPML Language Selector Field","1.2.1","Ivan Paulin","https:\u002F\u002Fprofiles.wordpress.org\u002Fivan_paulin\u002F","\u003Cp>Custom field addon for Advanced Custom Fields plugin which provides a list of used WPML languages on website.\u003Cbr \u002F>\nPossibility to have multiple choices, or just one.\u003C\u002Fp>\n\u003Cp>It will not work if WPML plugin is not activated.\u003C\u002Fp>\n\u003Cp>Return type is array which holds the language code(it, en, fr, de, etc..).\u003C\u002Fp>\n\u003Ch4>Compatibility\u003C\u002Fh4>\n\u003Cp>This ACF field type is compatible with:\u003Cbr \u002F>\n* ACF 4\u003Cbr \u002F>\n* ACF 5\u003C\u002Fp>\n","Custom field addon for Advanced Custom Fields plugin which provides a list of used WPML languages on website.",100,3085,"2016-01-25T22:14:00.000Z","4.4.34","4.0",[69,70,20,71,72],"acf","custom-field","language-select","wpml","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadvanced-custom-fields-wpml-language-selector\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-custom-fields-wpml-language-selector.zip",{"slug":76,"name":77,"version":78,"author":79,"author_profile":80,"description":81,"short_description":82,"active_installs":11,"downloaded":83,"rating":13,"num_ratings":13,"last_updated":84,"tested_up_to":85,"requires_at_least":86,"requires_php":16,"tags":87,"homepage":91,"download_link":92,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"language-code","Language Code Classification","0.1.3 Beta","sillinguist","https:\u002F\u002Fprofiles.wordpress.org\u002Fsillinguist\u002F","\u003Cp>This plugin is designed to allow a WordPress user to add an ISO 639-3 language code to in a custom field related to their post so that their posts can be organized by ISO 639-3 code. One advantage of this would be to list their WordPress install as a language resource with \u003Ca href=\"http:\u002F\u002Fwww.language-archives.org\u002F\" title=\"OLAC: Open Language Archives Community\" rel=\"nofollow ugc\">OLAC\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Known bugs and\u002For conflicts\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>version 0.1.3 \u003Cstrong>None\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>version 0.1.2-beta  plugin folder needs to be renamed to langauge_code this is corrected in version 0.1.3\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Development Plan\u003C\u002Fh3>\n\u003Cp>0.1.4: IN PROGRESS\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>It would be nice to add the functionality to the plugin to allow an author to replace or insert any text field with the one auto suggesting language codes, by calling a function. It should probably have syntax or form after the order of: place \u003Ccode>\u003C?php do_action('plugin_name_hook'); ?>\u003C\u002Fcode> in the templates\u002Fwidget\u002F. The end result for the user would be that they could create a meta-data input from more than just the admin area (i.e. a from in another plugin, like a form creator, or the front end of WP.)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Need to Validate input against table (instead of writing straight to the DB, write to cache, validate and then to DB) e.g. what if someone types in ‘zzz’ and ‘zzz’ is not a language code?\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Add multiple codes to a post dynamically e.g. (I have a data file with 2 languages connected to one post, but not every post.)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Translation file (A \u003Ccode>.po\u003C\u002Fcode> file This is a two fold issue Language names are different in different languages i.e. Deutsch, German, Allemand. This might be a table being developed by another part of the ISO 639 standard. Possibly, 639-6 See this wikipedia article \u003Ca href=\"http:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FISO_639-6\" title=\"http:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FISO_639-6\" rel=\"nofollow ugc\">http:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FISO_639-6\u003C\u002Fa>)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Add hook for disply in theme per key\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Because each of the ISO 639-3 codes are stored in a custom field, and each custom field has two parts, a key and a value, It is necessary to be able to set the key as well as the value (and the default key). The Plug-in in its current state has only focused on adding the value part of the key-value pair. It is important for developers to know that a single post should be able to have more than one key with language codes in them. For example, if I have a post which is a linguistics exercise in phonology, then I might want to put the language of the instructions of the exercise in one key and the language code of the exercise data in another key.\u003C\u002Fp>\n\u003Cp>An entirely different scenario is one where a post has two languages under one key. This is currently unaccounted for with the current state of the plug-in. E.g. If in the body of a post an author were to use two languages equally then they might want to use the same key to represent both languages.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Promote at Weblog Tools Collection\u003C\u002Fli>\n\u003Cli>Promote Using Social Networking\u003C\u002Fli>\n\u003Cli>Promote On Your Own Blog\n\u003Cul>\n\u003Cli>The download location.\u003C\u002Fli>\n\u003Cli>A list of features.\u003C\u002Fli>\n\u003Cli>Contact or support information (or comments enabled)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>0.1.5:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Auto detect and import of SIL’s tab file when SIL updates their tab file at: \u003Ca href=\"http:\u002F\u002Fwww.sil.org\u002FISO639-3\u002Fiso-639-3_20090210.tab\" title=\"http:\u002F\u002Fwww.sil.org\u002FISO639-3\u002Fiso-639-3_20090210.tab\" rel=\"nofollow ugc\">http:\u002F\u002Fwww.sil.org\u002FISO639-3\u002Fiso-639-3_20090210.tab\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Update notice to the user so that they know to update their plug-in every year when SIL updates their ISO changes. Or decide to follow a regular release cycle (at least annually) and maintenance with this plugin.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>pursue use of ISO 639-3 in conjunction with the doublin core metadata standard\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Doublin Core metadata plugin\n\u003Cul>\n\u003Cli>http:\u002F\u002Fwww.brainonfire.net\u002Fblog\u002Fadd-dublin-core-metadata-to-wordpress\u002F\u003C\u002Fli>\n\u003Cli>http:\u002F\u002Fwww.brainonfire.net\u002Fresources\u002Ffiles\u002Fdublin-core-for-wordpress\u002F\u003C\u002Fli>\n\u003Cli>http:\u002F\u002Fdublincore.org\u002Fdocuments\u002Fdcmi-terms\u002F\u003C\u002Fli>\n\u003Cli>http:\u002F\u002Fdublincore.org\u002Fdocuments\u002Fdcmi-terms\u002F#ses-ISO639-3\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>2.0 :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Consider development beyond ISO 639-3 to ISO 639.\u003C\u002Fli>\n\u003C\u002Ful>\n","This plugin adds the ability to add an ISO 639-3 language code to the custom field of a post.",2574,"2010-01-01T18:30:00.000Z","2.9.2","2.7",[70,20,88,89,90],"library","linguistics","metadata","http:\u002F\u002FURI_Of_Page_Describing_Plugin_and_Updates","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flanguage-code.zip",{"slug":94,"name":95,"version":96,"author":97,"author_profile":98,"description":99,"short_description":100,"active_installs":11,"downloaded":101,"rating":13,"num_ratings":13,"last_updated":102,"tested_up_to":103,"requires_at_least":47,"requires_php":16,"tags":104,"homepage":108,"download_link":109,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"post-title-furigana","Post Title Furigana","1.0","sysbird","https:\u002F\u002Fprofiles.wordpress.org\u002Fsysbird\u002F","\u003Cp>Automatically set Japanese Reading title into the custom field.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>When you enter the post title and move the focus, Automatically set Japanese Reading into the custom field.  \u003C\u002Fli>\n\u003Cli>It does not do anything if there is a Japanese Reading already.  \u003C\u002Fli>\n\u003Cli>Japanese Reading saved in the custom field named ‘ptf_furigana’.  \u003C\u002Fli>\n\u003Cli>You can also edit Japanese Reading later.  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Go to “Post Title Furigana” Settings.  \u003C\u002Fli>\n\u003Cli>It uses text analysis Web API which Yahoo! JAPAN offers. Please Enter Your Application ID.\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fwww.yahoo-help.jp\u002Fapp\u002Fanswers\u002Fdetail\u002Fp\u002F537\u002Fa_id\u002F43397\" rel=\"nofollow ugc\">What the Application ID?\u003C\u002Fa>  \u003C\u002Fli>\n\u003Cli>Select the posttype you want use the plugin.\u003C\u002Fli>\n\u003Cli>When you enter the post title and move the focus, Automatically set Japanese Reading into the custom field.  \u003C\u002Fli>\n\u003Cli>It does not do anything if there is a Japanese Reading already.  \u003C\u002Fli>\n\u003Cli>Japanese Reading saved in the custom field named ‘ptf_furigana’.  \u003C\u002Fli>\n\u003Cli>You can also edit Japanese Reading later.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Contributors\u003C\u002Fh4>\n\u003Cp>TORIYAMA Yuko at \u003Ca href=\"http:\u002F\u002Fwww.sysbird.jp\u002Fwptips\u002F\" rel=\"nofollow ugc\">sysbird\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>More Information\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.sysbird.jp\u002Fwptips\u002Fpost-title-furigana\u002F\" rel=\"nofollow ugc\">Description for Japanese\u003C\u002Fa>\u003C\u002Fp>\n","Automatically set Japanese Reading title into the custom field.",1393,"2013-11-14T11:40:00.000Z","3.7.41",[105,70,20,106,107],"admin","post","yahoo","http:\u002F\u002Fwww.sysbird.jp\u002Fwptips\u002Fpost-title-furigana\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost-title-furigana.1.0.zip",{"slug":111,"name":112,"version":113,"author":114,"author_profile":115,"description":116,"short_description":117,"active_installs":11,"downloaded":118,"rating":13,"num_ratings":13,"last_updated":119,"tested_up_to":120,"requires_at_least":16,"requires_php":16,"tags":121,"homepage":124,"download_link":125,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"wp-google-lang-transliteration","WPGoogleLangTransliteration","1.3","Rajesh","https:\u002F\u002Fprofiles.wordpress.org\u002Frajesh-babu\u002F","\u003Cp>WPGoogleLangTransliteration Plugin offers Complete language transliteration support for your wordpress blogs in Tamil, Telugu, Hindi, Malayalam, Kannada, Arabic, Nepali, Marathi, Punjabi, Bengali, Gujarati and Urdu.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002FWPTransliteration.zip\" rel=\"nofollow ugc\">Download now!\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Findiafascinates.com\u002Fwp-google-language-transliteration-plugin\u002F\" rel=\"nofollow ugc\">Plugin URL\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Some features:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>* WordPress Post or Page Content in supported languages\n* WordPress Post or Page titles in supported languages\n* WordPress Post or Page URL slugs in supported languages\n* WordPress Post Categories and Tags in supported languages\n* Lets you blog\u002Fsite visitors to comment in supported languages\n\u003C\u002Fcode>\u003C\u002Fpre>\n","WPGoogleLangTransliteration Plugin offers Complete language transliteration support for your wordpress blogs.",6883,"2009-09-20T09:50:00.000Z","2.8.4",[20,21,122,123],"translation","transliteration","http:\u002F\u002Findiafacinates.com\u002FWPGoogleLangTransliteration\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-google-lang-transliteration.zip",{"attackSurface":127,"codeSignals":158,"taintFlows":178,"riskAssessment":204,"analyzedAt":217},{"hooks":128,"ajaxHandlers":154,"restRoutes":155,"shortcodes":156,"cronEvents":157,"entryPointCount":13,"unprotectedCount":13},[129,135,139,143,146,150],{"type":130,"name":131,"callback":132,"file":133,"line":134},"action","admin_menu","keymanweb_hookmenu","keymanweb.php",20,{"type":130,"name":136,"callback":137,"file":133,"line":138},"admin_head","keymanweb_insertkeymanheader",93,{"type":130,"name":140,"callback":141,"file":133,"line":142},"admin_footer","keymanweb_insertkeymanmenus",94,{"type":130,"name":144,"callback":145,"file":133,"line":63},"get_header","keymanweb_insertkeymanheader_user",{"type":130,"name":147,"callback":148,"file":133,"line":149},"plugins_loaded","keymanweb_insertwidget_user",101,{"type":130,"name":151,"callback":152,"file":133,"line":153},"wp_footer","keymanweb_insertkeymanmenus_user",102,[],[],[],[],{"dangerousFunctions":159,"sqlUsage":160,"outputEscaping":162,"fileOperations":13,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":177},[],{"prepared":13,"raw":13,"locations":161},[],{"escaped":13,"rawEcho":44,"locations":163},[164,167,169,171,173,175],{"file":133,"line":165,"context":166},40,"raw output",{"file":133,"line":168,"context":166},113,{"file":133,"line":170,"context":166},120,{"file":133,"line":172,"context":166},122,{"file":133,"line":174,"context":166},152,{"file":133,"line":176,"context":166},226,[],[179,196],{"entryPoint":180,"graph":181,"unsanitizedCount":29,"severity":195},"keymanweb_displayconfig (keymanweb.php:26)",{"nodes":182,"edges":192},[183,187],{"id":184,"type":185,"label":186,"file":133,"line":30},"n0","source","$_POST['txtKeymanWebHeaderCode']",{"id":188,"type":189,"label":190,"file":133,"line":30,"wp_function":191},"n1","sink","update_option() [Settings Manipulation]","update_option",[193],{"from":184,"to":188,"sanitized":194},false,"low",{"entryPoint":197,"graph":198,"unsanitizedCount":29,"severity":195},"\u003Ckeymanweb> (keymanweb.php:0)",{"nodes":199,"edges":202},[200,201],{"id":184,"type":185,"label":186,"file":133,"line":30},{"id":188,"type":189,"label":190,"file":133,"line":30,"wp_function":191},[203],{"from":184,"to":188,"sanitized":194},{"summary":205,"deductions":206},"The \"keymanweb\" plugin v0.2 presents a mixed security posture. On the positive side, the plugin exhibits no known CVEs, a history of no past vulnerabilities, and a reported absence of dangerous functions, direct SQL queries, file operations, external HTTP requests, and bundled libraries. This suggests a relatively clean and minimal codebase.\n\nHowever, significant concerns arise from the static analysis. The plugin has zero output escaping implemented, meaning all 6 identified output points are potentially vulnerable to cross-site scripting (XSS) attacks. While the taint analysis shows no critical or high-severity unsanitized flows, the presence of 2 flows with unsanitized paths, even if not flagged as critical, warrants attention, especially when coupled with the complete lack of output escaping. The absence of nonce checks and capability checks, while not directly tied to an immediate exploit path in this analysis, represents a lack of standard WordPress security practices that could be exploited in conjunction with other weaknesses.\n\nOverall, while the plugin's small attack surface and lack of known vulnerabilities are positive, the complete failure in output escaping is a critical flaw. The 2 unsanitized taint flows, although not classified as high-severity, compound this risk. Future development should prioritize proper output sanitization and consider implementing standard WordPress security checks like nonces and capability checks.",[207,210,213,215],{"reason":208,"points":209},"0% output escaping",18,{"reason":211,"points":212},"2 flows with unsanitized paths",5,{"reason":214,"points":212},"0 nonce checks",{"reason":216,"points":212},"0 capability checks","2026-03-17T01:21:57.689Z",{"wat":219,"direct":225},{"assetPaths":220,"generatorPatterns":222,"scriptPaths":223,"versionParams":224},[221],"\u002Fwp-content\u002Fplugins\u002Fkeymanweb\u002Fkeymanweb.php",[],[],[],{"cssClasses":226,"htmlComments":228,"htmlAttributes":229,"restEndpoints":233,"jsGlobals":234,"shortcodeOutput":236},[227],"keymanweb-message",[],[230,231,232],"id='keymanweb-message'","id='KeymanWebControl'","id='kmwico_a'",[],[235],"KeymanWeb_inserted",[]]