[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fNAzL6134FIfx1Bnn3Vds373IiWqI3rpzYan3CkUrr6o":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":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":48,"crawl_stats":37,"alternatives":55,"analysis":140,"fingerprints":261},"catch-scroll-progress-bar","Catch Scroll Progress Bar","2.1","Catch Plugins","https:\u002F\u002Fprofiles.wordpress.org\u002Fcatchplugins\u002F","\u003Cp>Catch Scroll Progress Bar is a simple yet handy WordPress plugin that provides a visual representation of how much of a blog post remains. It is absolutely free of cost. As your reader scrolls down your web page, the progress bar begins to fill, indicating how much progress they’ve made. The plugin comes with an array of customization features like choosing the position, background colors, opacity level, height, border radius, and more. With Catch Scroll Progress Bar, you can choose your reading progress bar to display them either at the top or bottom of your website. You can choose the background and foreground colors and select their display opacity as well. Most importantly, Catch Scroll Progress Bar empowers you with the conditions as to where your progress bar would be displayed—front page, blog page, or posts\u002Fpages. With all these essential features integrated into the plugin, Catch Scroll Progress Bar sure is a perfect pick for displaying a simple yet elegant reading progress bar.\u003C\u002Fp>\n","Catch Scroll Progress Bar - Catch Scroll Progress Bar is a simple, super-light WordPress progress bar plugin that has the most essential features to s &hellip;",1000,18682,80,4,"2026-02-25T09:44:00.000Z","6.9.4","5.9","",[20,21,22,23],"progress-bar","progressbar","reading","scroll","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcatch-scroll-progress-bar","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcatch-scroll-progress-bar.2.1.zip",100,1,0,"2021-09-20 00:00:00","2026-03-15T15:16:48.613Z",[32],{"id":33,"url_slug":34,"title":35,"description":36,"plugin_slug":4,"theme_slug":37,"affected_versions":38,"patched_in_version":39,"severity":40,"cvss_score":41,"cvss_vector":42,"vuln_type":43,"published_date":29,"updated_date":44,"references":45,"days_to_patch":47},"CVE-2021-24752","catchthemes-plugins-various-versions-missing-authorization","CatchThemes Plugins (Various Versions) - Missing Authorization","Multiple Plugins from the CatchThemes vendor do not perform capability and CSRF checks in the ctp_switch AJAX action, which could allow any authenticated users, such as Subscriber to change the Essential Widgets WordPress plugin before 1.9, To Top WordPress plugin before 2.3, Header Enhancement WordPress plugin before 1.5, Generate Child Theme WordPress plugin before 1.6, Essential Content Types WordPress plugin before 1.9, Catch Web Tools WordPress plugin before 2.7, Catch Under Construction WordPress plugin before 1.4, Catch Themes Demo Import WordPress plugin before 1.6, Catch Sticky Menu WordPress plugin before 1.7, Catch Scroll Progress Bar WordPress plugin before 1.6, Social Gallery and Widget WordPress plugin before 2.3, Catch Infinite Scroll WordPress plugin before 1.9, Catch Import Export WordPress plugin before 1.9, Catch Gallery WordPress plugin before 1.7, Catch Duplicate Switcher WordPress plugin before 1.6, Catch Breadcrumb WordPress plugin before 1.7, Catch IDs WordPress plugin before 2.4's configurations.",null,"\u003C1.6","1.6","medium",5.4,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:L","Missing Authorization","2024-01-22 19:56:02",[46],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fba5656b9-615d-4764-974a-301d3dd748e8?source=api-prod",855,{"slug":49,"display_name":7,"profile_url":8,"plugin_count":50,"total_installs":51,"avg_security_score":26,"avg_patch_time_days":52,"trust_score":53,"computed_at":54},"catchplugins",9,28750,798,79,"2026-04-03T23:12:18.699Z",[56,75,92,110,127],{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":64,"downloaded":65,"rating":26,"num_ratings":66,"last_updated":67,"tested_up_to":16,"requires_at_least":68,"requires_php":69,"tags":70,"homepage":73,"download_link":74,"security_score":26,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"reading-progress-bar","Reading progressbar","1.3.1","Jb Audras","https:\u002F\u002Fprofiles.wordpress.org\u002Faudrasjb\u002F","\u003Cp>Get a reading position indicator as a progress bar and show it where you want: top, bottom or custom position in differents templates or post types.\u003C\u002Fp>\n\u003Cp>Very lightweight, it uses \u003Ccode>\u003Cprogress>\u003C\u002Fcode> HTML5 element and few lines of javascript.\u003C\u002Fp>\n\u003Cp>Options:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Progress bar’s height\u003C\u002Fli>\n\u003Cli>Foreground color\u003C\u002Fli>\n\u003Cli>Background color\u003C\u002Fli>\n\u003Cli>Position (top, bottom, custom)\u003C\u002Fli>\n\u003Cli>Class\u002FID of HTML element to fix the bar (if custom position selected)\u003C\u002Fli>\n\u003Cli>Page templates\u003C\u002Fli>\n\u003Cli>Post types (natives or custom)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Credits\u003C\u002Fstrong> :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fjeanbaptisteaudras.com\u002F\" title=\"Jean-Baptiste Audras\" rel=\"nofollow ugc\">Jean-Baptiste Audras\u003C\u002Fa>, project manager at \u003Ca href=\"http:\u002F\u002Fwww.whodunit.fr\u002F\" title=\"Whodunit WordPress Agency\" rel=\"nofollow ugc\">Whodunit\u003C\u002Fa> and WordPress developer. @audrasjb on \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Faudrasjb\" title=\"@audrasjb on Twitter\" rel=\"nofollow ugc\">Twitter\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Faudrasjb\" title=\"@audrasjb on Github\" rel=\"nofollow ugc\">Github\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n","A reading position indicator that you can use where you want: top, bottom or custom position in differents templates or post types.",6000,72086,17,"2026-02-18T12:09:00.000Z","4.9","5.6",[71,72,21,22,23],"indicator","progress","https:\u002F\u002Fjeanbaptisteaudras.com\u002Fportfolio\u002Fwordpress-reading-progressbar-indicator-plugin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Freading-progress-bar.1.3.1.zip",{"slug":76,"name":77,"version":78,"author":79,"author_profile":80,"description":81,"short_description":82,"active_installs":28,"downloaded":83,"rating":28,"num_ratings":28,"last_updated":84,"tested_up_to":85,"requires_at_least":86,"requires_php":87,"tags":88,"homepage":18,"download_link":90,"security_score":91,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"easy-scroll-progress-bar","Easy Scroll Progress Bar","1.0.0","yayplugins","https:\u002F\u002Fprofiles.wordpress.org\u002Fyayplugins\u002F","\u003Cp>Easy Scroll Progress Bar adds a customizable progress bar to your posts, pages, or custom post types that indicates how far down the page a user has scrolled.\u003C\u002Fp>\n","A simple progress bar that shows reading progress as users scroll down the page.",287,"2025-01-04T13:24:00.000Z","6.7.5","5.0","7.2",[20,89,23],"reading-progress","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasy-scroll-progress-bar.zip",92,{"slug":93,"name":94,"version":95,"author":96,"author_profile":97,"description":98,"short_description":99,"active_installs":28,"downloaded":100,"rating":26,"num_ratings":27,"last_updated":101,"tested_up_to":102,"requires_at_least":86,"requires_php":103,"tags":104,"homepage":108,"download_link":109,"security_score":26,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"reading-time-and-progress-bar","Reading Time and Progress Bar","1.1","Aman Joshi","https:\u002F\u002Fprofiles.wordpress.org\u002Fstackwithaman\u002F","\u003Cp>Reading Time and Progress Bar is a WordPress plugin designed to enhance reader engagement and provide a better user experience on blogs. It automatically calculates the estimated reading time for each post and displays a progress bar at the top of the page, which fills as the reader scrolls through the content.\u003C\u002Fp>\n\u003Cp>This plugin is easy to set up and compatible with any WordPress theme, ensuring that all users can benefit from its features without any coding knowledge required.\u003C\u002Fp>\n\u003Ch3>Arbitrary section\u003C\u002Fh3>\n\u003Cp>You can extend the functionality of this plugin by adding custom CSS to style the progress bar and adjust the reading time calculation per your preferences.\u003C\u002Fp>\n\u003Ch3>A brief Markdown Example\u003C\u002Fh3>\n\u003Cp>Ordered list:\u003Cbr \u002F>\n1. Some feature\u003Cbr \u002F>\n2. Another feature\u003Cbr \u002F>\n3. Yet another feature\u003C\u002Fp>\n\u003Cp>Code block:\u003Cbr \u002F>\nfunction example_function() {\u003Cbr \u002F>\nreturn ‘This is a code block’;\u003Cbr \u002F>\n}\u003C\u002Fp>\n\u003Cp>For more information and support, visit \u003Ca href=\"https:\u002F\u002Faimactgrow.com\u002F\" rel=\"nofollow ugc\">our website\u003C\u002Fa>.\u003C\u002Fp>\n","A simple WordPress plugin that displays the estimated reading time and a progress bar at the top of your blog posts as readers scroll through.",1633,"2025-05-27T20:29:00.000Z","6.8.5","7.0",[105,106,20,107,23],"blog","content","reading-time","https:\u002F\u002Faimactgrow.com\u002Freading-time-progress-bar","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Freading-time-and-progress-bar.1.0.zip",{"slug":111,"name":112,"version":113,"author":114,"author_profile":115,"description":116,"short_description":117,"active_installs":28,"downloaded":118,"rating":28,"num_ratings":28,"last_updated":119,"tested_up_to":16,"requires_at_least":120,"requires_php":121,"tags":122,"homepage":18,"download_link":126,"security_score":26,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"uply-scroll-to-top-and-progress-bar","Animated Scroll to Top Button, Progress Bar & Read Time – Uply","1.0.2","Shois WP","https:\u002F\u002Fprofiles.wordpress.org\u002Fshoiswp\u002F","\u003Cp>\u003Cstrong>Ultimate UX Toolkit: Advanced Scroll to Top, Progress Bar, and Smart Reading Time.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Uply is designed to solve one major problem: Reader Fatigue. Long articles can be overwhelming, but with the right visual cues, you can keep users engaged and navigating effortlessly. This plugin brings together three essential tools – Scroll to Top, Progress Bar, and Reading Time — all optimized for speed and SEO.\u003C\u002Fp>\n\u003Ch3>1. Advanced Scroll to Top Button\u003C\u002Fh3>\n\u003Cp>Make site navigation effortless. Say goodbye to boring navigation and give your users a stylish way to return to the top.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Standard Icon Library\u003C\u002Fstrong>: Access a clean collection of Arrows, Chevrons, and Circles that fits any theme.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible Positioning\u003C\u002Fstrong>: Toggle between Left or Right alignment with adjustable bottom margins.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom SVG Icon Builder\u003C\u002Fstrong>: Upload your own branding icons and fully customize background colors, borders, and hover effects.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Mobile Visibility Control\u003C\u002Fstrong>: Keep your mobile interface clean by specifically enabling or disabling the button on mobile devices.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>58+ Premium Button Designs [PRO]\u003C\u002Fstrong>: Upgrade to a massive library featuring Rocket icons, Paper planes, 3D animated buttons, and unique modern shapes.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>10+ Special Progress Buttons [PRO]\u003C\u002Fstrong>: A high-end feature where a circular or square progress indicator is built directly around the button, filling up as the user scrolls.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Unique Styles & Fluid Animations [PRO]\u003C\u002Fstrong>: Every Pro button comes with “Joss” (stunning) animations and designer-grade transitions that make your site stand out.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>2. Dynamic Reading Progress Bar\u003C\u002Fh3>\n\u003Cp>A visual roadmap that encourages users to finish your articles. Give your readers a sense of accomplishment as they scroll.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Sleek Minimalist Styles\u003C\u002Fstrong>: Solid, Segmented, or Rainbow bars that track progress in real-time.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Top Positioning\u003C\u002Fstrong>: A standard, non-intrusive bar fixed to the top of the viewport.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bottom Viewport Toggle\u003C\u002Fstrong>: Choose to fix the progress bar to either the top or the bottom of the screen.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Precision Height & Thickness\u003C\u002Fstrong>: Use a range slider to adjust the thickness of the bar to match your brand’s style perfectly.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Intelligent Sticky Offset\u003C\u002Fstrong>: Smart “Space Above\u002FBelow” settings to prevent the bar from overlapping with your sticky headers or menus.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>30+ Premium Animation Styles [PRO]\u003C\u002Fstrong>: Access 30+ stunning animations, including Neon Glow, Liquid Metal, Gradient Waves, and Glitch effects.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced Unique Designs [PRO]\u003C\u002Fstrong>: High-end, eye-catching designs that elevate your website’s aesthetic instantly.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>3. Smart Reading Time Indicator\u003C\u002Fh3>\n\u003Cp>Transparency builds trust. Letting readers know the time commitment upfront significantly reduces bounce rates.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Precision WPM Algorithm\u003C\u002Fstrong>: Automatically calculates reading time based on a customizable “Words Per Minute” logic.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Clean Text Layout\u003C\u002Fstrong>: Displays a simple, automated “X min read” label before your content.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Dual-Positioning Display\u003C\u002Fstrong>: Display the reading time Before Content, After Content, or in Both locations simultaneously.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Full Typography & Styling Suite\u003C\u002Fstrong>: Total control over font size, colors, background padding, and margins—no coding required.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Labels\u003C\u002Fstrong>: Fully customize your Prefix (e.g., “Ready in:”) and Postfix (e.g., “minutes”) text.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>25+ Designer Layouts [PRO]\u003C\u002Fstrong>: Access 25+ unique and advanced layouts featuring professional icons like Clocks, Books, Hourglasses, and Sand-timers.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Stunning Layout Animations [PRO]\u003C\u002Fstrong>: Beautifully animated entry and hover effects for the reading time badge.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4. Intelligent Targeting & Performance\u003C\u002Fh3>\n\u003Cp>Uply is built for speed and control. It gives power users the tools they need without sacrificing performance.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Vanilla CSS Power\u003C\u002Fstrong>: No heavy libraries (No jQuery UI or GSAP). All animations are built with optimized CSS for zero impact on Core Web Vitals.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Conditional Display Logic\u003C\u002Fstrong>: Enable or disable features globally or for specific Post Types (e.g., show on Posts but hide on Pages).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Precise Page Exclusion\u003C\u002Fstrong>: Use a built-in search interface to exclude specific Page IDs or posts where you don’t want the tools to appear.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Why Choose Uply?\u003C\u002Fh3>\n\u003Cp>Whether you use the feature-packed Free version or the designer-grade PRO version, Uply is engineered to improve your “Time on Site” and “Bounce Rate” — two of the most important metrics for SEO and user satisfaction.\u003C\u002Fp>\n","Adds Animated Scroll to Top button, dynamic Reading Progress Bar, & estimated Read Time. SEO-optimized, lightweight, and fully customizable.",206,"2026-02-23T21:19:00.000Z","6.0","7.4",[20,123,107,124,125],"read-time","scroll-button","scroll-to-top","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fuply-scroll-to-top-and-progress-bar.1.0.2.zip",{"slug":128,"name":129,"version":130,"author":131,"author_profile":132,"description":133,"short_description":134,"active_installs":28,"downloaded":135,"rating":28,"num_ratings":28,"last_updated":136,"tested_up_to":16,"requires_at_least":86,"requires_php":18,"tags":137,"homepage":18,"download_link":139,"security_score":26,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"zenread","ZenRead – Reading Progress Bar & Estimated Time","1.3","Tusher Ikbal","https:\u002F\u002Fprofiles.wordpress.org\u002Ftusherikbal\u002F","\u003Cp>ZenRead is a lightweight and secure plugin that adds a sleek reading progress bar and an estimated reading time indicator to your WordPress posts. It helps in reducing bounce rates and improving engagement by giving readers a clear visual of their progress.\u003C\u002Fp>\n\u003Cp>By showing how long a post will take to read and providing a smooth scrolling experience, ZenRead enhances the overall readability of your site.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Reading Progress Bar:\u003C\u002Fstrong> A smooth, customizable bar at the top of the page that tracks reading progress.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Estimated Reading Time:\u003C\u002Fstrong> Automatically calculates and displays the reading time based on word count.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Scroll to Top Button:\u003C\u002Fstrong> A customizable button with Dashicons support to help users navigate back to the top.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fully Customizable:\u003C\u002Fstrong> Easily change colors, bar height, padding, and margins from the settings page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Performance Focused:\u003C\u002Fstrong> Built with vanilla JavaScript and clean PHP, ensuring zero impact on site speed.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Secure:\u003C\u002Fstrong> Fully follows WordPress.org security standards with data sanitization and escaping.\u003C\u002Fli>\n\u003C\u002Ful>\n","ZenRead is a lightweight and secure plugin that adds a sleek reading progress bar and an estimated reading time indicator to your WordPress posts.",120,"2026-01-26T15:40:00.000Z",[20,138,107,125,128],"readability","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fzenread.zip",{"attackSurface":141,"codeSignals":214,"taintFlows":251,"riskAssessment":252,"analyzedAt":260},{"hooks":142,"ajaxHandlers":196,"restRoutes":210,"shortcodes":211,"cronEvents":212,"entryPointCount":213,"unprotectedCount":28},[143,149,152,157,160,164,169,171,173,176,179,182,185,188,190,193],{"type":144,"name":145,"callback":146,"file":147,"line":148},"action","admin_enqueue_scripts","our_themes_script","includes\\CatchThemesThemePlugin.php",13,{"type":144,"name":150,"callback":150,"file":147,"line":151},"customize_register",16,{"type":153,"name":154,"callback":155,"priority":27,"file":147,"line":156},"filter","install_plugins_tabs","add_our_plugins_tab",23,{"type":153,"name":158,"callback":49,"priority":27,"file":147,"line":159},"install_plugins_table_api_args_catchplugins",24,{"type":144,"name":161,"callback":162,"file":147,"line":163},"install_plugins_catchplugins","plugins_table",25,{"type":144,"name":165,"callback":166,"file":167,"line":168},"plugins_loaded","anonymous","includes\\class-catch-scroll-progress-bar.php",129,{"type":144,"name":145,"callback":166,"file":167,"line":170},144,{"type":144,"name":145,"callback":166,"file":167,"line":172},145,{"type":144,"name":174,"callback":166,"file":167,"line":175},"admin_menu",146,{"type":144,"name":177,"callback":166,"file":167,"line":178},"admin_init",147,{"type":153,"name":180,"callback":166,"file":167,"line":181},"plugin_action_links",148,{"type":153,"name":183,"callback":166,"file":167,"line":184},"plugin_row_meta",149,{"type":144,"name":186,"callback":166,"file":167,"line":187},"wp_enqueue_scripts",164,{"type":144,"name":186,"callback":166,"file":167,"line":189},165,{"type":144,"name":191,"callback":166,"file":167,"line":192},"wp_footer",166,{"type":144,"name":177,"callback":194,"file":195,"line":66},"ctp_register_settings","includes\\ctp-tabs-removal.php",[197,203,207],{"action":198,"nopriv":199,"callback":200,"hasNonce":199,"hasCapCheck":201,"file":147,"line":202},"query-themes",false,"wp_ajax_custom_query_themes",true,11,{"action":204,"nopriv":199,"callback":205,"hasNonce":201,"hasCapCheck":201,"file":147,"line":206},"customize_load_themes","handle_load_themes_request",21,{"action":208,"nopriv":199,"callback":208,"hasNonce":201,"hasCapCheck":201,"file":195,"line":209},"ctp_switch",85,[],[],[],3,{"dangerousFunctions":215,"sqlUsage":216,"outputEscaping":218,"fileOperations":28,"externalRequests":28,"nonceChecks":14,"capabilityChecks":50,"bundledLibraries":250},[],{"prepared":28,"raw":28,"locations":217},[],{"escaped":219,"rawEcho":148,"locations":220},69,[221,225,228,230,233,235,237,239,241,243,245,246,248],{"file":222,"line":223,"context":224},"admin\\class-catch-scroll-progress-bar-admin.php",181,"raw output",{"file":226,"line":227,"context":224},"admin\\partials\\catch-scroll-progress-bar-admin-display.php",41,{"file":226,"line":229,"context":224},46,{"file":231,"line":232,"context":224},"admin\\partials\\dashboard-display.php",45,{"file":231,"line":234,"context":224},52,{"file":231,"line":236,"context":224},118,{"file":231,"line":238,"context":224},124,{"file":231,"line":240,"context":224},130,{"file":231,"line":242,"context":224},136,{"file":231,"line":244,"context":224},142,{"file":231,"line":184,"context":224},{"file":231,"line":247,"context":224},167,{"file":231,"line":249,"context":224},185,[],[],{"summary":253,"deductions":254},"The \"catch-scroll-progress-bar\" plugin version 2.1 demonstrates a generally good security posture, with strong adherence to secure coding practices. The static analysis reveals no critical or high-severity taint flows, no direct SQL queries (all are prepared), and a high percentage of properly escaped output.  The presence of nonce and capability checks on its entry points, particularly its 3 AJAX handlers, is a positive sign that the plugin attempts to protect against common web vulnerabilities. The absence of shortcodes, cron events, and REST API routes also limits the potential attack surface.  However, the plugin does have a history of known vulnerabilities, with one recorded CVE in the past. While this vulnerability is reported as patched, the historical pattern of a 'Missing Authorization' vulnerability is a point of concern, suggesting that authorization checks have been an area requiring attention in the past development lifecycle.  This indicates a need for ongoing vigilance and robust testing, especially concerning how it handles user interactions and data handling.",[255,258],{"reason":256,"points":257},"Past vulnerability: Missing Authorization",5,{"reason":259,"points":14},"18% of output not properly escaped","2026-03-16T19:03:44.844Z",{"wat":262,"direct":280},{"assetPaths":263,"generatorPatterns":271,"scriptPaths":272,"versionParams":273},[264,265,266,267,268,269,270],"\u002Fwp-content\u002Fplugins\u002Fcatch-scroll-progress-bar\u002Fadmin\u002Fcss\u002Fcatch-scroll-progress-bar-admin.css","\u002Fwp-content\u002Fplugins\u002Fcatch-scroll-progress-bar\u002Fadmin\u002Fjs\u002Fjquery-matchHeight.min.js","\u002Fwp-content\u002Fplugins\u002Fcatch-scroll-progress-bar\u002Fadmin\u002Fjs\u002Fcatch-scroll-progress-bar-admin.js","\u002Fwp-content\u002Fplugins\u002Fcatch-scroll-progress-bar\u002Fadmin\u002Fjs\u002Fwp-color-picker.js","\u002Fwp-content\u002Fplugins\u002Fcatch-scroll-progress-bar\u002Fpublic\u002Fcss\u002Fcatch-scroll-progress-bar-public.css","\u002Fwp-content\u002Fplugins\u002Fcatch-scroll-progress-bar\u002Fpublic\u002Fjs\u002Fcatch-scroll-progress-bar-public.js","\u002Fwp-content\u002Fplugins\u002Fcatch-scroll-progress-bar\u002Fincludes\u002Fctp-tabs-removal.php",[],[],[274,275,276,277,278,279],"catch-scroll-progress-bar\u002Fadmin\u002Fcss\u002Fcatch-scroll-progress-bar-admin.css?ver=","catch-scroll-progress-bar\u002Fadmin\u002Fjs\u002Fjquery-matchHeight.min.js?ver=","catch-scroll-progress-bar\u002Fadmin\u002Fjs\u002Fcatch-scroll-progress-bar-admin.js?ver=","catch-scroll-progress-bar\u002Fadmin\u002Fjs\u002Fwp-color-picker.js?ver=","catch-scroll-progress-bar\u002Fpublic\u002Fcss\u002Fcatch-scroll-progress-bar-public.css?ver=","catch-scroll-progress-bar\u002Fpublic\u002Fjs\u002Fcatch-scroll-progress-bar-public.js?ver=",{"cssClasses":281,"htmlComments":282,"htmlAttributes":284,"restEndpoints":285,"jsGlobals":286,"shortcodeOutput":289},[4],[283]," CTP tabs removal options ",[],[],[287,288],"catch_scroll_progress_bar_admin_object","ctp_options",[]]