[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fHw8n5IE2F-MBwDCHoVahevYGV135OWx2erJcIK1gE_I":3,"$fnnqBTLFousLHdec9gHbVxtgsKQCZ5S6aYgFUj8EFJLI":329,"$fUM7_dYvR9Y-lumPfwjiH-xK8HG9hSGguca2bllsqJJo":333},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":17,"download_link":22,"security_score":11,"vuln_count":23,"unpatched_count":23,"last_vuln_date":24,"fetched_at":25,"discovery_status":26,"vulnerabilities":27,"developer":28,"crawl_stats":24,"alternatives":36,"analysis":137,"fingerprints":282},"wp-sudoku-plus","WP Sudoku Plus","2.2","Jacob N. Breetvelt","https:\u002F\u002Fprofiles.wordpress.org\u002Fopajaap\u002F","\u003Cp>This plugin can display a sudoku puzzle diagram on your website.\u003Cbr \u002F>\nIt comes with 200.000 unique puzzles in 7 different levels of difficulty.\u003Cbr \u002F>\nThe number of times a puzzle is successfully solved or failed is registered.\u003Cbr \u002F>\nThere is simple help and statistics available at the front-end.\u003C\u002Fp>\n","This plugin displays a sudoku puzzle diagram on your website that the visitor can try to solve.",100,5442,1,"2026-02-26T05:52:00.000Z","6.9.4","6.0","",[19,20,21],"game","puzzle","sudoku","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-sudoku-plus.2.2.zip",0,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":29,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":31,"avg_security_score":32,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"opajaap",6,10340,92,1087,73,"2026-05-20T01:44:30.200Z",[37,60,81,100,119],{"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":15,"requires_at_least":50,"requires_php":51,"tags":52,"homepage":17,"download_link":57,"security_score":58,"vuln_count":13,"unpatched_count":23,"last_vuln_date":59,"fetched_at":25},"puzzleme","PuzzleMe – Interactive Puzzles for WordPress – Easily publish crosswords, quizzes, word searches and more","1.3.0","Amuse Labs","https:\u002F\u002Fprofiles.wordpress.org\u002Famuselabs\u002F","\u003Cp>\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\u002FZUf6JM2d7jM?version=3&rel=0&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>\u003C\u002Fp>\n\u003Cp>PuzzleMe makes it easy to add interactive games to your WordPress website – no coding required.\u003C\u002Fp>\n\u003Cp>Engage your visitors, increase time on site and make your content more engaging and memorable by embedding playable puzzles such as crosswords, word searches, sudoku, quizzes and more directly into your posts and pages.\u003C\u002Fp>\n\u003Cp>This plugin is perfect for publishers, educators, marketers, bloggers and community websites looking to create fun and interactive experiences.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Why Use PuzzleMe?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Interactive content keeps visitors engaged longer than static content. With PuzzleMe, you can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Boost user engagement and retention\u003C\u002Fli>\n\u003Cli>Add gamified experiences to blogs and lessons\u003C\u002Fli>\n\u003Cli>Create recurring puzzle challenges for your audience\u003C\u002Fli>\n\u003Cli>Encourage repeat visits to your website\u003C\u002Fli>\n\u003Cli>Make learning and content discovery more enjoyable\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>All puzzles are hosted and managed through PuzzleMe and embedded seamlessly into WordPress.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Embed interactive puzzles using a simple shortcode\u003C\u002Fli>\n\u003Cli>Many puzzle types including crosswords, sudoku, word search, quizzes, jigsaws, codewords and more.\u003C\u002Fli>\n\u003Cli>Mobile-friendly and responsive gameplay\u003C\u002Fli>\n\u003Cli>No coding or technical setup required\u003C\u002Fli>\n\u003Cli>Works with any WordPress theme\u003C\u002Fli>\n\u003Cli>Fast loading and browser-compatible puzzles\u003C\u002Fli>\n\u003Cli>Easy publishing workflow\u003C\u002Fli>\n\u003Cli>Advanced creation options using a powerful CMS\u003C\u002Fli>\n\u003Cli>Customisations and branding (colors\u002Fthemes) available \u003C\u002Fli>\n\u003Cli>Make your puzzle look the way you want, including backgrounds, start and end screens, sounds, and more.\u003C\u002Fli>\n\u003Cli>Multimedia support in most games including crosswords\u003C\u002Fli>\n\u003Cli>Multiple players can play at the same time\u003C\u002Fli>\n\u003Cli>Printing support for most word and logic games\u003C\u002Fli>\n\u003Cli>Detailed analytics on player engagement (how many people started, how many finished, engagement time, etc.)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>How It Works\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Getting started takes just a few steps:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Create a puzzle in your PuzzleMe account by logging in \u003Ca href=\"https:\u002F\u002Fpuzzleme.amuselabs.com\u002Fpmm\u002Flogin\" rel=\"nofollow ugc\">here\u003C\u002Fa>..\u003C\u002Fli>\n\u003Cli>Go to the Publish page for your puzzle and copy its WordPress embed shortcode.\u003C\u002Fli>\n\u003Cli>Paste the shortcode into any WordPress post or page.\u003C\u002Fli>\n\u003Cli>Publish and start engaging your visitors instantly.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Who Uses PuzzleMe\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>PuzzleMe is ideal for:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Online publishers and news websites\u003C\u002Fli>\n\u003Cli>Schools, teachers, and e-learning platforms\u003C\u002Fli>\n\u003Cli>Educational blogs and training sites\u003C\u002Fli>\n\u003Cli>Marketing campaigns and brand engagement\u003C\u002Fli>\n\u003Cli>Community and hobby websites\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Add weekly puzzles, learning activities, or interactive challenges in minutes.\u003C\u002Fp>\n\u003Cp>PuzzleMe is a registered trademark of Amuse Labs. By using PuzzleMe, you agree to our \u003Ca href=\"https:\u002F\u002Famuselabs.com\u002Ftos\u002F\" rel=\"nofollow ugc\">terms of service\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Famuselabs.com\u002Fprivacy-policy\u002F\" rel=\"nofollow ugc\">privacy policy\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Built for Modern Websites\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>PuzzleMe puzzles are designed to work smoothly across:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Desktop computers\u003C\u002Fli>\n\u003Cli>Tablets\u003C\u002Fli>\n\u003Cli>Mobile devices\u003C\u002Fli>\n\u003Cli>Modern browsers\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Your audience can play anywhere, anytime.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Freemium Model\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>PuzzleMe is available as a freemium product. The WordPress plugin allows you to easily embed interactive puzzles created with PuzzleMe on your WordPress website.\u003C\u002Fp>\n\u003Cp>With the free plan, you can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Install and use the PuzzleMe plugin\u003C\u002Fli>\n\u003Cli>Create your own puzzles and embed them on your website using the plugin\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Some advanced capabilities are available only through paid PuzzleMe plans. These may include customization and branding options, analytics, higher usage limits, and collaboration features.\u003Cbr \u002F>\nFor details about available features and plan options, please see our pricing \u003Ca href=\"https:\u002F\u002Famuselabs.com\u002Fpricing\u002F\" rel=\"nofollow ugc\">here\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Testimonials: See What Our Users Have To Say\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>“I cannot praise Amuse Labs highly enough for the solution they have provided for our use case. I had spent hours searching through WordPress plugins and outdated, unsupported projects that resulted in nothing in headaches. Within 5 minutes on the Amuse Labs website, I had created a puzzle that met all of the needs of the brief, that works responsively, displays beautifully and works perfectly.” – \u003Cstrong>Ryan Sweeney\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>“Amuse Labs is the dominant player in this space, and with very good reason. They have the slickest interface, the most customization options, and the best analytics.” – \u003Cstrong>Alex Boisvert, Crossword Nexus\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","PuzzleMe makes it easy to add interactive games to your WordPress website - no coding required.",1000,17022,80,3,"2026-03-20T19:10:00.000Z","3.9","7.0",[53,54,55,56,21],"crossword","games","puzzles","quiz","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpuzzleme.1.3.0.zip",99,"2025-09-03 00:00:00",{"slug":61,"name":62,"version":63,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":68,"downloaded":69,"rating":70,"num_ratings":71,"last_updated":72,"tested_up_to":15,"requires_at_least":73,"requires_php":17,"tags":74,"homepage":76,"download_link":77,"security_score":78,"vuln_count":79,"unpatched_count":13,"last_vuln_date":80,"fetched_at":25},"crossword-compiler-puzzles","Crossword Compiler Puzzles","14.5","wordwebsoftware","https:\u002F\u002Fprofiles.wordpress.org\u002Fwordwebsoftware\u002F","\u003Cp>Simple upload of interactive puzzles exported by Crossword Compiler, or conversion of puzzles already posted to the\u003Cbr \u002F>\nhttps:\u002F\u002Fcrossword.info website.\u003C\u002Fp>\n\u003Ch3>14.5\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Security tweaks and WP6.9 update\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>= 14.4\u003Cbr \u002F>\n* More versatile web upload\u003C\u002Fp>\n\u003Cp>= 14.3\u003Cbr \u002F>\n* Security fixes and error reporting\u003C\u002Fp>\n\u003Cp>= 14.1\u003Cbr \u002F>\n* Responsive layout with latest applet and support for wide width\u003C\u002Fp>\n\u003Cp>= 13.3\u003Cbr \u002F>\n* Some changes to ensure https on https site\u003C\u002Fp>\n\u003Cp>= 13.2\u003Cbr \u002F>\n* Auto-scale word searches to fit (using latest applet)\u003C\u002Fp>\n\u003Cp>= 13.1\u003Cbr \u002F>\n* Compatibility updates\u003C\u002Fp>\n\u003Cp>= 13.0\u003Cbr \u002F>\n* Preview of puzzle in Edit\u003Cbr \u002F>\n* Crossword Compiler 11 ready\u003Cbr \u002F>\n* Latest WordPress support\u003C\u002Fp>\n\u003Ch4>3.3\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Fix for WordPress 5.3\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>3.2\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Fix for WordPress 5.1\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>3.1\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Fix for old php versions and other plugin compatibility\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>3.0\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Support for crossword block in WordPress 5 with Gutenberg blocks. Compatibility fixes.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>2.0\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Fixes for latest WordPress\u002FPhp changes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>1.9\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Tested on 4.9.1\u003C\u002Fli>\n\u003Cli>Updated some links to https\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>1.8\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Tested 4.2.2\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>1.6\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Stable version\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>1.11\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Fix for WordPress 3.9 dialog\u003C\u002Fli>\n\u003C\u002Ful>\n","Insert a crossword puzzle, sudoku or word search from content made by Crossword Compiler",300,14936,56,5,"2025-12-20T13:27:00.000Z","6.0.0",[53,20,21,75],"wordsearch","https:\u002F\u002Fwww.crossword-compiler.com\u002Fwordpress.html","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcrossword-compiler-puzzles.14.5.zip",76,2,"2025-05-02 00:00:00",{"slug":82,"name":83,"version":84,"author":85,"author_profile":86,"description":87,"short_description":88,"active_installs":68,"downloaded":89,"rating":90,"num_ratings":91,"last_updated":92,"tested_up_to":93,"requires_at_least":94,"requires_php":95,"tags":96,"homepage":17,"download_link":98,"security_score":99,"vuln_count":23,"unpatched_count":23,"last_vuln_date":24,"fetched_at":25},"wha-puzzle","WHA Puzzle","1.0.9","Aleksandr Chumak","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebhack\u002F","\u003Cp>Puzzle – puzzle game, which is a mosaic that you want to make from the many fragments of the pattern of various shapes.\u003Cbr \u002F>\nIt is one of the most affordable toys that develop logical thinking, attention, memory, imagination.\u003C\u002Fp>\n\u003Ch3>Video\u003C\u002Fh3>\n\u003Cp>\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\u002FOjja8RrFU58?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>\u003C\u002Fp>\n","Puzzle - puzzle game, which is a mosaic that you want to make from the many fragments of the pattern of various shapes.",9770,68,8,"2020-09-18T12:16:00.000Z","5.5.18","4.0.1","5.5",[53,19,97,55],"mind","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwha-puzzle.zip",85,{"slug":101,"name":102,"version":103,"author":104,"author_profile":105,"description":106,"short_description":107,"active_installs":108,"downloaded":109,"rating":11,"num_ratings":13,"last_updated":110,"tested_up_to":15,"requires_at_least":111,"requires_php":51,"tags":112,"homepage":117,"download_link":118,"security_score":11,"vuln_count":23,"unpatched_count":23,"last_vuln_date":24,"fetched_at":25},"wp-shredderchess","WP Shredderchess","1.0.7","Marcel Pol","https:\u002F\u002Fprofiles.wordpress.org\u002Fmpol\u002F","\u003Cp>Widget that displays the chess puzzle from \u003Ca href=\"https:\u002F\u002Fwww.shredderchess.com\u002Fdaily-chess-puzzle.html\" rel=\"nofollow ugc\">shredderchess.com\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Example\u003C\u002Fh4>\n\u003Cp>An \u003Ca href=\"https:\u002F\u002Fsvpegasus.nl\" rel=\"nofollow ugc\">example at my local chess club Pegasus\u003C\u002Fa> is available in the footer of the website..\u003C\u002Fp>\n\u003Ch4>Compatibility\u003C\u002Fh4>\n\u003Cp>This plugin is compatible with \u003Ca href=\"https:\u002F\u002Fwww.classicpress.net\" rel=\"nofollow ugc\">ClassicPress\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Contributions\u003C\u002Fh4>\n\u003Cp>This plugin is also available in \u003Ca href=\"https:\u002F\u002Fcodeberg.org\u002Fcyclotouriste\u002Fwp-shredderchess\" rel=\"nofollow ugc\">Codeberg\u003C\u002Fa>.\u003C\u002Fp>\n","Widget that displays the chess puzzle from shredderchess.com.",200,8429,"2026-01-10T09:31:00.000Z","4.1",[113,114,115,20,116],"boardgame","chess","chess-puzzle","shredderchess","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-shredderchess\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-shredderchess.1.0.7.zip",{"slug":120,"name":121,"version":122,"author":123,"author_profile":124,"description":125,"short_description":126,"active_installs":11,"downloaded":127,"rating":23,"num_ratings":23,"last_updated":128,"tested_up_to":129,"requires_at_least":130,"requires_php":17,"tags":131,"homepage":135,"download_link":136,"security_score":99,"vuln_count":23,"unpatched_count":23,"last_vuln_date":24,"fetched_at":25},"embed-solitaire-iframe","Solitaire Card Game – Embed Klondike Solitaire for Free – Ad-free Solitaire Puzzle game","1.0","onlinesolitaire","https:\u002F\u002Fprofiles.wordpress.org\u002Fonlinesolitaire\u002F","\u003Cp>This plugin lets you embed an ad-free version of Solitaire for free using a shortcode. Easily embed Klondike Solitaire anywhere on your WordPress website, including pages and posts.\u003C\u002Fp>\n\u003Cp>To include Solitaire, simply add the shortcode [’embed-solitaire-game’] wherever you’d like the game to appear and people will see an ad-free version of Solitaire that anyone can play.\u003C\u002Fp>\n\u003Cp>This plugin also features Klondike Solitaire with the deck turning one card at a time. To include that game, use the shortcode [’embed-solitaire-turn-one-game’].\u003C\u002Fp>\n\u003Ch3>Third Party Dependence\u003C\u002Fh3>\n\u003Cp>This plugin is dependent on our website: https:\u002F\u002Fonline-solitaire.com. We own and operate this this website and have created this plugin to make it easy for anyone to embed an ad-free version of solitaire on their own website.\u003C\u002Fp>\n","This plugin lets you embed an ad-free version of Solitaire for free using a shortcode. Easily embed Klondike Solitaire on your WordPress website, usin &hellip;",3908,"2021-03-23T13:29:00.000Z","5.6.17","4.9",[132,19,20,133,134],"embed","shortcode","solitaire","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fembed-solitaire-iframe\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fembed-solitaire-iframe.zip",{"attackSurface":138,"codeSignals":174,"taintFlows":198,"riskAssessment":276,"analyzedAt":281},{"hooks":139,"ajaxHandlers":153,"restRoutes":162,"shortcodes":163,"cronEvents":167,"entryPointCount":48,"unprotectedCount":23},[140,146,150],{"type":141,"name":142,"callback":143,"file":144,"line":145},"action","wpsud_cron_event","wpsud_fill_db","wp-sudoku-plus.php",40,{"type":141,"name":147,"callback":148,"file":144,"line":149},"init","wpsud_add_scripts",632,{"type":141,"name":147,"callback":151,"file":144,"line":152},"wpsud_add_style",633,[154,160],{"action":155,"nopriv":156,"callback":157,"hasNonce":158,"hasCapCheck":156,"file":144,"line":159},"wpsud",false,"wpsud_ajax_callback",true,635,{"action":155,"nopriv":158,"callback":157,"hasNonce":158,"hasCapCheck":156,"file":144,"line":161},636,[],[164],{"tag":21,"callback":165,"file":144,"line":166},"wpsud_shortcode_handler",634,[168,170,172],{"hook":142,"callback":142,"file":144,"line":169},36,{"hook":142,"callback":142,"file":144,"line":171},95,{"hook":142,"callback":142,"file":144,"line":173},127,{"dangerousFunctions":175,"sqlUsage":176,"outputEscaping":191,"fileOperations":23,"externalRequests":23,"nonceChecks":79,"capabilityChecks":23,"bundledLibraries":197},[],{"prepared":177,"raw":71,"locations":178},26,[179,182,185,187,189],{"file":144,"line":180,"context":181},46,"$wpdb->get_var() with variable interpolation",{"file":144,"line":183,"context":184},105,"$wpdb->query() with variable interpolation",{"file":144,"line":186,"context":181},117,{"file":144,"line":188,"context":181},501,{"file":144,"line":190,"context":181},532,{"escaped":192,"rawEcho":13,"locations":193},21,[194],{"file":144,"line":195,"context":196},625,"raw output",[],[199,226,252],{"entryPoint":200,"graph":201,"unsanitizedCount":23,"severity":225},"wpsud_main (wp-sudoku-plus.php:112)",{"nodes":202,"edges":222},[203,208,214,217],{"id":204,"type":205,"label":206,"file":144,"line":207},"n0","source","$_REQUEST (x2)",149,{"id":209,"type":210,"label":211,"file":144,"line":212,"wp_function":213},"n1","sink","get_row() [SQLi]",155,"get_row",{"id":215,"type":205,"label":206,"file":144,"line":216},"n2",325,{"id":218,"type":210,"label":219,"file":144,"line":220,"wp_function":221},"n3","get_results() [SQLi]",441,"get_results",[223,224],{"from":204,"to":209,"sanitized":158},{"from":215,"to":218,"sanitized":158},"low",{"entryPoint":227,"graph":228,"unsanitizedCount":23,"severity":225},"wpsud_ajax_callback (wp-sudoku-plus.php:594)",{"nodes":229,"edges":248},[230,232,236,237,241,243],{"id":204,"type":205,"label":206,"file":144,"line":231},606,{"id":209,"type":210,"label":233,"file":144,"line":234,"wp_function":235},"get_var() [SQLi]",610,"get_var",{"id":215,"type":205,"label":206,"file":144,"line":231},{"id":218,"type":210,"label":238,"file":144,"line":239,"wp_function":240},"query() [SQLi]",612,"query",{"id":242,"type":205,"label":206,"file":144,"line":231},"n4",{"id":244,"type":210,"label":245,"file":144,"line":246,"wp_function":247},"n5","echo() [XSS]",613,"echo",[249,250,251],{"from":204,"to":209,"sanitized":158},{"from":215,"to":218,"sanitized":158},{"from":242,"to":244,"sanitized":158},{"entryPoint":253,"graph":254,"unsanitizedCount":23,"severity":225},"\u003Cwp-sudoku-plus> (wp-sudoku-plus.php:0)",{"nodes":255,"edges":270},[256,257,258,259,260,261,262,264,266,268],{"id":204,"type":205,"label":206,"file":144,"line":207},{"id":209,"type":210,"label":211,"file":144,"line":212,"wp_function":213},{"id":215,"type":205,"label":206,"file":144,"line":216},{"id":218,"type":210,"label":219,"file":144,"line":220,"wp_function":221},{"id":242,"type":205,"label":206,"file":144,"line":231},{"id":244,"type":210,"label":233,"file":144,"line":234,"wp_function":235},{"id":263,"type":205,"label":206,"file":144,"line":231},"n6",{"id":265,"type":210,"label":238,"file":144,"line":239,"wp_function":240},"n7",{"id":267,"type":205,"label":206,"file":144,"line":231},"n8",{"id":269,"type":210,"label":245,"file":144,"line":246,"wp_function":247},"n9",[271,272,273,274,275],{"from":204,"to":209,"sanitized":158},{"from":215,"to":218,"sanitized":158},{"from":242,"to":244,"sanitized":158},{"from":263,"to":265,"sanitized":158},{"from":267,"to":269,"sanitized":158},{"summary":277,"deductions":278},"The wp-sudoku-plus v2.2 plugin exhibits a strong security posture based on the provided static analysis. The code largely adheres to secure coding practices, with a high percentage of SQL queries utilizing prepared statements and nearly all output properly escaped. The absence of dangerous functions, file operations, and external HTTP requests further reduces the potential attack surface. Furthermore, the plugin has no recorded vulnerability history, indicating a consistent track record of security. However, a slight concern arises from the lack of capability checks on any entry points, which could be a missed opportunity for an additional layer of defense, particularly as the plugin grows or its functionality expands. While the current setup seems robust, a proactive approach would involve implementing capability checks to align with WordPress's role-based access control principles. Overall, the plugin is well-secured, but this minor omission prevents it from achieving a perfect score.",[279],{"reason":280,"points":71},"Missing capability checks on entry points","2026-03-16T21:10:31.072Z",{"wat":283,"direct":292},{"assetPaths":284,"generatorPatterns":287,"scriptPaths":288,"versionParams":289},[285,286],"\u002Fwp-content\u002Fplugins\u002Fwp-sudoku-plus\u002Fsudoku.css","\u002Fwp-content\u002Fplugins\u002Fwp-sudoku-plus\u002Fsudoku.js",[],[286],[290,291],"wp-sudoku-plus\u002Fsudoku.css?ver=","wp-sudoku-plus\u002Fsudoku.js?ver=",{"cssClasses":293,"htmlComments":304,"htmlAttributes":305,"restEndpoints":317,"jsGlobals":318,"shortcodeOutput":320},[294,295,296,297,298,299,300,301,302,303],"sud-outer","sud-container","sud-main-box","sud-block-box","sud-item-box","sud-number","sud-bb","sud-bbv","sud-bby","sud-bbx",[],[306,307,308,309,310,311,312,313,314,315,316],"data-ver","data-scw","data-puzno","data-rating","data-nonce","id=\"sud-","id=\"sud-button-","class=\"sud-item-box sud-item-box-y-","class=\"sud-bb sud-bby","class=\"sud-bbx","class=\"sud-bbb-",[],[319],"wpsud_puzzle_js",[321,322,323,324,325,326,327,311,328,312],"\u003Cdiv id=\"sud-outer\">\u003Cdiv id=\"sud-container\" style=\"width:","class=\"sud-main-box\"","\u003Cinput type=\"hidden\" id=\"puzno\" value=\"","\u003Cinput type=\"hidden\" id=\"rating\" value=\"","\u003Cinput type=\"hidden\" id=\"nonce\" value=\"","\u003Cdiv class=\"sud-block-box sud-block-box-y-","\u003Cdiv class=\"sud-item-box sud-item-box-y-","class=\"sud-number\"",{"error":158,"url":330,"statusCode":331,"statusMessage":332,"message":332},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fwp-sudoku-plus\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":334,"versions":335},11,[336,341,348,355,362,369,376,383,390,397,404],{"version":6,"download_url":22,"svn_tag_url":337,"released_at":24,"has_diff":156,"diff_files_changed":338,"diff_lines":24,"trac_diff_url":339,"vulnerabilities":340,"is_current":158},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-sudoku-plus\u002Ftags\u002F2.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-sudoku-plus%2Ftags%2F2.1&new_path=%2Fwp-sudoku-plus%2Ftags%2F2.2",[],{"version":342,"download_url":343,"svn_tag_url":344,"released_at":24,"has_diff":156,"diff_files_changed":345,"diff_lines":24,"trac_diff_url":346,"vulnerabilities":347,"is_current":156},"2.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-sudoku-plus.2.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-sudoku-plus\u002Ftags\u002F2.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-sudoku-plus%2Ftags%2F2.0&new_path=%2Fwp-sudoku-plus%2Ftags%2F2.1",[],{"version":349,"download_url":350,"svn_tag_url":351,"released_at":24,"has_diff":156,"diff_files_changed":352,"diff_lines":24,"trac_diff_url":353,"vulnerabilities":354,"is_current":156},"2.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-sudoku-plus.2.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-sudoku-plus\u002Ftags\u002F2.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-sudoku-plus%2Ftags%2F1.8&new_path=%2Fwp-sudoku-plus%2Ftags%2F2.0",[],{"version":356,"download_url":357,"svn_tag_url":358,"released_at":24,"has_diff":156,"diff_files_changed":359,"diff_lines":24,"trac_diff_url":360,"vulnerabilities":361,"is_current":156},"1.8","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-sudoku-plus.1.8.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-sudoku-plus\u002Ftags\u002F1.8\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-sudoku-plus%2Ftags%2F1.7&new_path=%2Fwp-sudoku-plus%2Ftags%2F1.8",[],{"version":363,"download_url":364,"svn_tag_url":365,"released_at":24,"has_diff":156,"diff_files_changed":366,"diff_lines":24,"trac_diff_url":367,"vulnerabilities":368,"is_current":156},"1.7","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-sudoku-plus.1.7.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-sudoku-plus\u002Ftags\u002F1.7\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-sudoku-plus%2Ftags%2F1.6&new_path=%2Fwp-sudoku-plus%2Ftags%2F1.7",[],{"version":370,"download_url":371,"svn_tag_url":372,"released_at":24,"has_diff":156,"diff_files_changed":373,"diff_lines":24,"trac_diff_url":374,"vulnerabilities":375,"is_current":156},"1.6","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-sudoku-plus.1.6.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-sudoku-plus\u002Ftags\u002F1.6\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-sudoku-plus%2Ftags%2F1.5&new_path=%2Fwp-sudoku-plus%2Ftags%2F1.6",[],{"version":377,"download_url":378,"svn_tag_url":379,"released_at":24,"has_diff":156,"diff_files_changed":380,"diff_lines":24,"trac_diff_url":381,"vulnerabilities":382,"is_current":156},"1.5","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-sudoku-plus.1.5.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-sudoku-plus\u002Ftags\u002F1.5\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-sudoku-plus%2Ftags%2F1.4&new_path=%2Fwp-sudoku-plus%2Ftags%2F1.5",[],{"version":384,"download_url":385,"svn_tag_url":386,"released_at":24,"has_diff":156,"diff_files_changed":387,"diff_lines":24,"trac_diff_url":388,"vulnerabilities":389,"is_current":156},"1.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-sudoku-plus.1.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-sudoku-plus\u002Ftags\u002F1.4\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-sudoku-plus%2Ftags%2F1.3&new_path=%2Fwp-sudoku-plus%2Ftags%2F1.4",[],{"version":391,"download_url":392,"svn_tag_url":393,"released_at":24,"has_diff":156,"diff_files_changed":394,"diff_lines":24,"trac_diff_url":395,"vulnerabilities":396,"is_current":156},"1.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-sudoku-plus.1.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-sudoku-plus\u002Ftags\u002F1.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-sudoku-plus%2Ftags%2F1.2&new_path=%2Fwp-sudoku-plus%2Ftags%2F1.3",[],{"version":398,"download_url":399,"svn_tag_url":400,"released_at":24,"has_diff":156,"diff_files_changed":401,"diff_lines":24,"trac_diff_url":402,"vulnerabilities":403,"is_current":156},"1.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-sudoku-plus.1.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-sudoku-plus\u002Ftags\u002F1.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-sudoku-plus%2Ftags%2F1.1&new_path=%2Fwp-sudoku-plus%2Ftags%2F1.2",[],{"version":405,"download_url":406,"svn_tag_url":407,"released_at":24,"has_diff":156,"diff_files_changed":408,"diff_lines":24,"trac_diff_url":24,"vulnerabilities":409,"is_current":156},"1.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-sudoku-plus.1.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-sudoku-plus\u002Ftags\u002F1.1\u002F",[],[]]