[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f5nbmlHiGp7ckhUU1RNN2qMxs_byJgSOYN6jxNVXilV4":3},{"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":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":35,"analysis":134,"fingerprints":176},"dad-jokes-generator","Dad Jokes Generator","1.0","aodigitalau","https:\u002F\u002Fprofiles.wordpress.org\u002Faodigitalau\u002F","\u003Cp>The Dad Jokes Generator plugin allows you to add a random dad joke to any page or post using a simple shortcode. Perfect for adding a touch of humor to your site!\u003C\u002Fp>\n\u003Cp>Shortcode: \u003Ccode>[dad-jokes]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>This plugin fetches a random dad joke from a regularly updated database, ensuring a variety of fun and family-friendly jokes.\u003C\u002Fp>\n","Display a random dad joke on your WordPress site with a simple shortcode.",0,999,"2024-10-15T10:32:00.000Z","6.6.5","6.0","",[18,19,20,21,22],"dad-jokes","fun","humor","jokes","shortcode","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdad-jokes-generator","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdad-jokes-generator.1.0.zip",92,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":31,"avg_security_score":25,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},2,80,30,88,"2026-04-05T03:00:42.606Z",[36,56,76,98,116],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":11,"downloaded":44,"rating":11,"num_ratings":11,"last_updated":45,"tested_up_to":46,"requires_at_least":47,"requires_php":48,"tags":49,"homepage":52,"download_link":53,"security_score":54,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":55},"groandeck-dad-jokes","GroanDeck Dad Jokes","1.0.0","GroanDeck","https:\u002F\u002Fprofiles.wordpress.org\u002Fgroandeck\u002F","\u003Cp>Add a dad joke widget to your WordPress site in seconds. The widget displays a random joke from GroanDeck’s collection of 2,000+ clean, family-friendly dad jokes.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Fresh joke on every page load\u003C\u002Fli>\n\u003Cli>“Next joke” button for endless entertainment\u003C\u002Fli>\n\u003Cli>Light and dark themes\u003C\u002Fli>\n\u003Cli>Filter by category (animals, food, science, work, and more)\u003C\u002Fli>\n\u003Cli>Gutenberg block + classic shortcode\u003C\u002Fli>\n\u003Cli>Lightweight — under 4 KB\u003C\u002Fli>\n\u003Cli>No API key required\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Usage:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Use the Gutenberg block (search for “GroanDeck”) or the shortcode:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[groandeck]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>With options:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[groandeck theme=\"dark\" category=\"animals\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Categories available:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>animals, back-to-school, books, cars, christmas, clothing, coffee, construction, easter, family, food, gardening, halloween, history, love, math, medical, money, music, nature, ocean, one-liners, puns, school, science, space, sports, technology, thanksgiving, travel, valentines, work.\u003C\u002Fp>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>This plugin relies on the GroanDeck service (https:\u002F\u002Fgroandeck.com) to display dad jokes.\u003C\u002Fp>\n\u003Ch4>What the service does\u003C\u002Fh4>\n\u003Cp>GroanDeck provides a free API and embeddable widget that serves random dad jokes.\u003C\u002Fp>\n\u003Ch4>How the plugin uses it\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>On every page load where the widget is placed, the plugin loads a JavaScript file from \u003Ccode>https:\u002F\u002Fgroandeck.com\u002Fwidget.js\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>That script fetches a random joke from the GroanDeck API (\u003Ccode>https:\u002F\u002Fgroandeck.com\u002Fapi\u002Fv1\u002Frandom\u003C\u002Fcode>).\u003C\u002Fli>\n\u003Cli>When a visitor clicks “Next joke”, the script fetches another joke from the same API.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>What data is sent\u003C\u002Fh4>\n\u003Cp>Standard HTTP request data (IP address, user agent, referrer) is sent with each API call. No personal data, cookies, or tracking identifiers are transmitted.\u003C\u002Fp>\n\u003Ch4>Links\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Service: \u003Ca href=\"https:\u002F\u002Fgroandeck.com\" rel=\"nofollow ugc\">https:\u002F\u002Fgroandeck.com\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Terms of Service: \u003Ca href=\"https:\u002F\u002Fgroandeck.com\u002Fterms\" rel=\"nofollow ugc\">https:\u002F\u002Fgroandeck.com\u002Fterms\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Privacy Policy: \u003Ca href=\"https:\u002F\u002Fgroandeck.com\u002Fprivacy\" rel=\"nofollow ugc\">https:\u002F\u002Fgroandeck.com\u002Fprivacy\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Embed a dad joke widget on any page or post. Fresh joke on every page load with a \"Next joke\" button.",115,"2026-02-18T20:22:00.000Z","6.9.4","5.0","7.0",[18,50,20,21,51],"embed","widget","https:\u002F\u002Fgroandeck.com\u002Fdevelopers","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgroandeck-dad-jokes.1.0.0.zip",100,"2026-03-15T14:54:45.397Z",{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":54,"downloaded":64,"rating":11,"num_ratings":11,"last_updated":65,"tested_up_to":46,"requires_at_least":66,"requires_php":16,"tags":67,"homepage":16,"download_link":72,"security_score":73,"vuln_count":74,"unpatched_count":11,"last_vuln_date":75,"fetched_at":27},"annuncifunebri-onoranza","AnnunciFunebri","4.8.3","pcantoni","https:\u002F\u002Fprofiles.wordpress.org\u002Fpcantoni\u002F","\u003Cp>This plugin allows you to display funeral announcements published on annuncifunebri.it directly on your website.\u003Cbr \u002F>\nNote: All images are loaded from www.annuncifunebri.it and are not stored on your server.\u003C\u002Fp>\n\u003Ch3>Installazione\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Carica i file del plugin nella cartella \u003Ccode>\u002Fwp-content\u002Fplugins\u002Fannuncifunebri-onoranza\u003C\u002Fcode>, o installa il plugin attraverso il menu nuovo plugin di WordPress.\u003C\u002Fli>\n\u003Cli>Attiva il plugin dalla schermata plugin\u003C\u002Fli>\n\u003Cli>Dal menu Annunci Funebri, inserisci l’#ID dell’impresa funebre che ti verrà fornito dallo staff di AnnunciFunebri ed eventualmente gli altri parametri di personalizzazione delle pagine utilizzate.\u003C\u002Fli>\n\u003C\u002Fol>\n","Display funeral announcements from annuncifunebri.it on your website for funeral homes using this service.",20916,"2026-02-23T11:16:00.000Z","4.0",[68,69,70,71,22],"annuncifunebri-it","funeral-home","page","post","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fannuncifunebri-onoranza.4.8.3.zip",99,1,"2025-12-12 16:04:52",{"slug":77,"name":78,"version":79,"author":80,"author_profile":81,"description":82,"short_description":83,"active_installs":84,"downloaded":85,"rating":54,"num_ratings":30,"last_updated":86,"tested_up_to":87,"requires_at_least":88,"requires_php":16,"tags":89,"homepage":95,"download_link":96,"security_score":97,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"addfunc-adaptive-content","AddFunc Adaptive Content","2.0","Joe Rhoney","https:\u002F\u002Fprofiles.wordpress.org\u002Fjoerhoney\u002F","\u003Cp>With all of the new web enabled devices springing up in the market and with the wide range of screen sizes and data transfer speeds, a website can no longer serve the same content upon every request (not without some degree of limitation and\u002For traffic-loss).\u003C\u002Fp>\n\u003Cp>This lightweight plugin lets content writers and theme authors choose when WordPress should or shouldn’t show any give content item using shortcodes and quicktags or theme elements using functions. It uses \u003Ca href=\"http:\u002F\u002Fmobiledetect.net\u002F\" rel=\"nofollow ugc\">Mobile Detect\u003C\u002Fa> (a PHP script) to identify the website visitor’s device as either mobile, tablet or desktop, enabling you to allow or disallow content to be output. Use it to prevent large files such as images from outputting to devices that generally have a lower data transfer speed available to them (e.g. mobile devices). Serve more extensive copy and more elaborate userinterfaces to desktop devices and laptops. Target tablets to market a tablet oriented product or service. You can also detect iOS, iPhone, iPad, Android OS and Windows Mobile OS.\u003C\u002Fp>\n\u003Cp>Example of a shortcode: [notmobile]Write anything you want between these two tags and WordPress will only output it when the visitor is viewing your website with a desktop\u002Flaptop or tablet and not with a mobile device.[\u002Fnotmobile]\u003C\u002Fp>\n\u003Cp>Easily add these shortcodes using the Quicktags in Text view.\u003C\u002Fp>\n\u003Cp>All shortcodes also exist as functions (prefixed with aFAC_ for namespacing), which can be used in your theme as needed. See the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Faddfunc-adaptive-content\u002Ffaq\u002F\" rel=\"ugc\">FAQs\u003C\u002Fa> for more detail. Each function is a boolean and simply returns true or false.\u003C\u002Fp>\n","Adds functions, shortcodes & quicktags to empower WordPress users to have better control of when content is served, based on device.",50,2896,"2018-12-11T00:48:00.000Z","5.0.25","3.0.1",[90,91,92,93,94],"adaptive","adaptive-content","adaptive-function","adaptive-quicktags","adaptive-shortcode","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Faddfunc-adaptive-content","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Faddfunc-adaptive-content.2.0.zip",85,{"slug":99,"name":100,"version":101,"author":102,"author_profile":103,"description":104,"short_description":105,"active_installs":106,"downloaded":107,"rating":11,"num_ratings":11,"last_updated":108,"tested_up_to":109,"requires_at_least":110,"requires_php":16,"tags":111,"homepage":114,"download_link":115,"security_score":97,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"chuck-norris-joke-widget","Chuck Norris Jokes Widget","0.7.1","maarten.decat","https:\u002F\u002Fprofiles.wordpress.org\u002Fmaartendecat\u002F","\u003Cp>This plugin adds a small WordPress widget that shows a random Chuck Norris joke on your blog.\u003Cbr \u002F>\nThese jokes are taken from a database on icndb.com.\u003Cbr \u002F>\nFor personalized Chuck Norris jokes starring yourself, please refer to the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fpersonalized-chuck-norris-joke-widget\u002F\" title=\"Personalized Chuck Norris Jokes Widget\" rel=\"ugc\">Personalized Chuck Norris Jokes Widget\u003C\u002Fa>.\u003C\u002Fp>\n","Shows a random Chuck Norris joke on your blog. For personalized Chuck Norris jokes starring yourself, please refer to the Personalized Chuck Norris Jo &hellip;",10,3386,"2015-08-20T18:45:00.000Z","4.3.34","2.8",[112,19,21,113,51],"chuck-norris","sidebar","http:\u002F\u002Fmaartendecat.be\u002Fchuck-norris-jokes-wordpress-plugin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fchuck-norris-joke-widget.0.7.1.zip",{"slug":117,"name":118,"version":119,"author":120,"author_profile":121,"description":122,"short_description":123,"active_installs":106,"downloaded":124,"rating":54,"num_ratings":74,"last_updated":125,"tested_up_to":126,"requires_at_least":127,"requires_php":16,"tags":128,"homepage":132,"download_link":133,"security_score":97,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"dob-easy-shortcoder","Dob Easy Shortcode","1.1","evgendob","https:\u002F\u002Fprofiles.wordpress.org\u002Fevgendob\u002F","\u003Cp>This plugin allow you to create any  number of shortcodeas, easily edit content and use it in posts and pages. You can use one shortcode inside other shortcode that allows you to build complex content systems.\u003C\u002Fp>\n\u003Cp>Leftside you will find Shortcodes menu. There you can add new shortcodes, edit current etc. Standart interface.\u003C\u002Fp>\n\u003Cp>For advanced users: In single editor you can also put shortcode content in div element and add class and additional styling to this element. That will help you to make code looks good in your design.\u003C\u002Fp>\n","DOB Shortcoder allows you to create any shortcode and easily modify it's content. No coding skills needed.",1822,"2012-05-31T15:35:00.000Z","3.3.2","2.7",[129,130,131],"functional","shortcodes","shortode","http:\u002F\u002Fwp-download-protect.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdob-easy-shortcoder.zip",{"attackSurface":135,"codeSignals":157,"taintFlows":164,"riskAssessment":165,"analyzedAt":175},{"hooks":136,"ajaxHandlers":143,"restRoutes":150,"shortcodes":151,"cronEvents":155,"entryPointCount":156,"unprotectedCount":30},[137],{"type":138,"name":139,"callback":140,"file":141,"line":142},"action","wp_enqueue_scripts","djgp_enqueue_dad_jokes_scripts","dad-jokes-plugin.php",20,[144,148],{"action":145,"nopriv":146,"callback":145,"hasNonce":147,"hasCapCheck":147,"file":141,"line":84},"djgp_fetch_dad_joke",true,false,{"action":145,"nopriv":147,"callback":145,"hasNonce":147,"hasCapCheck":147,"file":141,"line":149},51,[],[152],{"tag":18,"callback":153,"file":141,"line":154},"djgp_dad_jokes_shortcode",31,[],3,{"dangerousFunctions":158,"sqlUsage":159,"outputEscaping":161,"fileOperations":11,"externalRequests":74,"nonceChecks":11,"capabilityChecks":11,"bundledLibraries":163},[],{"prepared":11,"raw":11,"locations":160},[],{"escaped":11,"rawEcho":11,"locations":162},[],[],[],{"summary":166,"deductions":167},"The dad-jokes-generator plugin, version 1.0, exhibits a mixed security posture. On the positive side, the code demonstrates good practices regarding database interactions and output handling, with all SQL queries utilizing prepared statements and all outputs being properly escaped. Furthermore, there are no known vulnerabilities in its history, suggesting a generally stable development process or limited prior exposure.  However, significant security concerns arise from the presence of two AJAX handlers that lack authentication checks. This creates a direct attack vector, allowing unauthenticated users to potentially trigger these functionalities, which could lead to unintended actions or information disclosure depending on their implementation. The absence of nonce checks further exacerbates this risk, making cross-site request forgery (CSRF) attacks a real possibility.  While the plugin's overall complexity appears low with a limited attack surface, the unprotected AJAX endpoints represent a critical oversight that significantly compromises its security. A balanced conclusion is that the plugin has foundational security elements in place but suffers from critical flaws in user authentication for its AJAX endpoints.",[168,170,173],{"reason":169,"points":106},"AJAX handlers without authentication",{"reason":171,"points":172},"Missing nonce checks on AJAX handlers",8,{"reason":174,"points":30},"External HTTP requests without review","2026-03-17T06:50:51.489Z",{"wat":177,"direct":186},{"assetPaths":178,"generatorPatterns":181,"scriptPaths":182,"versionParams":183},[179,180],"\u002Fwp-content\u002Fplugins\u002Fdad-jokes-generator\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Fdad-jokes-generator\u002Fscript.js",[],[180],[184,185],"dad-jokes-generator\u002Fstyle.css?ver=","dad-jokes-generator\u002Fscript.js?ver=",{"cssClasses":187,"htmlComments":188,"htmlAttributes":189,"restEndpoints":190,"jsGlobals":192,"shortcodeOutput":194},[],[],[],[191],"\u002Fwp-json\u002Fdjgp\u002Fv1\u002Ffetch-dad-joke",[193],"djgpDadJokesAjax",[195],"\u003Cdiv id=\"joke-container\">\n                    \u003Cp id=\"setup\">\u003C\u002Fp>\n                    \u003Cp id=\"punchline\">\u003C\u002Fp>\n                \u003C\u002Fdiv>\n                \u003Cbutton id=\"new-joke-btn\">Get New Joke\u003C\u002Fbutton>"]