[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fTQHsuWQEKlV_jk8qA-rPMBkHQkuqu6DZRfOKhJ_0WJE":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":29,"last_vuln_date":30,"fetched_at":31,"vulnerabilities":32,"developer":65,"crawl_stats":38,"alternatives":72,"analysis":178,"fingerprints":312},"easy-quotes","Easy Quotes","1.3.7","Jürgen Müller","https:\u002F\u002Fprofiles.wordpress.org\u002Fjuergen74\u002F","\u003Cp>Easy Quotes let you collect and display your favorite Quotes \u002F Reviews \u002F Testimonials or any other short snippet of Text you want to present on your site.\u003C\u002Fp>\n\u003Cp>Main Features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Custom Post Type “Quotes” with Quick Edit and Bulk Actions\u003C\u002Fli>\n\u003Cli>Add Custom Meta: Author, Date and Rating with Stars\u003C\u002Fli>\n\u003Cli>Gutenberg Block “Easy Quotes” to present your Collection all over your Site. (Block-Widget\u002FPages\u002FPosts etc.)\u003C\u002Fli>\n\u003Cli>Show Random or Daily “Quotes” by Category or choose a Specific Quote.\u003C\u002Fli>\n\u003Cli>Option to rotate Quotes by Category\u003C\u002Fli>\n\u003Cli>Option to show Quotes as a List by Category\u003C\u002Fli>\n\u003Cli>Use Google Fonts and other typographic features to style your Quote.\u003C\u002Fli>\n\u003Cli>Built to blend into any style, but customizable with CSS to fit your needs.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Try my new Plugin\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Feasy-architect\u002F\" rel=\"ugc\">Easy Architect\u003C\u002Fa>\u003C\u002Fp>\n","Collect and show your favorite Quotes \u002F Reviews \u002F Testimonials or any other short snippet of Text.",700,14366,94,6,"2026-01-07T13:03:00.000Z","6.9.4","6.7","7.4",[20,21,22,23,24],"daily","lyrics","quotes","random","testimonials","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasy-quotes.1.3.7.zip",97,2,0,"2025-09-22 00:00:00","2026-03-15T15:16:48.613Z",[33,49],{"id":34,"url_slug":35,"title":36,"description":37,"plugin_slug":4,"theme_slug":38,"affected_versions":39,"patched_in_version":40,"severity":41,"cvss_score":42,"cvss_vector":43,"vuln_type":44,"published_date":30,"updated_date":45,"references":46,"days_to_patch":48},"CVE-2025-58681","easy-quotes-missing-authorization","Easy Quotes \u003C= 1.2.4 - Missing Authorization","The Easy Quotes plugin for WordPress is vulnerable to unauthorized access due to a missing capability check on a function in versions up to, and including, 1.2.4. This makes it possible for unauthenticated attackers to perform an unauthorized action.",null,"\u003C=1.2.4","1.2.5","medium",6.5,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:L\u002FI:L\u002FA:N","Missing Authorization","2025-09-29 16:01:33",[47],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F74bbd842-833b-4c3d-9829-72469591bcaa?source=api-prod",8,{"id":50,"url_slug":51,"title":52,"description":53,"plugin_slug":4,"theme_slug":38,"affected_versions":54,"patched_in_version":55,"severity":56,"cvss_score":57,"cvss_vector":58,"vuln_type":59,"published_date":60,"updated_date":61,"references":62,"days_to_patch":64},"CVE-2025-26943","easy-quotes-unauthenticated-sql-injection","Easy Quotes \u003C= 1.2.2 - Unauthenticated SQL Injection","The Easy Quotes plugin for WordPress is vulnerable to SQL Injection in versions up to, and including, 1.2.2 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query.  This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.","\u003C=1.2.2","1.2.3","high",7.5,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:H\u002FI:N\u002FA:N","Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')","2025-02-23 00:00:00","2025-03-03 20:39:25",[63],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F5fe86ce8-932c-4085-a4e2-023b7d26b718?source=api-prod",9,{"slug":66,"display_name":7,"profile_url":8,"plugin_count":67,"total_installs":68,"avg_security_score":69,"avg_patch_time_days":64,"trust_score":70,"computed_at":71},"juergen74",5,760,99,93,"2026-04-05T01:36:14.798Z",[73,92,113,136,159],{"slug":74,"name":75,"version":76,"author":77,"author_profile":78,"description":79,"short_description":80,"active_installs":29,"downloaded":81,"rating":29,"num_ratings":29,"last_updated":82,"tested_up_to":83,"requires_at_least":84,"requires_php":85,"tags":86,"homepage":89,"download_link":90,"security_score":91,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"daily-quotes-by-jar-of-quotes","Daily Quotes by Jar of Quotes","1.0","jesseneo","https:\u002F\u002Fprofiles.wordpress.org\u002Fjesseneo\u002F","\u003Cp>This is a plugin to present your website visitors with daily quotes with the choice between text, image or both. This plugin, using a PHP API, is located at https:\u002F\u002Fwww.jarofquotes.com\u002Fwebapi.php. The API outputs a JSON file containing the quote id, author, text, URL and image location. This JSON refreshes with a new quote once a day.\u003C\u002Fp>\n","This plugin enables your website to display daily quotes on sidebars.",1150,"2018-10-23T10:53:00.000Z","4.9.29","4.6","5.2.4",[87,22,88],"daily-quotes","random-quotes","http:\u002F\u002Fwww.jarofquotes.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdaily-quotes-by-jar-of-quotes.zip",85,{"slug":93,"name":94,"version":95,"author":96,"author_profile":97,"description":98,"short_description":99,"active_installs":100,"downloaded":101,"rating":102,"num_ratings":103,"last_updated":104,"tested_up_to":16,"requires_at_least":105,"requires_php":25,"tags":106,"homepage":110,"download_link":111,"security_score":112,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"random-content","Random Content","1.6.4","Jeremy Green","https:\u002F\u002Fprofiles.wordpress.org\u002Fendocreative\u002F","\u003Cp>\u003Cstrong>Random Content\u003C\u002Fstrong> is the easiest way to keep your WordPress site feeling fresh and dynamic. Create content groups, add as many items as you want, and display a random selection anywhere on your site with a single shortcode or widget.\u003C\u002Fp>\n\u003Cp>Every time a visitor loads the page, they see something different. That means higher engagement, more clicks, and a site that never feels stale.\u003C\u002Fp>\n\u003Ch4>What can you do with it?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Rotate testimonials\u003C\u002Fstrong> — Show a different customer quote on every page load\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Randomize banners\u003C\u002Fstrong> — Keep sidebar and header promotions fresh without manual updates\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Cycle CTAs\u003C\u002Fstrong> — Test different calls-to-action to see what gets clicks\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Display tips or quotes\u003C\u002Fstrong> — Add variety to any page, post, or widget area\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shuffle FAQs\u003C\u002Fstrong> — Surface different questions each visit\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Free features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Display random content anywhere with the \u003Ccode>[random_content]\u003C\u002Fcode> shortcode\u003C\u002Fli>\n\u003Cli>Use in posts, pages, sidebars, or widget areas\u003C\u002Fli>\n\u003Cli>Organize content into groups for separate rotation sets\u003C\u002Fli>\n\u003Cli>Control how many items display at once\u003C\u002Fli>\n\u003Cli>Full WordPress editor support — text, images, HTML, shortcodes, embeds\u003C\u002Fli>\n\u003Cli>Lightweight and fast with built-in caching\u003C\u002Fli>\n\u003Cli>No coding required\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Getting started\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Create entries under the Random Content post type\u003C\u002Fli>\n\u003Cli>Organize them into Groups (works like categories)\u003C\u002Fli>\n\u003Cli>Add \u003Ccode>[random_content group_id=\"123\"]\u003C\u002Fcode> wherever you want random content to appear\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>That’s it. Your content rotates automatically on every page load.\u003C\u002Fp>\n\u003Ch4>Need more control?\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Frandomcontentpro.com\u002F\" rel=\"nofollow ugc\">Random Content Pro\u003C\u002Fa>\u003C\u002Fstrong> gives you complete control over what visitors see and when they see it:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Scheduling\u003C\u002Fstrong> — Set start and end dates so content appears and disappears automatically. Run time-limited campaigns without touching your site.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Visitor targeting\u003C\u002Fstrong> — Show different content based on user role, login status, UTM parameters, referrer, or page type.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Frequency controls\u003C\u002Fstrong> — Prevent the same item from showing twice in a row. Set cooldown periods between displays.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Weighted selection\u003C\u002Fstrong> — Assign weights (1–10) to each item. Higher weight = shown more often. Perfect for A\u002FB testing.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Display rules\u003C\u002Fstrong> — Control visibility per group: logged-in only, specific roles, specific page types.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fallback content\u003C\u002Fstrong> — Define what shows when all items are filtered out. Never display an empty space.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic updates\u003C\u002Fstrong> — Get new features and fixes delivered directly to your WordPress dashboard.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Frandomcontentpro.com\u002F\" rel=\"nofollow ugc\">Learn more about Random Content Pro \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Shortcode usage\u003C\u002Fh4>\n\u003Cp>Display a random item from all entries:\u003Cbr \u002F>\n    [random_content]\u003C\u002Fp>\n\u003Cp>Display from a specific group:\u003Cbr \u002F>\n    [random_content group_id=”64″]\u003C\u002Fp>\n\u003Cp>Display multiple items at once:\u003Cbr \u002F>\n    [random_content group_id=”13″ num_posts=”3″]\u003C\u002Fp>\n\u003Cp>Load content via AJAX (useful for sites with page caching):\u003Cbr \u002F>\n    [random_content group_id=”64″ ajax=”yes”]\u003C\u002Fp>\n\u003Ch4>Widget usage\u003C\u002Fh4>\n\u003Cp>Navigate to Appearance \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Widgets, add the Random Content widget to any sidebar, and select a group from the dropdown. Leave the group empty to pull from all entries.\u003C\u002Fp>\n","Display random content anywhere on your WordPress site. Rotate testimonials, banners, CTAs, and more with a simple shortcode or widget.",3000,54411,98,34,"2026-03-11T04:34:00.000Z","5.0.1",[107,108,93,109,24],"content-rotation","dynamic-content","rotating-content","https:\u002F\u002Fwww.randomcontentpro.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frandom-content.1.6.4.zip",100,{"slug":114,"name":115,"version":116,"author":117,"author_profile":118,"description":119,"short_description":120,"active_installs":121,"downloaded":122,"rating":102,"num_ratings":123,"last_updated":124,"tested_up_to":125,"requires_at_least":126,"requires_php":127,"tags":128,"homepage":25,"download_link":133,"security_score":91,"vuln_count":134,"unpatched_count":29,"last_vuln_date":135,"fetched_at":31},"bne-testimonials","BNE Testimonials","2.0.8","Kerry","https:\u002F\u002Fprofiles.wordpress.org\u002Fbluenotes\u002F","\u003Cp>BNE Testimonials makes it easy to add Testimonials and Reviews to any Page using a shortcode or in a sidebar (widget area) using the provided widgets. Each testimonial includes a title, image, tagline, website URL, and message. You can also separate your testimonials into different groups (categories). BNE Testimonials will inherit the styling from your theme – just install and get to work adding your testimonials and reviews!\u003C\u002Fp>\n\u003Ch4>Display your testimonials as a List:\u003C\u002Fh4>\n\u003Cp>Shortcode: [bne_testimonials layout=”list”]\u003Cbr \u002F>\nTestimonials will be shown vertically as a traditional list.\u003C\u002Fp>\n\u003Ch4>Display your testimonials as a Slider\u003C\u002Fh4>\n\u003Cp>Shortcode: [bne_testimonials layout=”slider”]\u003Cbr \u002F>\nTestimonials will be shown in a rotating slider. To remove the styling of the slider, include theme=”simple” as a shortcode option.\u003C\u002Fp>\n\u003Ch4>Pro Features Include\u003C\u002Fh4>\n\u003Cp>We have a PRO version of BNE Testimonials on our \u003Ca href=\"http:\u002F\u002Fwww.bnecreative.com\u002Fproducts\u002Ftestimonials-wordpress-pro\u002F\" title=\"BNE Testimonials PRO\" rel=\"nofollow ugc\">website\u003C\u002Fa>. Features include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>API Access: Display testimonials on multiple WordPress websites from a single source.\u003C\u002Fli>\n\u003Cli>Yelp, Google Places, and Facebook Reviews: Use their API to bring in reviews and display them on your website using any of the layouts\u003C\u002Fli>\n\u003Cli>Aggregated Review Badges for Yelp, Google, Facebook, and Custom branding. Automatically calculates your rating and total testimonials published. \u003C\u002Fli>\n\u003Cli>Additional Layouts: Masonry Grid and Thumbnail Slider\u003C\u002Fli>\n\u003Cli>Additional Themes: Bubble and Cards\u003C\u002Fli>\n\u003Cli>Shortcode Generator\u003C\u002Fli>\n\u003Cli>Custom styling\u003C\u002Fli>\n\u003Cli>5 Star Ratings\u003C\u002Fli>\n\u003Cli>Truncated (shorten) text\u003C\u002Fli>\n\u003Cli>Schema.org tags and meta for online search\u003C\u002Fli>\n\u003Cli>Front-end submission form with email notification\u003C\u002Fli>\n\u003Cli>Pagination for list and masonry layouts\u003C\u002Fli>\n\u003Cli>Automatic updates to new versions\u003C\u002Fli>\n\u003Cli>Numerous filters\u002Fhooks for developers\u003C\u002Fli>\n\u003Cli>Priority support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fdemo.bnecreative.com\u002Ftestimonial-pro\u002F\" title=\"BNE Testimonials PRO Demo\" rel=\"nofollow ugc\">View the PRO Demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Why Do I Need Testimonials on my Website?\u003C\u002Fh4>\n\u003Cp>Testimonials are a great way to strengthen your brand and reliability with new customers.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Testimonials help potential customers get to know that you are a trustworthy business.\u003C\u002Fli>\n\u003Cli>Testimonials give you the opportunity to point out specific features or compelling reasons why a customer should buy from you.\u003C\u002Fli>\n\u003Cli>Testimonials, when used effectively, are a great tool to increase conversions rates on your website!\u003C\u002Fli>\n\u003C\u002Ful>\n","Display testimonials and reviews on any page or widget area as list or slider. Upgrade to PRO for additional layouts, themes, submission form, API, ra &hellip;",1000,85231,28,"2023-01-26T00:45:00.000Z","6.0.11","5.0","5.6",[129,130,131,132,24],"feedback","flexslider","random-testimonials","testimonial-widget","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbne-testimonials.zip",1,"2023-01-27 00:00:00",{"slug":137,"name":138,"version":139,"author":140,"author_profile":141,"description":142,"short_description":143,"active_installs":144,"downloaded":145,"rating":112,"num_ratings":134,"last_updated":146,"tested_up_to":147,"requires_at_least":148,"requires_php":25,"tags":149,"homepage":154,"download_link":155,"security_score":156,"vuln_count":157,"unpatched_count":28,"last_vuln_date":158,"fetched_at":31},"simple-testimonials-showcase","Simple Testimonials Showcase","1.1.6","PressTigers","https:\u002F\u002Fprofiles.wordpress.org\u002Fpresstigers\u002F","\u003Cp>Based on fully responsive & flexible jQuery carousel plugin – Slick by Ken Wheeler, help you to manage and display all testimonials, reviews or quotes on slider in multiple ways!\u003C\u002Fp>\n\u003Ch4>Plugin Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Grid or Slider Layouts\u003C\u002Fli>\n\u003Cli>Translation Ready\u003C\u002Fli>\n\u003Cli>Fully Responsive & Compatible with all Major Browsers\u003C\u002Fli>\n\u003Cli>Easy to Use\u003C\u002Fli>\n\u003Cli>Custom Post Type\u003C\u002Fli>\n\u003Cli>Ability to add Author Name, Description, Role and Organization to the Testimonials\u003C\u002Fli>\n\u003Cli>Awesome Support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How to Use\u003C\u002Fh4>\n\u003Col>\n\u003Cli>For creating a new testimonial, you will simply need to click on the link “Add New”? under Testimonials Showcase from WordPress main menu.\u003C\u002Fli>\n\u003Cli>You will be redirected to the new testimonial page where you can add the testimonial details in input fields.\u003C\u002Fli>\n\u003Cli>Once the testimonial created, you will be redirected to testimonial listing page where you can view full detail, edit or delete the testimonial.\u003C\u002Fli>\n\u003C\u002Fol>\n","This plugin allows you to create and display testimonials in multiple ways.",600,36659,"2024-05-24T12:47:00.000Z","6.5.8","4.4",[150,151,152,153,22],"clients-feedback","grid-layout","publish-feedback","quote-layout-testimonials","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsimple-testimonials-showcase","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-testimonials-showcase.1.1.6.zip",49,3,"2024-10-15 00:00:00",{"slug":160,"name":161,"version":162,"author":163,"author_profile":164,"description":165,"short_description":166,"active_installs":167,"downloaded":168,"rating":169,"num_ratings":14,"last_updated":170,"tested_up_to":171,"requires_at_least":172,"requires_php":25,"tags":173,"homepage":176,"download_link":177,"security_score":91,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"easy-random-quotes","Easy Random Quotes","1.8","Kailey (trepmal)","https:\u002F\u002Fprofiles.wordpress.org\u002Ftrepmal\u002F","\u003Cp>Insert quotes and pull them randomly into your pages and posts (via shortcodes) or your template (via template tags).\u003Cbr \u002F>\nCan refer to quote IDs to use specific quotes. Also widget-enabled\u003C\u002Fp>\n","Insert quotes and pull them randomly into your pages and posts (via shortcodes) or your template (via template tags).",500,21239,86,"2016-09-29T02:57:00.000Z","4.6.30","2.8",[88,174,175],"shortcodes","widget","http:\u002F\u002Ftrepmal.com\u002Fplugins\u002Feasy-random-quotes\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasy-random-quotes.1.8.zip",{"attackSurface":179,"codeSignals":249,"taintFlows":299,"riskAssessment":300,"analyzedAt":311},{"hooks":180,"ajaxHandlers":237,"restRoutes":238,"shortcodes":247,"cronEvents":248,"entryPointCount":134,"unprotectedCount":29},[181,187,191,194,198,202,205,209,212,217,222,226,229,232,234],{"type":182,"name":183,"callback":184,"file":185,"line":186},"action","init","register_blocks","easy-quotes.php",29,{"type":182,"name":188,"callback":189,"file":185,"line":190},"wp_enqueue_scripts","enqueue_scripts",30,{"type":182,"name":183,"callback":192,"priority":69,"file":185,"line":193},"flush_rules_on_activation",32,{"type":182,"name":195,"callback":195,"file":196,"line":197},"rest_api_init","includes\\data.php",20,{"type":182,"name":183,"callback":199,"file":200,"line":201},"post_type","includes\\post-type.php",11,{"type":182,"name":183,"callback":203,"priority":190,"file":200,"line":204},"taxonomy",12,{"type":182,"name":206,"callback":207,"file":200,"line":208},"save_post_quote","save_meta",13,{"type":182,"name":210,"callback":189,"file":200,"line":211},"admin_enqueue_scripts",14,{"type":213,"name":214,"callback":215,"file":200,"line":216},"filter","manage_quote_posts_columns","quote_posts_columns",15,{"type":182,"name":218,"callback":219,"priority":220,"file":200,"line":221},"manage_quote_posts_custom_column","quote_posts_custom_column",10,16,{"type":213,"name":223,"callback":224,"file":200,"line":225},"manage_edit-quote_sortable_columns","quote_sortable_columns",17,{"type":182,"name":227,"callback":227,"file":200,"line":228},"pre_get_posts",18,{"type":182,"name":230,"callback":230,"priority":220,"file":200,"line":231},"quick_edit_custom_box",19,{"type":182,"name":233,"callback":230,"priority":220,"file":200,"line":197},"bulk_edit_custom_box",{"type":182,"name":235,"callback":235,"file":200,"line":236},"restrict_manage_posts",21,[],[239],{"namespace":240,"route":241,"methods":242,"callback":244,"permissionCallback":245,"file":196,"line":246},"easy-quotes\u002Fv1","\u002Fquotes",[243],"GET","get_quotes_rest","closure",24,[],[],{"dangerousFunctions":250,"sqlUsage":251,"outputEscaping":260,"fileOperations":134,"externalRequests":29,"nonceChecks":157,"capabilityChecks":157,"bundledLibraries":298},[],{"prepared":221,"raw":28,"locations":252},[253,257],{"file":254,"line":255,"context":256},"includes\\fonts-database.php",33,"$wpdb->query() with variable interpolation",{"file":254,"line":258,"context":259},50,"$wpdb->get_var() with variable interpolation",{"escaped":261,"rawEcho":225,"locations":262},62,[263,267,269,271,273,275,277,279,281,283,286,287,289,291,293,295,297],{"file":264,"line":265,"context":266},"includes\\font.php",37,"raw output",{"file":200,"line":268,"context":266},203,{"file":200,"line":270,"context":266},208,{"file":200,"line":272,"context":266},213,{"file":200,"line":274,"context":266},219,{"file":200,"line":276,"context":266},378,{"file":200,"line":278,"context":266},440,{"file":200,"line":280,"context":266},453,{"file":200,"line":282,"context":266},466,{"file":284,"line":285,"context":266},"src\\easy-quotes\\render.php",56,{"file":284,"line":261,"context":266},{"file":284,"line":288,"context":266},74,{"file":284,"line":290,"context":266},144,{"file":284,"line":292,"context":266},145,{"file":284,"line":294,"context":266},146,{"file":284,"line":296,"context":266},190,{"file":284,"line":270,"context":266},[],[],{"summary":301,"deductions":302},"The plugin \"easy-quotes\" v1.3.7 exhibits a generally positive security posture with several strengths. The attack surface is minimal, with all identified entry points (AJAX, REST API) protected by authentication checks. The code also demonstrates good practices by largely utilizing prepared statements for SQL queries (89%) and properly escaping the majority of its outputs (78%).  The presence of nonce and capability checks further bolsters its security, indicating an awareness of common WordPress vulnerabilities.\n\nHowever, the plugin's vulnerability history is a significant concern. With two known CVEs, one high and one medium severity, and both related to common issues like Missing Authorization and SQL Injection, it suggests a recurring pattern of security weaknesses. Although the latest vulnerability is listed as unpatched in the provided history, the fact that there are 0 currently unpatched CVEs is a positive sign. The absence of taint analysis results or critical severity flows is also encouraging. The limited number of file operations and external HTTP requests are minor points that reduce the potential for certain types of attacks.\n\nIn conclusion, while \"easy-quotes\" v1.3.7 has made strides in implementing security best practices, particularly in input validation and access control for its limited attack surface, its past vulnerabilities cannot be ignored. The recurrence of SQL Injection and Authorization issues in its history warrants careful monitoring and a cautious approach. Users should remain vigilant for any future security advisories, despite the current lack of unpatched critical vulnerabilities.",[303,305,307,309],{"reason":304,"points":216},"High severity vulnerability history",{"reason":306,"points":220},"Medium severity vulnerability history",{"reason":308,"points":67},"Some SQL queries not using prepared statements",{"reason":310,"points":157},"Some outputs not properly escaped","2026-03-16T19:22:25.334Z",{"wat":313,"direct":320},{"assetPaths":314,"generatorPatterns":316,"scriptPaths":317,"versionParams":318},[315],"\u002Fwp-content\u002Fplugins\u002Feasy-quotes\u002Fpublic\u002Fjs\u002Feasy-quotes.js",[],[315],[319],"easy-quotes.js?ver=1.3.7",{"cssClasses":321,"htmlComments":322,"htmlAttributes":323,"restEndpoints":324,"jsGlobals":326,"shortcodeOutput":328},[],[],[],[325],"\u002Fwp-json\u002Feasy-quotes\u002Fv1\u002Fsettings",[327],"EasyQuotes",[]]