[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f0ekNrIHSgXE17RXEgj2YkTsA1UulxgKBghxrTKIyMxU":3,"$fwe5PyhwAzbgLUDLYVs1es4HUTv5P1kZFm1tFnXPm8sQ":384,"$fegpbiFoz0e0mFNemOVidTH6FEneDAOArgboz85itdK4":389},{"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":23,"download_link":24,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"discovery_status":29,"vulnerabilities":30,"developer":31,"crawl_stats":27,"alternatives":39,"analysis":118,"fingerprints":370},"poetry","Poetry","1.1","Julian Yanover","https:\u002F\u002Fprofiles.wordpress.org\u002Fjulianyanover\u002F","\u003Cp>Through a Widget or a simple function call this plugin will show random poems from a list of 50 poets in your sidebar, obtained from mypoeticside.com.\u003Cbr \u002F>\nYou can choose which poets to display while using the widget option, being in total over 6500 possible poems.\u003C\u002Fp>\n","This Widget will show random poems from 50 poets, obtained from mypoeticside.com",10,2766,60,1,"2013-02-18T23:30:00.000Z","3.5.2","2.7.0","",[20,21,4,22],"literature","poems","poets","http:\u002F\u002Fmypoeticside.com\u002Fpoetry-widget","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpoetry.1.1.zip",85,0,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":35,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"julianyanover",5,90,91,30,88,"2026-07-15T08:30:55.944Z",[40,62,79,97],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":50,"num_ratings":51,"last_updated":52,"tested_up_to":53,"requires_at_least":54,"requires_php":55,"tags":56,"homepage":60,"download_link":61,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"reusable-content-blocks","Reusable Content Blocks","1.1.3","Safeer","https:\u002F\u002Fprofiles.wordpress.org\u002Fsafeerz\u002F","\u003Cp>Reusable Content Blocks plugin allows you to insert contents (pages, posts, custom post types) created with WPBakery Page Builder into other contents, Widget areas and Templates using Shortcode, Widget or PHP without missing custom\u002Finline styles generated by page builders.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Works with WPBakery’s Page Builder.\u003C\u002Fli>\n\u003Cli>Works with WP Bakery elements from the The7 theme\u003C\u002Fli>\n\u003Cli>Dedicated Element for WP Bakery page builder.\u003C\u002Fli>\n\u003Cli>Extendable support for Elements from other Themes and addons.\u003C\u002Fli>\n\u003Cli>Allows to use Shortcodes, Widgets and PHP fucntion to place content blocks into other contents, Widgetised areas or Templates.\u003C\u002Fli>\n\u003Cli>Provides ready to use Shortcodes and functions for Reusable block post types.\u003C\u002Fli>\n\u003Cli>Lighweight. \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Usage cases\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Create Reusable blocks and insert it on multiple places, manage it from a single place.\u003C\u002Fli>\n\u003Cli>Design custom footer layouts using page builders, and insert it using Widget\u003C\u002Fli>\n\u003Cli>Design a topbar like block using page builder, place it in templates using PHP or hooks.\u003C\u002Fli>\n\u003Cli>Insert contents of page, post or custom post types in other contents using shortcode.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Documentation & Help\u003C\u002Fh4>\n\u003Cp>Basic instructions are provided within your WordPress site’s admin area, Dashboard > Reusable Blocks > Options page. Detailed documentation with screenshots for guidance, is available on the \u003Ca href=\"http:\u002F\u002Fwww.thecodepoetry.com\u002Fplugins\u002Fwordpress-reusable-content-blocks\" rel=\"nofollow ugc\">Plugins page\u003C\u002Fa>\u003C\u002Fp>\n","Reusable Content Blocks plugin allows you to insert contents (pages, posts, custom post types) created with WPBakery Page Builder into other contents, &hellip;",4000,27372,96,12,"2023-01-30T16:53:00.000Z","6.1.10","4.9.7","5.6",[41,57,58,59],"reusable-content-widget","thecodepoetry","wpbakery-global-widget","http:\u002F\u002Fthecodepoetry.com\u002Fplugins\u002Fwordpress-reusable-pagebulider-contnet-blocks\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Freusable-content-blocks.zip",{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":70,"downloaded":71,"rating":26,"num_ratings":26,"last_updated":72,"tested_up_to":73,"requires_at_least":74,"requires_php":18,"tags":75,"homepage":18,"download_link":78,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"lineate","Lineate","1.0","Johnathon Williams","https:\u002F\u002Fprofiles.wordpress.org\u002Foddjar\u002F","\u003Cp>Lineate provides two simple shortcodes for easily formatting poetry in the WordPress editor.\u003C\u002Fp>\n\u003Cp>The first is the stanza shortcode. To indicate a stanza, wrap the appropriate text the [stanza]…[\u002Fstanza] shortcode as follows:\u003C\u002Fp>\n\u003Cp>[stanza]\u003Cbr \u002F>\nIn Xanadu did Kubla Khan\u003Cbr \u002F>\nA stately pleasure-dome decree :\u003Cbr \u002F>\nWhere Alph, the sacred river, ran\u003Cbr \u002F>\nThrough caverns measureless to man\u003Cbr \u002F>\nDown to a sunless sea.\u003Cbr \u002F>\n[\u002Fstanza]\u003C\u002Fp>\n\u003Cp>The amount of vertical distance between stanzas can be set on the Lineate settings page.\u003C\u002Fp>\n\u003Cp>The second shortcode is for indicating individual lines within a stanza. To ensure that each line in the above example was rendered correctly, you would use the [lineate] shortcode as follows:\u003C\u002Fp>\n\u003Cp>[stanza]\u003Cbr \u002F>\n[lineate]In Xanadu did Kubla Khan[\u002Flineate]\u003Cbr \u002F>\n[lineate]A stately pleasure-dome decree :[\u002Flineate]\u003Cbr \u002F>\n[lineate]Where Alph, the sacred river, ran[\u002Flineate]\u003Cbr \u002F>\n[lineate]Through caverns measureless to man[\u002Flineate]\u003Cbr \u002F>\n[lineate]Down to a sunless sea.[\u002Flineate]\u003Cbr \u002F>\n[\u002Fstanza]\u003C\u002Fp>\n\u003Cp>A new button is included in the visual editor for automatically wrapping individual lines in the lineate shortcode. To use the button, hightlight a single line, and click the button with the line break symbol (a red slash).\u003C\u002Fp>\n\u003Cp>The lineate shortcode also supports indented or “dropped” lines, with three levels of indentation.\u003C\u002Fp>\n\u003Cp>The horizontal width of each indent is set through the base indent value on the Lineate settings page. The default value is 30 pixels.\u003C\u002Fp>\n\u003Cp>To indicate dropped lines, include the indent attribute as follows:\u003C\u002Fp>\n\u003Cp>[stanza]\u003Cbr \u002F>\n[lineate]In Xanadu did Kubla Khan[\u002Flineate]\u003Cbr \u002F>\n[lineate indent=1]A stately pleasure-dome decree :[\u002Flineate]\u003Cbr \u002F>\n[lineate indent=2]Where Alph, the sacred river, ran[\u002Flineate]\u003Cbr \u002F>\n[lineate indent=3]Through caverns measureless to man[\u002Flineate]\u003Cbr \u002F>\n[\u002Fstanza]\u003C\u002Fp>\n\u003Cp>In this example, assuming the base indent was set at 20 pixels, the second line in the stanza would be 20 pixels from the left margin, the third line would be 40 pixels from the left margin, and the fourth line would be 60 pixels from the left margin.\u003C\u002Fp>\n","Lineate provides simple shortcodes for formatting poetry in the WordPress editor.",20,1744,"2012-08-19T16:30:00.000Z","3.4.2","3.3",[76,4,77],"editor","shortcodes","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flineate.zip",{"slug":80,"name":81,"version":65,"author":82,"author_profile":83,"description":84,"short_description":85,"active_installs":70,"downloaded":86,"rating":26,"num_ratings":26,"last_updated":87,"tested_up_to":88,"requires_at_least":89,"requires_php":18,"tags":90,"homepage":94,"download_link":95,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":96},"lyrics-block","Lyrics","Rocco Tripaldi","https:\u002F\u002Fprofiles.wordpress.org\u002Froccotripaldi\u002F","\u003Cp>Add lyrics to your WordPress posts and pages.\u003C\u002Fp>\n\u003Ch3>For Developers\u003C\u002Fh3>\n\u003Cp>Visit the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Froccotripaldi\u002Flyrics-block\" rel=\"nofollow ugc\">GitHub repository\u003C\u002Fa> for information on developing this plugin. Pull requests welcome!\u003C\u002Fp>\n","Add lyrics to your WordPress posts and pages.",4770,"2019-05-28T20:59:00.000Z","5.1.22","5.0",[91,92,4,93],"lyrics","music","song-lyrics","https:\u002F\u002Fgithub.com\u002Froccotripaldi\u002Flyrics","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flyrics-block.1.1.zip","2026-04-06T09:54:40.288Z",{"slug":98,"name":99,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":11,"downloaded":105,"rating":106,"num_ratings":107,"last_updated":108,"tested_up_to":109,"requires_at_least":110,"requires_php":18,"tags":111,"homepage":116,"download_link":117,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"read-a-poem-month-by-month","Read a Poem – Month by Month","1.0.0","Ruth Maude","https:\u002F\u002Fprofiles.wordpress.org\u002Fdandelionweb\u002F","\u003Cp>Read a Poem – Month by Month is a simple way to display fresh website content to site visitors every month. The plugin can be used for any post content, you aren’t restricted to poems.\u003C\u002Fp>\n\u003Cp>Add your poems to the Read a Poem post entry. Enter 12 poems and then assign them to a month. Add the shortcode to a page to display a different poem each month.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Use the shortcode [poem-current] to display a different poem each month\u003C\u002Fli>\n\u003Cli>Use the shortcode [poem id=XXX] to display a specific poem\u003C\u002Fli>\n\u003Cli>Shortcodes can be used in a page, post, or a text widget\u003C\u002Fli>\n\u003Cli>Developers can add do_shortcode(‘[poem-current]’) to their templates\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If you like this plugin please rate it on WordPress.org\u003C\u002Fp>\n\u003Ch4>Donations:\u003C\u002Fh4>\n\u003Cp>I appreciate all donations, no matter the size. Further development of this plugin is not contingent on donations, but they are a nice incentive. To donate click on the “donate to this plugin” link in the sidebar below the Authors.\u003C\u002Fp>\n","Use this plugin to display dynamic fresh post content (poems) each month. Could be used for inspirational quotes or any monthly message.",2062,94,3,"2015-06-27T16:08:00.000Z","4.2.39","3.0",[112,113,114,4,115],"custom-post-type","month","poem","shortcode","http:\u002F\u002Fdandelionwebdesign.com\u002Fdownloads\u002Fpoems\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fread-a-poem-month-by-month.zip",{"attackSurface":119,"codeSignals":131,"taintFlows":358,"riskAssessment":359,"analyzedAt":369},{"hooks":120,"ajaxHandlers":127,"restRoutes":128,"shortcodes":129,"cronEvents":130,"entryPointCount":26,"unprotectedCount":26},[121],{"type":122,"name":123,"callback":124,"file":125,"line":126},"action","widgets_init","widget_poems_and_poetry_register","poetry.php",598,[],[],[],[],{"dangerousFunctions":132,"sqlUsage":133,"outputEscaping":135,"fileOperations":26,"externalRequests":14,"nonceChecks":26,"capabilityChecks":26,"bundledLibraries":357},[],{"prepared":26,"raw":26,"locations":134},[],{"escaped":26,"rawEcho":136,"locations":137},160,[138,141,143,145,147,149,151,153,155,156,157,159,160,161,163,164,165,167,168,169,171,172,173,175,176,177,179,180,181,183,184,185,187,188,189,191,192,193,195,196,197,199,200,201,203,204,205,207,208,209,211,212,213,215,216,217,219,220,221,223,224,225,227,228,229,231,232,233,235,236,237,239,240,241,243,244,245,247,248,249,251,252,253,255,256,257,259,260,261,263,264,265,267,268,269,271,272,273,275,276,277,279,280,281,283,284,285,287,288,289,291,292,293,295,296,297,299,300,301,303,304,305,307,308,309,311,312,313,315,316,317,319,320,321,323,324,325,327,328,329,331,332,333,335,336,337,339,340,341,343,344,345,347,348,349,351,352,353,355,356],{"file":125,"line":139,"context":140},87,"raw output",{"file":125,"line":142,"context":140},89,{"file":125,"line":144,"context":140},131,{"file":125,"line":146,"context":140},133,{"file":125,"line":148,"context":140},136,{"file":125,"line":150,"context":140},138,{"file":125,"line":152,"context":140},353,{"file":125,"line":154,"context":140},355,{"file":125,"line":154,"context":140},{"file":125,"line":154,"context":140},{"file":125,"line":158,"context":140},362,{"file":125,"line":158,"context":140},{"file":125,"line":158,"context":140},{"file":125,"line":162,"context":140},366,{"file":125,"line":162,"context":140},{"file":125,"line":162,"context":140},{"file":125,"line":166,"context":140},370,{"file":125,"line":166,"context":140},{"file":125,"line":166,"context":140},{"file":125,"line":170,"context":140},374,{"file":125,"line":170,"context":140},{"file":125,"line":170,"context":140},{"file":125,"line":174,"context":140},378,{"file":125,"line":174,"context":140},{"file":125,"line":174,"context":140},{"file":125,"line":178,"context":140},382,{"file":125,"line":178,"context":140},{"file":125,"line":178,"context":140},{"file":125,"line":182,"context":140},386,{"file":125,"line":182,"context":140},{"file":125,"line":182,"context":140},{"file":125,"line":186,"context":140},390,{"file":125,"line":186,"context":140},{"file":125,"line":186,"context":140},{"file":125,"line":190,"context":140},394,{"file":125,"line":190,"context":140},{"file":125,"line":190,"context":140},{"file":125,"line":194,"context":140},398,{"file":125,"line":194,"context":140},{"file":125,"line":194,"context":140},{"file":125,"line":198,"context":140},402,{"file":125,"line":198,"context":140},{"file":125,"line":198,"context":140},{"file":125,"line":202,"context":140},406,{"file":125,"line":202,"context":140},{"file":125,"line":202,"context":140},{"file":125,"line":206,"context":140},410,{"file":125,"line":206,"context":140},{"file":125,"line":206,"context":140},{"file":125,"line":210,"context":140},414,{"file":125,"line":210,"context":140},{"file":125,"line":210,"context":140},{"file":125,"line":214,"context":140},418,{"file":125,"line":214,"context":140},{"file":125,"line":214,"context":140},{"file":125,"line":218,"context":140},422,{"file":125,"line":218,"context":140},{"file":125,"line":218,"context":140},{"file":125,"line":222,"context":140},426,{"file":125,"line":222,"context":140},{"file":125,"line":222,"context":140},{"file":125,"line":226,"context":140},430,{"file":125,"line":226,"context":140},{"file":125,"line":226,"context":140},{"file":125,"line":230,"context":140},434,{"file":125,"line":230,"context":140},{"file":125,"line":230,"context":140},{"file":125,"line":234,"context":140},438,{"file":125,"line":234,"context":140},{"file":125,"line":234,"context":140},{"file":125,"line":238,"context":140},442,{"file":125,"line":238,"context":140},{"file":125,"line":238,"context":140},{"file":125,"line":242,"context":140},446,{"file":125,"line":242,"context":140},{"file":125,"line":242,"context":140},{"file":125,"line":246,"context":140},450,{"file":125,"line":246,"context":140},{"file":125,"line":246,"context":140},{"file":125,"line":250,"context":140},454,{"file":125,"line":250,"context":140},{"file":125,"line":250,"context":140},{"file":125,"line":254,"context":140},458,{"file":125,"line":254,"context":140},{"file":125,"line":254,"context":140},{"file":125,"line":258,"context":140},462,{"file":125,"line":258,"context":140},{"file":125,"line":258,"context":140},{"file":125,"line":262,"context":140},466,{"file":125,"line":262,"context":140},{"file":125,"line":262,"context":140},{"file":125,"line":266,"context":140},470,{"file":125,"line":266,"context":140},{"file":125,"line":266,"context":140},{"file":125,"line":270,"context":140},474,{"file":125,"line":270,"context":140},{"file":125,"line":270,"context":140},{"file":125,"line":274,"context":140},478,{"file":125,"line":274,"context":140},{"file":125,"line":274,"context":140},{"file":125,"line":278,"context":140},482,{"file":125,"line":278,"context":140},{"file":125,"line":278,"context":140},{"file":125,"line":282,"context":140},486,{"file":125,"line":282,"context":140},{"file":125,"line":282,"context":140},{"file":125,"line":286,"context":140},490,{"file":125,"line":286,"context":140},{"file":125,"line":286,"context":140},{"file":125,"line":290,"context":140},494,{"file":125,"line":290,"context":140},{"file":125,"line":290,"context":140},{"file":125,"line":294,"context":140},498,{"file":125,"line":294,"context":140},{"file":125,"line":294,"context":140},{"file":125,"line":298,"context":140},502,{"file":125,"line":298,"context":140},{"file":125,"line":298,"context":140},{"file":125,"line":302,"context":140},506,{"file":125,"line":302,"context":140},{"file":125,"line":302,"context":140},{"file":125,"line":306,"context":140},510,{"file":125,"line":306,"context":140},{"file":125,"line":306,"context":140},{"file":125,"line":310,"context":140},514,{"file":125,"line":310,"context":140},{"file":125,"line":310,"context":140},{"file":125,"line":314,"context":140},518,{"file":125,"line":314,"context":140},{"file":125,"line":314,"context":140},{"file":125,"line":318,"context":140},522,{"file":125,"line":318,"context":140},{"file":125,"line":318,"context":140},{"file":125,"line":322,"context":140},526,{"file":125,"line":322,"context":140},{"file":125,"line":322,"context":140},{"file":125,"line":326,"context":140},530,{"file":125,"line":326,"context":140},{"file":125,"line":326,"context":140},{"file":125,"line":330,"context":140},534,{"file":125,"line":330,"context":140},{"file":125,"line":330,"context":140},{"file":125,"line":334,"context":140},538,{"file":125,"line":334,"context":140},{"file":125,"line":334,"context":140},{"file":125,"line":338,"context":140},542,{"file":125,"line":338,"context":140},{"file":125,"line":338,"context":140},{"file":125,"line":342,"context":140},546,{"file":125,"line":342,"context":140},{"file":125,"line":342,"context":140},{"file":125,"line":346,"context":140},550,{"file":125,"line":346,"context":140},{"file":125,"line":346,"context":140},{"file":125,"line":350,"context":140},554,{"file":125,"line":350,"context":140},{"file":125,"line":350,"context":140},{"file":125,"line":354,"context":140},558,{"file":125,"line":354,"context":140},{"file":125,"line":354,"context":140},[],[],{"summary":360,"deductions":361},"The 'poetry' plugin v1.1 presents a mixed security posture. On the positive side, the plugin demonstrates excellent security hygiene by having no known CVEs and no recorded vulnerabilities.  The static analysis also shows a clean slate regarding dangerous functions, SQL injection risks, file operations, and taint flows. This indicates a strong foundation in common vulnerability avoidance.\n\nHowever, significant concerns arise from the output escaping and capability check signals. The fact that 0% of the 160 output operations are properly escaped is a critical weakness. This means user-supplied data or dynamic content displayed by the plugin is likely vulnerable to Cross-Site Scripting (XSS) attacks. Furthermore, the complete absence of capability checks on any potential entry points (even though the attack surface appears minimal) leaves the plugin vulnerable to unauthorized actions if new entry points are discovered or if existing ones are implicitly exposed through external HTTP requests.\n\nIn conclusion, while the plugin has avoided historical vulnerabilities and common pitfalls like raw SQL, the critical lack of output escaping and absence of capability checks represent serious security gaps. These weaknesses could be exploited to perform XSS attacks and potentially unauthorized actions, significantly undermining the plugin's overall security. The single external HTTP request also warrants scrutiny, especially given the lack of permission checks.",[362,365,367],{"reason":363,"points":364},"No output escaping detected",8,{"reason":366,"points":33},"No capability checks on entry points",{"reason":368,"points":107},"External HTTP request without checks","2026-04-16T12:55:35.344Z",{"wat":371,"direct":376},{"assetPaths":372,"generatorPatterns":373,"scriptPaths":374,"versionParams":375},[],[],[],[],{"cssClasses":377,"htmlComments":379,"htmlAttributes":380,"restEndpoints":381,"jsGlobals":382,"shortcodeOutput":383},[378],"random-poem",[],[],[],[],[],{"error":385,"url":386,"statusCode":387,"statusMessage":388,"message":388},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fpoetry\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":390,"versions":391},2,[392,398],{"version":6,"download_url":24,"svn_tag_url":393,"released_at":27,"has_diff":394,"diff_files_changed":395,"diff_lines":27,"trac_diff_url":396,"vulnerabilities":397,"is_current":385},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpoetry\u002Ftags\u002F1.1\u002F",false,[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpoetry%2Ftags%2F1.0&new_path=%2Fpoetry%2Ftags%2F1.1",[],{"version":65,"download_url":399,"svn_tag_url":400,"released_at":27,"has_diff":394,"diff_files_changed":401,"diff_lines":27,"trac_diff_url":27,"vulnerabilities":402,"is_current":394},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpoetry.1.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpoetry\u002Ftags\u002F1.0\u002F",[],[]]