[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fzAnzyGMgJuR0o5Viet0WY02yqjp5ml7AAwS1HlhNBBI":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":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":39,"analysis":146,"fingerprints":212},"roller","Roller","1.0","Scott Grant","https:\u002F\u002Fprofiles.wordpress.org\u002Fsgrant\u002F","\u003Cp>Want to set up custom character sheets on your WordPress installation? Need a dice rolling app with standard (or non-standard) dice? This collection of shortcodes makes it easy to add random dice rolls to your page.\u003C\u002Fp>\n\u003Cp>In addition to the dice, you can define lists in the administration panel–things like names, professions, and locations–and can choose elements at random using a single shortcode.\u003C\u002Fp>\n\u003Cp>And you want to build conditional logic based on those results? Want to set skill variables based on the random profession chosen? Store results in variables and use conditional logic to modify state as you need it.\u003C\u002Fp>\n\u003Cp>Shortcodes included:\u003C\u002Fp>\n\u003Cp>Roll some dice: [roller 3d6]\u003C\u002Fp>\n\u003Cp>Save dice rolls as variables: [roller 3d6 var=str]\u003C\u002Fp>\n\u003Cp>Display a variable’s value: [roller_var str]\u003C\u002Fp>\n\u003Cp>Equations: [roller 3d6 var=pow] [roller_exp pow*5 var=san]\u003C\u002Fp>\n\u003Cp>Random list elements: [roller_choose var=gender list=gender]\u003C\u002Fp>\n\u003Cp>Conditionals: [roller_if gender=Female][roller_choose var=first_name list=first_name_female][\u002Froller_if]\u003C\u002Fp>\n","WordPress plugin for dice rolling, random lists, and conditional variables.",10,1883,20,1,"2015-09-09T12:42:00.000Z","4.3.34","4.0","",[20,21,22,23,24],"dice","dungeons-and-dragons","role-playing","rolling","rpg","http:\u002F\u002Fnpc.today\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Froller.1.0.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":27,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"sgrant",6,70,30,84,"2026-04-04T06:18:13.856Z",[40,61,81,102,124],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":11,"downloaded":48,"rating":49,"num_ratings":50,"last_updated":51,"tested_up_to":52,"requires_at_least":53,"requires_php":18,"tags":54,"homepage":59,"download_link":60,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"wordquest","WordQuest","1.1","ianfhunter","https:\u002F\u002Fprofiles.wordpress.org\u002Fianfhunter\u002F","\u003Cp>What feature is WordPress severely lacking? Goblins. Dragons. This plugin is here to fix that.\u003C\u002Fp>\n\u003Cp>Earn experience as you blog. Watch your avatar slowly grow in power with every post.\u003C\u002Fp>\n\u003Cp>Complete quests to earn bonus experience by writing about selected categories.\u003C\u002Fp>\n\u003Cp>See the visual changes to your avatar as you level up.\u003C\u002Fp>\n\u003Cp>Your hero changes class according to your posting style!\u003C\u002Fp>\n\u003Cp>OpenSource – Add your own activities for your hero. https:\u002F\u002Fgithub.com\u002Fianfhunter\u002FWordQuest\u003C\u002Fp>\n\u003Ch3>Image Attributions\u003C\u002Fh3>\n\u003Cp>Hero Sprites: http:\u002F\u002Funtamed.wild-refuge.net\u002Frmxpresources.php?characters\u003C\u002Fp>\n","What feature is WordPress severely lacking? Goblins. Dragons. Earn experience as you blog. Watch your avatar slowly grow in power with every post.",1963,100,4,"2014-05-07T11:54:00.000Z","3.9.40","3.0.1",[55,56,57,58,24],"game","incentive","posts","role-playing-game","http:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwordquest\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwordquest.zip",{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":11,"downloaded":69,"rating":49,"num_ratings":70,"last_updated":71,"tested_up_to":72,"requires_at_least":73,"requires_php":18,"tags":74,"homepage":79,"download_link":80,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"wp-monsters","WP Monsters","1.3.4","gwannon","https:\u002F\u002Fprofiles.wordpress.org\u002Fgwannon\u002F","\u003Cp>WP Monsters allows to the bloggers to publish in a easy way their Pathfinder RPG home-brew monsters, weapons, spells, cities, magic items and feats in their WordPress blogs. You can use shortcodes to insert the monster in any site of your web.\u003C\u002Fp>\n\u003Ch3>Copyrights\u003C\u002Fh3>\n\u003Cp>This plugins uses trademarks and\u002For copyrights owned by Paizo Inc., which are used under Paizo’s Community Use Policy. We are expressly prohibited from charging you to use or access this content. This plugins is not published, endorsed, or specifically approved by Paizo Inc. For more information about Paizo’s Community Use Policy, please visit paizo.com\u002Fcommunityuse. For more information about Paizo Inc. and Paizo products, please visit paizo.com.\u003C\u002Fp>\n\u003Cp>Icons http:\u002F\u002F7soul1.deviantart.com\u002Fart\u002F420-Pixel-Art-Icons-for-RPG-129892453 by http:\u002F\u002F7soul1.deviantart.com\u002F\u003Cbr \u002F>\nCreative Commons http:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby\u002F3.0\u002F\u003C\u002Fp>\n\u003Ch3>Translations included\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Français (French) by Thierry Pillot \u003C\u002Fli>\n\u003Cli>Deutsch (German) by http:\u002F\u002Fnerdig-by-nature.de\u002F\u003C\u002Fli>\n\u003Cli>Castellano (Spanish)\u003C\u002Fli>\n\u003C\u002Ful>\n","WP Monsters allows to the bloggers to publish in a easy way their Pathfinder RPG home-brew monsters, weapons, spells, feats, ... in their blogs.",2000,2,"2015-05-06T06:10:00.000Z","4.2.39","4.0.0",[75,76,77,24,78],"monsters","pathfinder","role-playing-games","spells","http:\u002F\u002Fblog.gwannon.com\u002Fwp-monsters\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-monsters.zip",{"slug":82,"name":83,"version":84,"author":85,"author_profile":86,"description":87,"short_description":88,"active_installs":89,"downloaded":90,"rating":91,"num_ratings":92,"last_updated":93,"tested_up_to":94,"requires_at_least":53,"requires_php":18,"tags":95,"homepage":99,"download_link":100,"security_score":49,"vuln_count":14,"unpatched_count":28,"last_vuln_date":101,"fetched_at":30},"mousewheel-smooth-scroll","MouseWheel Smooth Scroll","6.7.3","kubiq","https:\u002F\u002Fprofiles.wordpress.org\u002Fkubiq\u002F","\u003Cp>Replace basic website scrolling “effect” with nice smooth scroll using mousewheel, touchpad or keyboard arrows\u003C\u002Fp>\n\u003Cp>You can play with settings and test it here:\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fdemo.tastewp.com\u002Fmousewheel-smooth-scroll\" rel=\"nofollow ugc\">https:\u002F\u002Fdemo.tastewp.com\u002Fmousewheel-smooth-scroll\u003C\u002Fa>\u003C\u002Fp>\n","Smooth scrolling experience, with mousewheel, touchpad or keyboard",100000,711015,90,42,"2025-12-01T22:16:00.000Z","6.9.4",[96,97,98],"mousewheel-scroll","scrolling","smooth-scroll","https:\u002F\u002Fkubiq.sk","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmousewheel-smooth-scroll.6.7.3.zip","2021-10-18 00:00:00",{"slug":103,"name":104,"version":105,"author":106,"author_profile":107,"description":108,"short_description":109,"active_installs":89,"downloaded":110,"rating":111,"num_ratings":112,"last_updated":113,"tested_up_to":94,"requires_at_least":114,"requires_php":18,"tags":115,"homepage":120,"download_link":121,"security_score":122,"vuln_count":70,"unpatched_count":28,"last_vuln_date":123,"fetched_at":30},"page-scroll-to-id","Page scroll to id","1.7.9","malihu","https:\u002F\u002Fprofiles.wordpress.org\u002Fmalihu\u002F","\u003Cp>\u003Cstrong>Page scroll to id\u003C\u002Fstrong> is a fully featured plugin which replaces browser’s “jumping” behavior with a \u003Ca href=\"http:\u002F\u002Fmanos.malihu.gr\u002Frepository\u002Fpage-scroll-to-id\u002Fdemo\u002Fdemo.html\" rel=\"nofollow ugc\">smooth scrolling animation\u003C\u002Fa>, when links with href value containing # are clicked. It provides all the basic tools and advanced functionality for single-page websites, in-page navigation, back-to-top links etc. with features like:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Adjustable scrolling animation \u003Ca href=\"http:\u002F\u002Fmanos.malihu.gr\u002Fpage-scroll-to-id-for-wordpress\u002F#plugin-settings-scroll-type-easing\" rel=\"nofollow ugc\">duration and easing (over 30 easing types)\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Link and target highlighting via ready-to-use CSS classes\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fmanos.malihu.gr\u002Frepository\u002Fpage-scroll-to-id\u002Fdemo\u002Fdemo.html\" rel=\"nofollow ugc\">Vertical\u003C\u002Fa> and\u002For \u003Ca href=\"http:\u002F\u002Fmanos.malihu.gr\u002Frepository\u002Fpage-scroll-to-id\u002Fdemo\u002Fdemo-horizontal-layout.html\" rel=\"nofollow ugc\">horizontal\u003C\u002Fa> scrolling\u003C\u002Fli>\n\u003Cli>Scrolling from\u002Fto different pages (scrolling to target id on page load)\u003C\u002Fli>\n\u003Cli>Offset scrolling by pixels or element selector with custom expressions\u003C\u002Fli>\n\u003Cli>Insert link and target id buttons in post visual editor \u003C\u002Fli>\n\u003Cli>Link-specific offset, scrolling duration, highlight target etc.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fmanos.malihu.gr\u002Frepository\u002Fpage-scroll-to-id\u002Fdemo\u002Fdemo.html\" rel=\"nofollow ugc\">Demo (default animation duration\u002Feasing, link highlighting etc.)\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Plugin resources, links and tutorials\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fmanos.malihu.gr\u002Fpage-scroll-to-id-for-wordpress\u002F\" rel=\"nofollow ugc\">Plugin homepage\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fmanos.malihu.gr\u002Fpage-scroll-to-id-for-wordpress\u002F2\u002F\" rel=\"nofollow ugc\">Knowledge Base – FAQ\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fmanos.malihu.gr\u002Fpage-scroll-to-id-for-wordpress-tutorial\u002F\" rel=\"nofollow ugc\">Basic tutorial\u003C\u002Fa> – \u003Ca href=\"http:\u002F\u002Fmanos.malihu.gr\u002Fpage-scroll-to-id-for-wordpress-tutorial\u002F#video-tutorial\" rel=\"nofollow ugc\">Video tutorial\u003C\u002Fa>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fmanos.malihu.gr\u002Fusing-page-scroll-to-id-with-the-divi-builder-plugin\u002F\" rel=\"nofollow ugc\">Using Page scroll to id with the Divi Builder plugin\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fmanos.malihu.gr\u002Fusing-page-scroll-to-id-with-siteorigin-page-builder\u002F\" rel=\"nofollow ugc\">Using Page scroll to id with SiteOrigin Page Builder\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fmanos.malihu.gr\u002Fusing-page-scroll-to-id-with-wpbakery-page-builder\u002F\" rel=\"nofollow ugc\">Using Page scroll to id with WPBakery Page Builder\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fmanos.malihu.gr\u002Fpage-scroll-to-id-elementor-guide\u002F\" rel=\"nofollow ugc\">Using Page scroll to id with Elementor Page Builder\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fpage-scroll-to-id\" rel=\"ugc\">Support\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cp>Page scroll to id requires WordPress version \u003Cstrong>3.3\u003C\u002Fstrong> or higher (jQuery version \u003Cstrong>1.7.0\u003C\u002Fstrong> or higher) and your theme \u003Cstrong>must\u003C\u002Fstrong> (and should) have \u003Ccode>wp_head()\u003C\u002Fcode> and \u003Ccode>wp_footer()\u003C\u002Fcode> functions. In some Microsoft Windows based web servers some plugins might produce an error 500 (depends on server\u002FPHP configuration). To pinpoint the issue \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FDebugging_in_WordPress\" rel=\"nofollow ugc\">enable debugging\u003C\u002Fa> in \u003Ccode>wp-config.php\u003C\u002Fcode> and check \u003Ccode>wp-content\u002Fdebug.log\u003C\u002Fcode> file for relevant errors.\u003C\u002Fp>\n\u003Ch4>GDPR (General Data Protection Regulation)\u003C\u002Fh4>\n\u003Cp>The plugin is GDPR compliant. It does not use or store any kind of user information\u002Fdata. In fact, it’s functionality has nothing to do with user data (personal or otherwise). So there’s that.\u003C\u002Fp>\n\u003Ch4>Quick usage and tips\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpage-scroll-to-id\u002Finstallation\u002F\" rel=\"ugc\">Install the plugin\u003C\u002Fa>. \u003C\u002Fli>\n\u003Cli>The plugin is enabled by default on your WordPress Menu links, so you can start adding custom links and set their URL to the id\u002Ftarget you want to scroll to. \u003C\u002Fli>\n\u003Cli>Create id targets within your content using plugin’s “Insert Page scroll to id target” button and\u002For shortcode (see contextual “Help” menu in plugin settings page) in post visual\u002Ftext editor. Create targets in widgets areas using “Page scroll to id target” widget. \u003C\u002Fli>\n\u003Cli>Create links within your content using plugin’s “Insert\u002Fedit Page scroll to id link” button and\u002For shortcode in post visual\u002Ftext editor. You can also add the class \u003Ccode>ps2id\u003C\u002Fcode> on any existing link you want to be handled by the plugin. \u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>For more info \u003Ca href=\"http:\u002F\u002Fmanos.malihu.gr\u002Fpage-scroll-to-id-for-wordpress-tutorial\u002F\" rel=\"nofollow ugc\">see plugin’s basic tutorial\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>MIT\u003C\u002Fp>\n\u003Cp>You should have received a copy of the MIT License along with this program.\u003Cbr \u002F>\nIf not, see \u003Ca href=\"http:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT\" rel=\"nofollow ugc\">http:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Donate\u003C\u002Fh3>\n\u003Cp>If you like this plugin and find it useful, consider making a \u003Ca href=\"https:\u002F\u002Fwww.paypal.com\u002Fcgi-bin\u002Fwebscr?cmd=_s-xclick&hosted_button_id=UYJ5G65M6ZA28\" rel=\"nofollow ugc\">donation\u003C\u002Fa> :).\u003C\u002Fp>\n\u003Ch3>Plugin previous\u002Fother versions\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fmanos.malihu.gr\u002Fpage-scroll-to-id-for-wordpress\u002F#plugin-versions\" rel=\"nofollow ugc\">All plugin versions\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Other\u002Fexternal resources\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.virfice.com\u002Fhow-to-create-anchor-links-on-wordpress-gutenberg-editor\u002F\" rel=\"nofollow ugc\">How to create anchor links on WordPress Gutenberg editor\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fmanos.malihu.gr\u002Fusing-page-scroll-to-id-with-the-divi-builder-plugin\u002F\" rel=\"nofollow ugc\">Using Page scroll to id with the Divi Builder plugin\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=ZJt7-0W-DeE\" rel=\"nofollow ugc\">One Page WordPress Smooth Scrolling Menu – How to Use Page Scroll to ID Plugin 2017\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fsridharkatakam.com\u002Fsmooth-scrolling-page-sections-using-page-scroll-id\u002F\" rel=\"nofollow ugc\">Smooth scrolling between page sections using Page scroll to id\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.pootlepress.com\u002F2013\u002F02\u002Fvideo-tutorial-a-beginners-guide-on-how-to-create-a-single-page-wordpress-website\u002F\" rel=\"nofollow ugc\">Video tutorial: How to create a single page WordPress website\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fsnifflevalve.com\u002Ftutorials\u002Fgeneratepress-elementor-page-scroll-id-one-page-website\u002F\" rel=\"nofollow ugc\">GeneratePress – Elementor – Page Scroll to ID – One Page Website\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=XZ4SbV3aZb8\" rel=\"nofollow ugc\">Onepage WordPress – Page scroll to iD plugin\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Create links that scroll the page smoothly to any id within the document.",1848034,98,224,"2025-12-24T13:21:00.000Z","3.3",[116,117,118,119,98],"navigation","page-animation","page-scrolling","single-page-navigation","http:\u002F\u002Fmanos.malihu.gr\u002Fpage-scroll-to-id","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpage-scroll-to-id.1.7.9.zip",99,"2024-02-16 00:00:00",{"slug":125,"name":126,"version":127,"author":128,"author_profile":129,"description":130,"short_description":131,"active_installs":132,"downloaded":133,"rating":134,"num_ratings":135,"last_updated":136,"tested_up_to":94,"requires_at_least":137,"requires_php":18,"tags":138,"homepage":144,"download_link":145,"security_score":49,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"catch-infinite-scroll","Catch Infinite Scroll","2.1.1","Catch Themes","https:\u002F\u002Fprofiles.wordpress.org\u002Fcatchthemes\u002F","\u003Cp>Catch Infinite Scroll allows you to add the magic of infinite scroll on your website. The plugin will help in increasing the user engagement on your WordPress site. The inspiration behind crafting Catch Infinite Scroll is Jetpack’s Infinite Scroll. Catch Infinite Scroll is a single solution to all those loading issues caused by the change of the page. With the plugin installed and activated, your users will be able to simply scroll down and go deeper into your website. The plugin will load content automatically as you scroll down the page or you can also add a “Load More” button to load more content. You will have control over some of the crucial features available in the plugin, such as, choosing between Click or Scroll to load more content, add a custom image, the load more text, and finish text. Display your contents online in a sequential way with the new infinite scrolling plugin—Catch Infinite Scroll, without affecting your wallet.\u003C\u002Fp>\n","Catch Infinite Scroll is a WordPress plugin that allows you to add the magic of infinite scrolling with several customization options on your website  &hellip;",10000,620175,86,21,"2026-02-25T09:58:00.000Z","5.9",[139,140,141,142,143],"infinite","infinite-scroll","infinite-scrolling","load-more","scroll","https:\u002F\u002Fcatchplugins.com\u002Fplugins\u002Fcatch-infinite-scroll","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcatch-infinite-scroll.2.1.1.zip",{"attackSurface":147,"codeSignals":184,"taintFlows":200,"riskAssessment":201,"analyzedAt":211},{"hooks":148,"ajaxHandlers":157,"restRoutes":158,"shortcodes":159,"cronEvents":183,"entryPointCount":34,"unprotectedCount":28},[149,154],{"type":150,"name":151,"callback":151,"file":152,"line":153},"action","init","roller.php",26,{"type":150,"name":155,"callback":155,"file":152,"line":156},"admin_menu",44,[],[],[160,163,167,171,175,179],{"tag":4,"callback":161,"file":152,"line":162},"shortcode_roller",46,{"tag":164,"callback":165,"file":152,"line":166},"roller_var","shortcode_roller_var",47,{"tag":168,"callback":169,"file":152,"line":170},"roller_choose","shortcode_roller_choose",48,{"tag":172,"callback":173,"file":152,"line":174},"roller_if","shortcode_roller_if",49,{"tag":176,"callback":177,"file":152,"line":178},"roller_loop","shortcode_roller_loop",50,{"tag":180,"callback":181,"file":152,"line":182},"roller_exp","shortcode_roller_exp",51,[],{"dangerousFunctions":185,"sqlUsage":186,"outputEscaping":189,"fileOperations":28,"externalRequests":28,"nonceChecks":28,"capabilityChecks":14,"bundledLibraries":199},[],{"prepared":187,"raw":28,"locations":188},3,[],{"escaped":190,"rawEcho":187,"locations":191},7,[192,195,197],{"file":152,"line":193,"context":194},179,"raw output",{"file":152,"line":196,"context":194},180,{"file":152,"line":198,"context":194},181,[],[],{"summary":202,"deductions":203},"The 'roller' v1.0 plugin exhibits a generally good security posture based on the static analysis.  It demonstrates strong adherence to secure coding practices by having no dangerous functions, using prepared statements for all SQL queries, and a lack of file operations or external HTTP requests.  The absence of known CVEs and a clean vulnerability history further reinforces this positive outlook, suggesting a well-maintained or recently developed plugin with no prior security incidents.  However, there are areas for improvement. The presence of shortcodes as entry points, while not directly flagged as unprotected, represents a potential attack surface that warrants careful consideration, especially given the lack of nonce checks and limited capability checks. The fact that 30% of output is not properly escaped is a concern, as this could lead to cross-site scripting (XSS) vulnerabilities if user-supplied data is involved.",[204,206,209],{"reason":205,"points":34},"Unescaped output detected",{"reason":207,"points":208},"No nonce checks on entry points",5,{"reason":210,"points":50},"Limited capability checks","2026-03-16T23:56:48.389Z",{"wat":213,"direct":218},{"assetPaths":214,"generatorPatterns":215,"scriptPaths":216,"versionParams":217},[],[],[],[],{"cssClasses":219,"htmlComments":220,"htmlAttributes":221,"restEndpoints":222,"jsGlobals":223,"shortcodeOutput":224},[],[],[],[],[],[225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243],"\u003Ch1>Roller\u003C\u002Fh1>","\u003Ch2>Shortcodes:\u003C\u002Fh2>","\u003Cul>","\u003Cli>Roll some dice: \u003Cb>[roller 3d6]\u003C\u002Fb>\u003C\u002Fli>","\u003Cli>Save dice rolls as variables: \u003Cb>[roller 3d6 var=str]\u003C\u002Fb>\u003C\u002Fli>","\u003Cli>Display a variable's value: \u003Cb>[roller_var str]\u003C\u002Fb>\u003C\u002Fli>","\u003Cli>Equations: \u003Cb>[roller 3d6 var=pow] [roller_exp pow*5 var=san]\u003C\u002Fb>\u003C\u002Fli>","\u003Cli>Random list elements: \u003Cb>[roller_choose var=gender list=gender]\u003C\u002Fb> \u003Ci>(Lists are defined at the bottom of this page)\u003C\u002Fi>\u003C\u002Fli>","\u003Cli>Conditionals: \u003Cb>[roller_if gender=Female][roller_choose var=first_name list=first_name_female][\u002Froller_if]\u003C\u002Fb>\u003C\u002Fli>","\u003C\u002Ful>","\u003Chr>","\u003Cform method=\"post\">","\u003Cp>","\u003Cb>New list:\u003C\u002Fb>","\u003Cinput type=\"text\" name=\"list_id\" \u002F>","\u003Cinput type=\"submit\" name=\"new_list\" value=\"Create List\" \u002F>","\u003C\u002Fp>","\u003C\u002Fform>","\u003Ch2>Lists\u003C\u002Fh2>"]