[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fToVFm65nmGKmln-Syswli6PmASUvtySrrizeLxP6F-I":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":16,"requires_php":17,"tags":18,"homepage":23,"download_link":24,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":34,"analysis":35,"fingerprints":83},"flowgallery","FlowGallery","1.2","klemmkeil","https:\u002F\u002Fprofiles.wordpress.org\u002Fklemmkeil\u002F","\u003Cp>Creates a picture gallery from a specified folder on your server in Cascading Grid Layout\u003Cbr \u002F>\nComes with an (optional) Lightbox script (fancybox)\u003Cbr \u002F>\nUses masonry javascript to arrange the images\u003Cbr \u002F>\nConfigurable via an own settings page\u003C\u002Fp>\n","Automatically creates an image gallery from any folder on your Wordpress Server in Flow Layout",10,2326,0,"2025-04-08T19:19:00.000Z","6.7.5","2.5","",[19,20,21,22],"cascading-layout-gallery","flow-gallery","masonry-js","picture-gallery","http:\u002F\u002Fwww.klemmkeil.de\u002Fflowgallery-wordpress-plugin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fflowgallery.zip",100,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":25,"computed_at":33},2,30,1,"2026-04-05T18:56:21.991Z",[],{"attackSurface":36,"codeSignals":60,"taintFlows":70,"riskAssessment":71,"analyzedAt":82},{"hooks":37,"ajaxHandlers":53,"restRoutes":54,"shortcodes":55,"cronEvents":59,"entryPointCount":32,"unprotectedCount":13},[38,44,49],{"type":39,"name":40,"callback":41,"file":42,"line":43},"action","wp_footer","add_this_script_footer","FlowGallery.php",43,{"type":39,"name":45,"callback":46,"file":47,"line":48},"admin_menu","flowgallery_create_menu","options.php",3,{"type":39,"name":50,"callback":51,"file":47,"line":52},"admin_init","register_mysettings",12,[],[],[56],{"tag":4,"callback":57,"file":42,"line":58},"flowgallery_embed_shortcode",122,[],{"dangerousFunctions":61,"sqlUsage":62,"outputEscaping":64,"fileOperations":13,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":69},[],{"prepared":13,"raw":13,"locations":63},[],{"escaped":48,"rawEcho":32,"locations":65},[66],{"file":47,"line":67,"context":68},83,"raw output",[],[],{"summary":72,"deductions":73},"The \"flowgallery\" plugin v1.2 exhibits a generally strong security posture based on the provided static analysis and vulnerability history. The absence of known vulnerabilities (CVEs) and the lack of critical or high-severity issues in taint analysis are positive indicators.  The plugin also avoids potentially risky operations like file operations, external HTTP requests, and raw SQL queries.  However, there are areas for improvement. The static analysis reveals that 75% of outputs are properly escaped, implying that 25% are not, which could lead to cross-site scripting (XSS) vulnerabilities if user-controlled data reaches these unescaped outputs. Furthermore, the plugin has 0 nonce checks and 0 capability checks, meaning that its single shortcode entry point, while currently not directly exposed via AJAX or REST API, is not protected against unauthorized or unintended execution, which could be a concern if the shortcode's functionality is sensitive.",[74,77,80],{"reason":75,"points":76},"Unescaped output detected",6,{"reason":78,"points":79},"Missing nonce checks",5,{"reason":81,"points":79},"Missing capability checks","2026-03-17T00:03:37.339Z",{"wat":84,"direct":96},{"assetPaths":85,"generatorPatterns":89,"scriptPaths":90,"versionParams":91},[86,87,88],"\u002Fwp-content\u002Fplugins\u002Fflowgallery\u002Ffancybox\u002Fjquery.fancybox.pack.js","\u002Fwp-content\u002Fplugins\u002Fflowgallery\u002Ffancybox\u002Fjquery.fancybox.css","\u002Fwp-content\u002Fplugins\u002Fflowgallery\u002Fjs\u002Fmasonry.pkgd.min.js",[],[86,88],[92,93,94,95],"flowgallery\u002Fstyle.css?ver=","flowgallery\u002Fjs\u002Fmasonry.pkgd.min.js?ver=","flowgallery\u002Ffancybox\u002Fjquery.fancybox.pack.js?ver=","flowgallery\u002Ffancybox\u002Fjquery.fancybox.css?ver=",{"cssClasses":97,"htmlComments":101,"htmlAttributes":102,"restEndpoints":104,"jsGlobals":105,"shortcodeOutput":108},[98,99,100],"photogrid","item","shaded",[],[103],"data-fancybox-href",[],[106,107],"jQuery","masonry",[109,110,111,112,113,114,115,116],"\u003Cdiv class='photogrid'","\u003Cdiv class='item shaded'","\u003Cdiv class='item'","\u003Ca href='","\u003Cimg alt='","\u003Cscript>jQuery(document).ready(function() {","\u003Cstyle>.item { margin-bottom:",".shaded {-webkit-box-shadow:2px 2px 6px #000000; -moz-box-shadow:2px 2px 6px #000000; box-shadow:2px 2px 6px #000000;}"]