[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fGcecDLCUZ6LDNuaknXQ0mT1XCu1ScAwlHwzJME6DZ6A":3},{"slug":4,"name":5,"version":6,"author":4,"author_profile":7,"description":8,"short_description":9,"active_installs":10,"downloaded":11,"rating":10,"num_ratings":10,"last_updated":12,"tested_up_to":13,"requires_at_least":14,"requires_php":15,"tags":16,"homepage":22,"download_link":23,"security_score":24,"vuln_count":10,"unpatched_count":10,"last_vuln_date":25,"fetched_at":26,"vulnerabilities":27,"developer":28,"crawl_stats":25,"alternatives":33,"analysis":140,"fingerprints":581},"lightsyncpro","LightSync Pro – Connect & Sync Cloud Assets | Lightroom, Canva, Figma, Dropbox & Shutterstock","2.1.6","https:\u002F\u002Fprofiles.wordpress.org\u002Flightsyncpro\u002F","\u003Cp>\u003Cstrong>LightSync Pro creates a cloud-to-CMS image pipeline for WordPress and Shopify.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Connect your creative tools, browse your cloud content inside WordPress, and sync images without downloading, renaming, or re-uploading anything — to WordPress and Shopify simultaneously. When a source image changes, simply re-sync to update it in place — without breaking attachment IDs, layouts, or product images.\u003C\u002Fp>\n\u003Cp>Whether you’re a photographer publishing from Lightroom, a designer working in Canva or Figma, or a Shopify merchant managing product images — LightSync Pro eliminates the repetitive download-upload cycle with automatic compression and optional AI image generation.\u003C\u002Fp>\n\u003Cp>No exports. No duplicate uploads. No broken links.\u003C\u002Fp>\n\u003Ch4>How It Works\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\u003Cstrong>Connect\u003C\u002Fstrong> — Authorize Lightroom, Canva, Figma, Dropbox, Shutterstock, or OpenRouter (AI) via secure OAuth\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Browse\u003C\u002Fstrong> — View albums, designs, files, folders, licensed images, or generate AI images directly inside WordPress\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Choose Destination\u003C\u002Fstrong> — Sync to WordPress, Shopify, or both simultaneously\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Sync\u003C\u002Fstrong> — Images are optimized, compressed, and added to your Media Library or Shopify Files\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>All sources sync to both WordPress and Shopify in the free version — no upgrade required for multi-destination sync.\u003C\u002Fp>\n\u003Ch4>Why LightSync Pro Is Different\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>No manual downloads from Canva, Lightroom, or Dropbox  \u003C\u002Fli>\n\u003Cli>No duplicate uploads to WordPress or Shopify  \u003C\u002Fli>\n\u003Cli>No broken image links when updating hero or product images  \u003C\u002Fli>\n\u003Cli>No developer API keys required  \u003C\u002Fli>\n\u003Cli>Replace images in place without changing attachment IDs  \u003C\u002Fli>\n\u003Cli>Update once, sync everywhere  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Supported Sources\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Adobe Lightroom\u003C\u002Fstrong> — Browse albums, select photos, choose rendition sizes, and sync with version history\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Canva\u003C\u002Fstrong> — Browse designs and sync individual pages as images\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Figma\u003C\u002Fstrong> — Browse teams, projects, and files; sync individual frames as images\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Dropbox\u003C\u002Fstrong> — Browse folders, preview images, and sync files directly\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shutterstock\u003C\u002Fstrong> — Sync images you’ve already licensed with your Shutterstock subscription — no re-downloading required\u003C\u002Fli>\n\u003Cli>\u003Cstrong>AI Image Generation\u003C\u002Fstrong> — Generate images using 400+ AI models via OpenRouter (Flux, DALL-E, Stable Diffusion, Gemini, and more), then compress and sync directly to WordPress or Shopify\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Sync Destinations\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>WordPress Media Library\u003C\u002Fstrong> — Images sync as standard attachments, ready for posts, pages, WooCommerce products, and galleries\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shopify Files\u003C\u002Fstrong> — Sync images directly to your Shopify store’s Files library for products, collections, and themes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Cloud-Native OAuth\u003C\u002Fstrong> — Secure broker-based authentication handles API credentials. No developer keys required.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Non-Destructive Updates\u003C\u002Fstrong> — Re-sync an image and the existing attachment updates in place. All posts and products using it reflect the change automatically.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Version History\u003C\u002Fstrong> — Track changes and roll back to previous versions of AI-generated images.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>AI Image Generation\u003C\u002Fstrong> — Generate images using 400+ AI models including Flux, DALL-E, Stable Diffusion, and Gemini via OpenRouter.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shopify Integration\u003C\u002Fstrong> — Sync images from any source to Shopify Files.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WebP Compression\u003C\u002Fstrong> — Automatic image optimization on sync improves page speed and reduces bandwidth usage.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Background Sync\u003C\u002Fstrong> — Large batches process in the background so you can continue working.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Activity Feed\u003C\u002Fstrong> — Complete sync history with timestamps and details.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Weekly Digest\u003C\u002Fstrong> — Email summary of sync activity for your team.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Who Is This For?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Photographers\u003C\u002Fstrong> publishing Lightroom portfolios to WordPress  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Designers\u003C\u002Fstrong> moving Canva or Figma visuals to their website  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Stock image subscribers\u003C\u002Fstrong> syncing licensed Shutterstock images  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shopify merchants\u003C\u002Fstrong> managing product images across platforms  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Content creators\u003C\u002Fstrong> generating AI images inside WordPress  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Agencies\u003C\u002Fstrong> managing client sites with cloud-based creative assets  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Content teams\u003C\u002Fstrong> eliminating repetitive download-upload workflows  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Upgrade to Pro\u003C\u002Fh4>\n\u003Cp>The free version includes full manual sync for all supported sources to WordPress and Shopify with WebP compression and AI image generation.\u003C\u002Fp>\n\u003Cp>Upgrade to \u003Ca href=\"https:\u002F\u002Flightsyncpro.com\u002Fpricing\" rel=\"nofollow ugc\">LightSync Pro\u003C\u002Fa> for:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Automation & Control\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Auto-Sync Scheduling\u003C\u002Fstrong> — Keep albums and folders in sync automatically without manual intervention\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Task Builder\u003C\u002Fstrong> — Build custom sync rules that run on a schedule directly from your dashboard\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Individual Image Selection\u003C\u002Fstrong> — Select specific images from Lightroom albums rather than syncing the entire album\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Unlimited Albums & Images\u003C\u002Fstrong> — Remove sync limits across all sources\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>AI Intelligence\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Hero Picker\u003C\u002Fstrong> — AI ranks your images for your specific use case so the best asset always leads\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Auto Alt Text\u003C\u002Fstrong> — AI-generated alt text for every synced image, improving accessibility and SEO automatically\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Filter by AI Scores\u003C\u002Fstrong> — Sort and filter your Media Library by AI performance ratings\u003C\u002Fli>\n\u003Cli>\u003Cstrong>A\u002FB Image Testing\u003C\u002Fstrong> — Test image variants and track which performs better\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Optimization Analytics\u003C\u002Fstrong> — Insights into image performance across your site\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Workflow Tools\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>AI Assistant (MCP)\u003C\u002Fstrong> — Claude-powered sync assistant built directly into your WordPress dashboard\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Library Mode\u003C\u002Fstrong> — Unified, filterable, searchable grid of all your assets across every connected source\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Chrome Extension\u003C\u002Fstrong> — Sync directly from Lightroom via browser without leaving your workflow\u003C\u002Fli>\n\u003Cli>\u003Cstrong>AVIF Compression\u003C\u002Fstrong> — Next-generation image optimization beyond WebP for even smaller file sizes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Performance Analytics\u003C\u002Fstrong> — Track sync activity and image performance over time\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Priority Support\u003C\u002Fstrong> — Direct access to the development team\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Need enterprise-scale asset distribution?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Flightsyncpro.com\u002Fmulti-site-distribution\" rel=\"nofollow ugc\">Syncific Hub\u003C\u002Fa> extends LightSync Pro for teams managing multiple WordPress sites, Shopify stores, HubSpot portals, or Contentful spaces simultaneously — with a single sync pushing assets to unlimited destinations at once.\u003C\u002Fp>\n\u003Ch3>Third-Party Services\u003C\u002Fh3>\n\u003Cp>This plugin connects to external services to provide its functionality. By using this plugin, you agree to the terms and privacy policies of the following services:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>LightSync Pro Broker Service\u003C\u002Fstrong>\u003Cbr \u002F>\nHandles secure OAuth authentication and sync coordination.\u003Cbr \u002F>\n* Service URL: https:\u002F\u002Flightsyncpro.com\u003Cbr \u002F>\n* Privacy Policy: https:\u002F\u002Flightsyncpro.com\u002Fprivacy\u003Cbr \u002F>\n* Terms of Service: https:\u002F\u002Flightsyncpro.com\u002Fterms\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Adobe Lightroom\u003C\u002Fstrong>\u003Cbr \u002F>\n* Service URL: https:\u002F\u002Flightroom.adobe.com\u003Cbr \u002F>\n* Privacy Policy: https:\u002F\u002Fwww.adobe.com\u002Fprivacy\u002Fpolicy.html\u003Cbr \u002F>\n* Terms of Service: https:\u002F\u002Fwww.adobe.com\u002Flegal\u002Fterms.html\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Canva\u003C\u002Fstrong>\u003Cbr \u002F>\n* Service URL: https:\u002F\u002Fwww.canva.com\u003Cbr \u002F>\n* Privacy Policy: https:\u002F\u002Fwww.canva.com\u002Fpolicies\u002Fprivacy-policy\u002F\u003Cbr \u002F>\n* Terms of Service: https:\u002F\u002Fwww.canva.com\u002Fpolicies\u002Fterms-of-use\u002F\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Figma\u003C\u002Fstrong>\u003Cbr \u002F>\n* Service URL: https:\u002F\u002Fwww.figma.com\u003Cbr \u002F>\n* Privacy Policy: https:\u002F\u002Fwww.figma.com\u002Fprivacy\u002F\u003Cbr \u002F>\n* Terms of Service: https:\u002F\u002Fwww.figma.com\u002Ftos\u002F\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Dropbox\u003C\u002Fstrong>\u003Cbr \u002F>\n* Service URL: https:\u002F\u002Fwww.dropbox.com\u003Cbr \u002F>\n* Privacy Policy: https:\u002F\u002Fwww.dropbox.com\u002Fprivacy\u003Cbr \u002F>\n* Terms of Service: https:\u002F\u002Fwww.dropbox.com\u002Fterms\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Shutterstock\u003C\u002Fstrong>\u003Cbr \u002F>\n* Service URL: https:\u002F\u002Fwww.shutterstock.com\u003Cbr \u002F>\n* Privacy Policy: https:\u002F\u002Fwww.shutterstock.com\u002Fprivacy\u003Cbr \u002F>\n* Terms of Service: https:\u002F\u002Fwww.shutterstock.com\u002Fterms\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Shopify\u003C\u002Fstrong>\u003Cbr \u002F>\n* Service URL: https:\u002F\u002Fwww.shopify.com\u003Cbr \u002F>\n* Privacy Policy: https:\u002F\u002Fwww.shopify.com\u002Flegal\u002Fprivacy\u003Cbr \u002F>\n* Terms of Service: https:\u002F\u002Fwww.shopify.com\u002Flegal\u002Fterms\u003C\u002Fp>\n\u003Cp>\u003Cstrong>OpenRouter (AI Image Generation)\u003C\u002Fstrong>\u003Cbr \u002F>\n* Service URL: https:\u002F\u002Fopenrouter.ai\u003Cbr \u002F>\n* Privacy Policy: https:\u002F\u002Fopenrouter.ai\u002Fprivacy\u003Cbr \u002F>\n* Terms of Service: https:\u002F\u002Fopenrouter.ai\u002Fterms\u003C\u002Fp>\n\u003Cp>\u003Cstrong>AI Insights (Optional)\u003C\u002Fstrong>\u003Cbr \u002F>\nIf you enable AI Insights and provide your own API key, image URLs are sent to either Anthropic (Claude) or OpenAI (GPT) for analysis. No data is sent unless explicitly configured.\u003Cbr \u002F>\n* Anthropic: https:\u002F\u002Fwww.anthropic.com — Privacy Policy: https:\u002F\u002Fwww.anthropic.com\u002Fprivacy\u003Cbr \u002F>\n* OpenAI: https:\u002F\u002Fopenai.com — Privacy Policy: https:\u002F\u002Fopenai.com\u002Fprivacy\u002F\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Google Fonts\u003C\u002Fstrong>\u003Cbr \u002F>\nLoads the Montserrat font for admin UI styling.\u003Cbr \u002F>\n* Service URL: https:\u002F\u002Ffonts.google.com\u003Cbr \u002F>\n* Privacy Policy: https:\u002F\u002Fpolicies.google.com\u002Fprivacy\u003C\u002Fp>\n","Cloud-to-CMS image synchronization for WordPress & Shopify. Connect Lightroom, Canva, Figma, Dropbox, Shutterstock or generate with AI models — up &hellip;",0,548,"2026-03-06T14:57:00.000Z","6.9.4","5.8","7.4",[17,18,19,20,21],"canva","dropbox","image-sync","lightroom","shutterstock","https:\u002F\u002Flightsyncpro.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flightsyncpro.2.1.6.zip",100,null,"2026-03-15T15:16:48.613Z",[],{"slug":4,"display_name":4,"profile_url":7,"plugin_count":29,"total_installs":10,"avg_security_score":24,"avg_patch_time_days":30,"trust_score":31,"computed_at":32},1,30,94,"2026-04-04T07:11:01.150Z",[34,58,81,105,122],{"slug":35,"name":36,"version":37,"author":38,"author_profile":39,"description":40,"short_description":41,"active_installs":42,"downloaded":43,"rating":24,"num_ratings":44,"last_updated":45,"tested_up_to":46,"requires_at_least":47,"requires_php":48,"tags":49,"homepage":55,"download_link":56,"security_score":57,"vuln_count":10,"unpatched_count":10,"last_vuln_date":25,"fetched_at":26},"blank-slate","Blank Slate","1.2.1","Aaron Reimann","https:\u002F\u002Fprofiles.wordpress.org\u002Fareimann\u002F","\u003Cp>This creates a page template giving you a blank page so only the content of the page is displayed. Header and footer are totally empty. This is great for page builders (Beaver Builder, Divi, etc), landing pages and squeeze pages.\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FB8V-b8RDjiU?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003Cbr \u002F>\nThis plugin will load everything that is normally included in the wp_head() and wp_footer(), so all scripts and styles should load as normal.\u003C\u002Fp>\n","Provides a blank page template for use with WordPress page builders.",10000,214083,23,"2023-03-10T17:41:00.000Z","6.1.10","4.7","5.3",[50,51,52,53,54],"blank","canvas","empty","landing","page-builder","https:\u002F\u002Fwpblankslate.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fblank-slate.1.2.2.zip",85,{"slug":59,"name":60,"version":61,"author":62,"author_profile":63,"description":64,"short_description":65,"active_installs":42,"downloaded":66,"rating":67,"num_ratings":68,"last_updated":69,"tested_up_to":13,"requires_at_least":70,"requires_php":15,"tags":71,"homepage":76,"download_link":77,"security_score":78,"vuln_count":79,"unpatched_count":10,"last_vuln_date":80,"fetched_at":26},"meow-gallery","Meow Gallery","5.4.5","Jordy Meow","https:\u002F\u002Fprofiles.wordpress.org\u002Ftigroumeow\u002F","\u003Cp>\u003Cstrong>Meow Gallery is the lightweight, polished gallery solution for WordPress.\u003C\u002Fstrong> Built from scratch for simplicity, appearance, and speed. Features a Gallery Block, shortcode support, or works as an override for the standard WordPress gallery. It’s responsive, retina-friendly, with modern layouts, and tightly optimized.\u003C\u002Fp>\n\u003Cp>Stop fighting bloated gallery plugins that turn your WordPress into a slower experience! 😘\u003C\u002Fp>\n\u003Cp>Meow Gallery focuses on what actually matters: \u003Cstrong>Beautiful Layouts\u003C\u002Fstrong> and \u003Cstrong>Performance\u003C\u002Fstrong>. Check out \u003Ca href=\"https:\u002F\u002Fmeowapps.com\u002Fmeow-gallery\u002F\" rel=\"nofollow ugc\">our official site\u003C\u002Fa> and see \u003Ca href=\"https:\u002F\u002Fmeowapps.com\u002Fmeow-gallery\u002Flayouts\u002F\" rel=\"nofollow ugc\">the layouts in action\u003C\u002Fa> to get started.\u003C\u002Fp>\n\u003Ch3>Core Features\u003C\u002Fh3>\n\u003Cp>🎨 \u003Cstrong>Beautiful Layouts\u003C\u002Fstrong>\u003Cbr \u002F>\nChoose from Tiles, Masonry, Justified (like Flickr), Square (like Instagram), Cascade, and Horizontal. Pro version adds Carousel and Map layouts.\u003C\u002Fp>\n\u003Cp>🚀 \u003Cstrong>Performance First\u003C\u002Fstrong>\u003Cbr \u002F>\nBuilt from scratch with modern code. No legacy bloat, no unnecessary features. Just clean, fast galleries.\u003C\u002Fp>\n\u003Cp>🔌 \u003Cstrong>WordPress Native\u003C\u002Fstrong>\u003Cbr \u002F>\nWorks naturally with WordPress and Gutenberg without hacking it. Use the Gallery Block, shortcode, or override the standard WordPress gallery. Switch back anytime—no lock-in.\u003C\u002Fp>\n\u003Cp>📱 \u003Cstrong>Responsive & Retina\u003C\u002Fstrong>\u003Cbr \u002F>\nAll layouts are fully responsive and retina-ready for crisp images on any device.\u003C\u002Fp>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FZyboZqZb9JQ?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch3>Compatibility\u003C\u002Fh3>\n\u003Cp>Since Meow Gallery works with WordPress naturally, it’s compatible with most plugins and themes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Lightbox\u003C\u002Fstrong>: Use any lightbox you prefer. We recommend \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmeow-lightbox\u002F\" rel=\"ugc\">Meow Lightbox\u003C\u002Fa> for the best experience.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lightroom\u003C\u002Fstrong>: Fully compatible with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwplr-sync\u002F\" rel=\"ugc\">Photo Engine\u003C\u002Fa> for media organization and Lightroom sync.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>External Links\u003C\u002Fstrong>: Use \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fgallery-custom-links\u002F\" rel=\"ugc\">Gallery Custom Links\u003C\u002Fa> to add custom URLs to your images.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Audio\u003C\u002Fstrong>: Add audio to images with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Faudio-story-images\u002F\" rel=\"ugc\">Audio Story Images\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>SEO-friendly with automatic sitemap integration (works with Yoast SEO and others).\u003C\u002Fp>\n\u003Ch3>Pro Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Infinite\u002FLazy Loading\u003C\u002Fstrong>: Faster page loading and smoother experience\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Carousel Layout\u003C\u002Fstrong>: Dynamic slider\u002Fcarousel that can also work as a hero\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Map Layout\u003C\u002Fstrong>: GPS-based photo display for travel galleries\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Animations\u003C\u002Fstrong>: Bring your galleries to life with smooth animations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can find more information on \u003Ca href=\"https:\u002F\u002Fmeowapps.com\u002Fmeow-gallery\u002F\" rel=\"nofollow ugc\">Meow Apps: Meow Gallery\u003C\u002Fa>.\u003C\u002Fp>\n","Tired of slow, bloated gallery plugins? You've earned a coffee ☺️ Polished, beautiful galleries that are blazing fast.",491015,98,193,"2026-02-25T14:40:00.000Z","6.0",[72,73,74,20,75],"block","gallery","image","masonry","https:\u002F\u002Fmeowapps.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmeow-gallery.5.4.5.zip",93,4,"2025-05-07 00:00:00",{"slug":82,"name":83,"version":84,"author":85,"author_profile":86,"description":87,"short_description":88,"active_installs":42,"downloaded":89,"rating":90,"num_ratings":91,"last_updated":92,"tested_up_to":93,"requires_at_least":70,"requires_php":94,"tags":95,"homepage":101,"download_link":102,"security_score":67,"vuln_count":103,"unpatched_count":10,"last_vuln_date":104,"fetched_at":26},"shiftnav-responsive-mobile-menu","ShiftNav – Responsive Mobile Menu","1.8.2","sevenspark","https:\u002F\u002Fprofiles.wordpress.org\u002Fsevenspark\u002F","\u003Cp>ShiftNav is an awesome mobile menu for WordPress.  It looks and acts like native app off-canvas slide-out menus for popular apps like Facebook, Gmail, etc.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fshiftnav.io\u002Ffree\u002F\" rel=\"nofollow ugc\">ShiftNav Demo\u003C\u002Fa> – see how it works\u003C\u002Fp>\n\u003Cp>Get started: \u003Ca href=\"http:\u002F\u002Fsevenspark.com\u002Fdocs\u002Fshiftnav-setup\" rel=\"nofollow ugc\">ShiftNav Quick Setup Guide\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Feature Overview\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Native App-Style Menus\u003C\u002Fli>\n\u003Cli>Automatic Integration\u003C\u002Fli>\n\u003Cli>Light & Dark Skins\u003C\u002Fli>\n\u003Cli>Works with the WordPress 3 Menu System\u003C\u002Fli>\n\u003Cli>Touch-enabled\u003C\u002Fli>\n\u003Cli>CSS3 Transitions produce smooth animations on mobile devices\u003C\u002Fli>\n\u003Cli>Configurable\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fsevenspark.com\u002Fdocs\u002Fshiftnav\" rel=\"nofollow ugc\">Knowledgebase\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Want to take your menu to the next level?  \u003Ca href=\"http:\u002F\u002Fshiftnav.io\u002Fpro\" rel=\"nofollow ugc\">Go Pro\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Browser Compatibility\u003C\u002Fh4>\n\u003Cp>ShiftNav will open with a slide transition with browsers that support it.  For browsers that don’t fully support CSS3 transforms, the menu will fall back to non-animated open\u002Fclose functionality.\u003C\u002Fp>\n","Add a native-style, off-canvas, responsive mobile navigation menu to your site.",393149,92,68,"2025-07-31T15:46:00.000Z","6.8.5","",[96,97,98,99,100],"menu","mobile","navigation","off-canvas","responsive","http:\u002F\u002Fshiftnav.io","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fshiftnav-responsive-mobile-menu.1.8.2.zip",2,"2025-06-05 00:00:00",{"slug":106,"name":107,"version":108,"author":62,"author_profile":63,"description":109,"short_description":110,"active_installs":111,"downloaded":112,"rating":67,"num_ratings":113,"last_updated":114,"tested_up_to":13,"requires_at_least":70,"requires_php":15,"tags":115,"homepage":76,"download_link":119,"security_score":120,"vuln_count":79,"unpatched_count":10,"last_vuln_date":121,"fetched_at":26},"wplr-sync","Photo Engine (Media Organizer & Lightroom)","6.5.0","\u003Cp>\u003Cstrong>Media Organizer\u003C\u002Fstrong>. You can now organize your photos in folders and collections. From those collections, you will be able to create galleries easily, without the need of a specific plugin.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Synchronize with Lightroom\u003C\u002Fstrong>. Upload and keep your photos, collections, keywords and metadata synchronized with WordPress. Then, for instance, modifying your photos, their quality, or changing your watermark on all of them at once will be easy!\u003C\u002Fp>\n\u003Cp>Learn more about it all here: \u003Ca href=\"https:\u002F\u002Fmeowapps.com\u002Fwplr-sync\u002F\" rel=\"nofollow ugc\">Photo Engine\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Media Organizer\u003C\u002Fh3>\n\u003Cp>You can use attributes (collections=’…’, keywords=’…’) in the standard WP Gallery shortcode to link your galleries to your collections and keywords. No need to own a specific plugin or anything, it works naturally with WordPress. The \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmeow-gallery\u002F\" rel=\"ugc\">Meow Gallery\u003C\u002Fa> and the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmeow-lightbox\u002F\" rel=\"ugc\">Meow Lightbox\u003C\u002Fa> are recommended to enhance your galleries with better layouts and options. They can directly get your collections.\u003C\u002Fp>\n\u003Ch3>Synchronize with Lightroom\u003C\u002Fh3>\n\u003Cp>If your plan is to synchronize Lightroom with WordPress, you will also need the WP\u002FLR Sync Plugin for Lightroom. Please have a look at the official website of \u003Ca href=\"https:\u002F\u002Fmeowapps.com\u002Fwplr-sync\u002F\" rel=\"nofollow ugc\">Photo Engine\u003C\u002Fa> for more information.\u003C\u002Fp>\n\u003Cp>Do you have many photos in your WordPress already and they are not linked with your Lightroom? No problem, Photo Engine can do that too. Using EXIF and image perceptual analysis, the plugin will help you linking them through a process call Total Synchronization or you can do it manually. The process is explained here: \u003Ca href=\"https:\u002F\u002Fmeowapps.com\u002Fwplr-sync\u002Ftutorial\u002F\" rel=\"nofollow ugc\">Total Synchronization\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>You are using a certain photo everywhere but you now have a better one? From Lightroom, you can swap one photo to another and this will be replicated automatically on your WordPress. You have nothing else to do. The module is called “Switch Photos” in Lightroom.\u003C\u002Fp>\n\u003Ch3>Support for Themes and Plugins\u003C\u002Fh3>\n\u003Cp>If you are using specific gallery plugins or photography themes, Photo Engine can bring all the power of Lightroom to them, magically, seamlessly. You will be free to choose the theme or gallery plugin you like the best and even switch between them. Photo Engine has a built-in extensions system so that you can extend it easily and support specific themes and plugins. A powerful extension called “Post Types” is already included and probably does everything you need. More information about it here: \u003Ca href=\"https:\u002F\u002Fmeowapps.com\u002Fwplr-sync\u002Ftutorial\u002F\" rel=\"nofollow ugc\">Post Types Extension\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>API & External Apps\u003C\u002Fh3>\n\u003Cp>There is an external API available through Photo Engine that iPhone, Android developers or anybody else can use to make apps. There is one available for iPhone, you can search for it on the iTunes Store (it is not free, and not made by Meow Apps).\u003C\u002Fp>\n\u003Ch3>Unique & Powerful Plugin\u003C\u002Fh3>\n\u003Cp>I am myself an user of this plugin and even though it is the only one, I want to make it better every day. If you have issues, frustrations, or anything to say, contact me. I will work hard to make it even more awesome.\u003C\u002Fp>\n\u003Cp>Languages: English, Spanish (by \u003Ca href=\"https:\u002F\u002Fnbadiola.com\" rel=\"nofollow ugc\">Nahuai Badiola\u003C\u002Fa>). If you want to translate the plugin in another language, please contact me 🙂\u003C\u002Fp>\n","Organize your photos in folders and collections. Synchronize with Lightroom. Make your life easier! :)",2000,244855,208,"2026-02-25T15:11:00.000Z",[116,74,20,117,118],"export","manager","sync","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwplr-sync.6.5.0.zip",96,"2025-07-30 00:00:00",{"slug":123,"name":124,"version":125,"author":126,"author_profile":127,"description":128,"short_description":129,"active_installs":130,"downloaded":131,"rating":90,"num_ratings":132,"last_updated":133,"tested_up_to":13,"requires_at_least":134,"requires_php":94,"tags":135,"homepage":138,"download_link":139,"security_score":24,"vuln_count":10,"unpatched_count":10,"last_vuln_date":25,"fetched_at":26},"canvas-image-resize","Canvas Image Resize","1.0.1","sippsolutions","https:\u002F\u002Fprofiles.wordpress.org\u002Fsippsolutions\u002F","\u003Cp>If you host your site in a poor environment, WordPress may fail uploading large images as the process of creating the different sizes and thumbnails takes a large amount of CPU usage.\u003C\u002Fp>\n\u003Cp>With this Plugin the images are simply resized to a maximum dimension (of for example 1600 x 1600 pixels) right in your browser before uploading them.\u003Cbr \u002F>\nThe nice side effect is that unnecessary big images are resized to a fine size to still provide a usable, qualitative image.\u003C\u002Fp>\n\u003Cp>Logo credits: Picture graphic by Flaticon from Freepik.\u003C\u002Fp>\n","Re-sizes images right inside the browser BEFORE uploading them.",1000,13148,10,"2025-11-28T08:39:00.000Z","3.3.2",[51,74,136,137],"processing","upload","https:\u002F\u002Fde.wordpress.org\u002Fplugins\u002Fcanvas-image-resize\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcanvas-image-resize.1.0.1.zip",{"attackSurface":141,"codeSignals":349,"taintFlows":384,"riskAssessment":571,"analyzedAt":580},{"hooks":142,"ajaxHandlers":275,"restRoutes":337,"shortcodes":338,"cronEvents":339,"entryPointCount":348,"unprotectedCount":10},[143,149,155,160,165,170,172,175,177,178,180,182,183,185,187,189,191,194,196,198,200,202,207,209,212,214,216,218,220,222,225,228,231,234,237,240,243,246,249,252,255,258,260,262,264,267,270,273],{"type":144,"name":145,"callback":146,"file":147,"line":148},"filter","cron_schedules","add_weekly_schedule","includes\\admin\\class-weekly-digest.php",22,{"type":150,"name":151,"callback":152,"file":153,"line":154},"action","lsp_ai_background_sync_tick","cron_background_tick","includes\\ai\\class-ai-generate.php",64,{"type":150,"name":156,"callback":157,"file":158,"line":159},"init","register","includes\\blocks\\class-gallery-block.php",9,{"type":144,"name":161,"callback":162,"priority":132,"file":163,"line":164},"wp_editor_set_quality","closure","includes\\compress\\class-avif-php.php",52,{"type":150,"name":166,"callback":167,"file":168,"line":169},"admin_init","handle_connection_callback","includes\\oauth\\class-canva-oauth.php",19,{"type":150,"name":156,"callback":171,"file":168,"line":148},"ensure_guard_scheduled",{"type":150,"name":173,"callback":162,"file":168,"line":174},"admin_notices",61,{"type":150,"name":173,"callback":162,"file":168,"line":176},80,{"type":150,"name":173,"callback":162,"file":168,"line":90},{"type":150,"name":173,"callback":162,"file":168,"line":179},110,{"type":150,"name":166,"callback":167,"file":181,"line":169},"includes\\oauth\\class-dropbox-oauth.php",{"type":150,"name":156,"callback":171,"file":181,"line":148},{"type":150,"name":173,"callback":162,"file":181,"line":184},60,{"type":150,"name":173,"callback":162,"file":181,"line":186},79,{"type":150,"name":173,"callback":162,"file":181,"line":188},91,{"type":150,"name":173,"callback":162,"file":181,"line":190},108,{"type":150,"name":166,"callback":167,"file":192,"line":193},"includes\\oauth\\class-figma-oauth.php",28,{"type":150,"name":156,"callback":171,"file":192,"line":195},31,{"type":150,"name":173,"callback":162,"file":192,"line":197},237,{"type":150,"name":173,"callback":162,"file":192,"line":199},250,{"type":150,"name":173,"callback":162,"file":192,"line":201},270,{"type":150,"name":203,"callback":204,"file":205,"line":206},"rest_api_init","rest","includes\\oauth\\class-oauth.php",18,{"type":150,"name":156,"callback":171,"file":205,"line":208},21,{"type":150,"name":166,"callback":167,"file":210,"line":211},"includes\\oauth\\class-openrouter-oauth.php",39,{"type":150,"name":166,"callback":167,"file":213,"line":208},"includes\\oauth\\class-shutterstock-oauth.php",{"type":150,"name":173,"callback":162,"file":213,"line":215},58,{"type":150,"name":173,"callback":162,"file":213,"line":217},77,{"type":150,"name":173,"callback":162,"file":213,"line":219},89,{"type":150,"name":173,"callback":162,"file":213,"line":221},106,{"type":150,"name":156,"callback":223,"file":224,"line":44},"register_taxonomy","includes\\sync\\class-sync.php",{"type":150,"name":156,"callback":226,"file":224,"line":227},"sweep_pending_renditions",24,{"type":150,"name":156,"callback":229,"file":224,"line":230},"register_media_library_ui",25,{"type":150,"name":232,"callback":233,"priority":132,"file":224,"line":30},"delete_attachment","handle_attachment_deleted",{"type":144,"name":235,"callback":162,"priority":132,"file":224,"line":236},"get_terms_args",34,{"type":144,"name":238,"callback":162,"file":224,"line":239},"manage_upload_columns",3600,{"type":144,"name":241,"callback":162,"file":224,"line":242},"manage_upload_sortable_columns",3605,{"type":150,"name":244,"callback":162,"file":224,"line":245},"restrict_manage_posts",3611,{"type":150,"name":247,"callback":162,"file":224,"line":248},"pre_get_posts",3629,{"type":150,"name":250,"callback":162,"priority":132,"file":224,"line":251},"manage_media_custom_column",3680,{"type":144,"name":253,"callback":162,"priority":132,"file":224,"line":254},"attachment_fields_to_edit",3750,{"type":150,"name":173,"callback":162,"file":256,"line":257},"lightsyncpro.php",41,{"type":150,"name":166,"callback":162,"file":256,"line":259},225,{"type":150,"name":173,"callback":162,"file":256,"line":261},228,{"type":144,"name":161,"callback":162,"priority":132,"file":256,"line":263},234,{"type":144,"name":265,"callback":162,"file":256,"line":266},"big_image_size_threshold",235,{"type":150,"name":268,"callback":162,"file":256,"line":269},"plugins_loaded",280,{"type":144,"name":271,"callback":162,"file":256,"line":272},"upload_mimes",294,{"type":150,"name":232,"callback":162,"priority":132,"file":256,"line":274},299,[276,282,285,289,292,296,300,304,308,312,316,319,322,326,330,333],{"action":277,"nopriv":278,"callback":279,"hasNonce":280,"hasCapCheck":280,"file":147,"line":281},"lsp_send_test_digest",false,"ajax_send_test_digest",true,35,{"action":283,"nopriv":278,"callback":284,"hasNonce":280,"hasCapCheck":280,"file":153,"line":281},"lsp_ai_get_models","ajax_get_models",{"action":286,"nopriv":278,"callback":287,"hasNonce":280,"hasCapCheck":280,"file":153,"line":288},"lsp_ai_generate","ajax_generate",38,{"action":290,"nopriv":278,"callback":291,"hasNonce":280,"hasCapCheck":280,"file":153,"line":257},"lsp_ai_commit","ajax_commit",{"action":293,"nopriv":278,"callback":294,"hasNonce":280,"hasCapCheck":280,"file":153,"line":295},"lsp_ai_regenerate","ajax_regenerate",44,{"action":297,"nopriv":278,"callback":298,"hasNonce":280,"hasCapCheck":280,"file":153,"line":299},"lsp_ai_versions","ajax_versions",47,{"action":301,"nopriv":278,"callback":302,"hasNonce":280,"hasCapCheck":280,"file":153,"line":303},"lsp_ai_rollback","ajax_rollback",48,{"action":305,"nopriv":278,"callback":306,"hasNonce":280,"hasCapCheck":280,"file":153,"line":307},"lsp_ai_reoptimize","ajax_reoptimize",51,{"action":309,"nopriv":278,"callback":310,"hasNonce":280,"hasCapCheck":280,"file":153,"line":311},"lsp_ai_browse","ajax_browse",54,{"action":313,"nopriv":278,"callback":314,"hasNonce":280,"hasCapCheck":280,"file":153,"line":315},"lsp_ai_push_destinations","ajax_push_destinations",57,{"action":317,"nopriv":278,"callback":318,"hasNonce":280,"hasCapCheck":280,"file":153,"line":184},"lsp_ai_background_sync","ajax_background_sync",{"action":320,"nopriv":278,"callback":321,"hasNonce":280,"hasCapCheck":278,"file":153,"line":174},"lsp_ai_background_status","ajax_background_status",{"action":323,"nopriv":278,"callback":324,"hasNonce":280,"hasCapCheck":280,"file":224,"line":325},"lightsync_relink_attachment","ajax_relink_attachment",26,{"action":327,"nopriv":278,"callback":328,"hasNonce":280,"hasCapCheck":280,"file":224,"line":329},"lightsync_unlink_attachment","ajax_unlink_attachment",27,{"action":331,"nopriv":278,"callback":332,"hasNonce":280,"hasCapCheck":280,"file":224,"line":193},"lightsync_relink_candidates","ajax_relink_candidates",{"action":334,"nopriv":278,"callback":335,"hasNonce":280,"hasCapCheck":280,"file":224,"line":336},"lightsync_switch_source","ajax_switch_source",29,[],[],[340,342,344,346],{"hook":151,"callback":151,"file":153,"line":341},1491,{"hook":151,"callback":151,"file":153,"line":343},1558,{"hook":151,"callback":151,"file":153,"line":345},1580,{"hook":151,"callback":151,"file":153,"line":347},1631,16,{"dangerousFunctions":350,"sqlUsage":351,"outputEscaping":378,"fileOperations":381,"externalRequests":315,"nonceChecks":382,"capabilityChecks":348,"bundledLibraries":383},[],{"prepared":325,"raw":132,"locations":352},[353,357,359,362,364,366,368,370,372,375],{"file":354,"line":355,"context":356},"includes\\mapping\\class-mapping.php",287,"$wpdb->get_var() with variable interpolation",{"file":354,"line":358,"context":356},293,{"file":354,"line":360,"context":361},323,"$wpdb->get_results() with variable interpolation",{"file":354,"line":363,"context":361},339,{"file":354,"line":365,"context":361},358,{"file":354,"line":367,"context":361},377,{"file":354,"line":369,"context":361},405,{"file":354,"line":371,"context":356},418,{"file":373,"line":374,"context":356},"includes\\shopify\\class-shopify.php",1234,{"file":373,"line":376,"context":377},1236,"$wpdb->query() with variable interpolation",{"escaped":379,"rawEcho":10,"locations":380},103,[],36,20,[],[385,403,411,423,446,456,466,479,488,496,505,513,521,529,539,547,559],{"entryPoint":386,"graph":387,"unsanitizedCount":29,"severity":402},"handle_connection_callback (includes\\oauth\\class-figma-oauth.php:214)",{"nodes":388,"edges":400},[389,394],{"id":390,"type":391,"label":392,"file":192,"line":393},"n0","source","$_GET",222,{"id":395,"type":396,"label":397,"file":192,"line":398,"wp_function":399},"n1","sink","wp_remote_get() [SSRF]",230,"wp_remote_get",[401],{"from":390,"to":395,"sanitized":278},"medium",{"entryPoint":404,"graph":405,"unsanitizedCount":29,"severity":402},"\u003Cclass-figma-oauth> (includes\\oauth\\class-figma-oauth.php:0)",{"nodes":406,"edges":409},[407,408],{"id":390,"type":391,"label":392,"file":192,"line":393},{"id":395,"type":396,"label":397,"file":192,"line":398,"wp_function":399},[410],{"from":390,"to":395,"sanitized":278},{"entryPoint":412,"graph":413,"unsanitizedCount":29,"severity":402},"register_media_library_ui (includes\\sync\\class-sync.php:3593)",{"nodes":414,"edges":421},[415,417],{"id":390,"type":391,"label":392,"file":224,"line":416},3634,{"id":395,"type":396,"label":418,"file":224,"line":419,"wp_function":420},"echo() [XSS]",3740,"echo",[422],{"from":390,"to":395,"sanitized":278},{"entryPoint":424,"graph":425,"unsanitizedCount":10,"severity":445},"ajax_commit (includes\\ai\\class-ai-generate.php:384)",{"nodes":426,"edges":442},[427,430,434,437],{"id":390,"type":391,"label":428,"file":153,"line":429},"$_POST (x2)",411,{"id":395,"type":396,"label":431,"file":153,"line":432,"wp_function":433},"file_put_contents() [File Write]",441,"file_put_contents",{"id":435,"type":391,"label":436,"file":153,"line":429},"n2","$_POST",{"id":438,"type":396,"label":439,"file":153,"line":440,"wp_function":441},"n3","file_get_contents() [SSRF\u002FLFI]",519,"file_get_contents",[443,444],{"from":390,"to":395,"sanitized":280},{"from":435,"to":438,"sanitized":280},"low",{"entryPoint":447,"graph":448,"unsanitizedCount":10,"severity":445},"ajax_regenerate (includes\\ai\\class-ai-generate.php:594)",{"nodes":449,"edges":454},[450,452],{"id":390,"type":391,"label":428,"file":153,"line":451},621,{"id":395,"type":396,"label":431,"file":153,"line":453,"wp_function":433},651,[455],{"from":390,"to":395,"sanitized":280},{"entryPoint":457,"graph":458,"unsanitizedCount":10,"severity":445},"ajax_push_destinations (includes\\ai\\class-ai-generate.php:1175)",{"nodes":459,"edges":464},[460,462],{"id":390,"type":391,"label":436,"file":153,"line":461},1181,{"id":395,"type":396,"label":439,"file":153,"line":463,"wp_function":441},1217,[465],{"from":390,"to":395,"sanitized":280},{"entryPoint":467,"graph":468,"unsanitizedCount":10,"severity":445},"\u003Cclass-ai-generate> (includes\\ai\\class-ai-generate.php:0)",{"nodes":469,"edges":476},[470,472,473,475],{"id":390,"type":391,"label":471,"file":153,"line":429},"$_POST (x4)",{"id":395,"type":396,"label":431,"file":153,"line":432,"wp_function":433},{"id":435,"type":391,"label":474,"file":153,"line":429},"$_POST (x3)",{"id":438,"type":396,"label":439,"file":153,"line":440,"wp_function":441},[477,478],{"from":390,"to":395,"sanitized":280},{"from":435,"to":438,"sanitized":280},{"entryPoint":480,"graph":481,"unsanitizedCount":10,"severity":445},"handle_connection_callback (includes\\oauth\\class-canva-oauth.php:52)",{"nodes":482,"edges":486},[483,484],{"id":390,"type":391,"label":392,"file":168,"line":215},{"id":395,"type":396,"label":397,"file":168,"line":485,"wp_function":399},73,[487],{"from":390,"to":395,"sanitized":280},{"entryPoint":489,"graph":490,"unsanitizedCount":10,"severity":445},"\u003Cclass-canva-oauth> (includes\\oauth\\class-canva-oauth.php:0)",{"nodes":491,"edges":494},[492,493],{"id":390,"type":391,"label":392,"file":168,"line":215},{"id":395,"type":396,"label":397,"file":168,"line":485,"wp_function":399},[495],{"from":390,"to":395,"sanitized":280},{"entryPoint":497,"graph":498,"unsanitizedCount":10,"severity":445},"handle_connection_callback (includes\\oauth\\class-dropbox-oauth.php:51)",{"nodes":499,"edges":503},[500,501],{"id":390,"type":391,"label":392,"file":181,"line":315},{"id":395,"type":396,"label":397,"file":181,"line":502,"wp_function":399},72,[504],{"from":390,"to":395,"sanitized":280},{"entryPoint":506,"graph":507,"unsanitizedCount":10,"severity":445},"\u003Cclass-dropbox-oauth> (includes\\oauth\\class-dropbox-oauth.php:0)",{"nodes":508,"edges":511},[509,510],{"id":390,"type":391,"label":392,"file":181,"line":315},{"id":395,"type":396,"label":397,"file":181,"line":502,"wp_function":399},[512],{"from":390,"to":395,"sanitized":280},{"entryPoint":514,"graph":515,"unsanitizedCount":10,"severity":445},"handle_connection_callback (includes\\oauth\\class-openrouter-oauth.php:68)",{"nodes":516,"edges":519},[517,518],{"id":390,"type":391,"label":392,"file":210,"line":217},{"id":395,"type":396,"label":397,"file":210,"line":120,"wp_function":399},[520],{"from":390,"to":395,"sanitized":280},{"entryPoint":522,"graph":523,"unsanitizedCount":10,"severity":445},"\u003Cclass-openrouter-oauth> (includes\\oauth\\class-openrouter-oauth.php:0)",{"nodes":524,"edges":527},[525,526],{"id":390,"type":391,"label":392,"file":210,"line":217},{"id":395,"type":396,"label":397,"file":210,"line":120,"wp_function":399},[528],{"from":390,"to":395,"sanitized":280},{"entryPoint":530,"graph":531,"unsanitizedCount":10,"severity":445},"handle_connection_callback (includes\\oauth\\class-shutterstock-oauth.php:49)",{"nodes":532,"edges":537},[533,535],{"id":390,"type":391,"label":392,"file":213,"line":534},55,{"id":395,"type":396,"label":397,"file":213,"line":536,"wp_function":399},70,[538],{"from":390,"to":395,"sanitized":280},{"entryPoint":540,"graph":541,"unsanitizedCount":10,"severity":445},"\u003Cclass-shutterstock-oauth> (includes\\oauth\\class-shutterstock-oauth.php:0)",{"nodes":542,"edges":545},[543,544],{"id":390,"type":391,"label":392,"file":213,"line":534},{"id":395,"type":396,"label":397,"file":213,"line":536,"wp_function":399},[546],{"from":390,"to":395,"sanitized":280},{"entryPoint":548,"graph":549,"unsanitizedCount":10,"severity":445},"ajax_switch_source (includes\\sync\\class-sync.php:835)",{"nodes":550,"edges":557},[551,553],{"id":390,"type":391,"label":436,"file":224,"line":552},844,{"id":395,"type":396,"label":554,"file":224,"line":555,"wp_function":556},"get_col() [SQLi]",868,"get_col",[558],{"from":390,"to":395,"sanitized":280},{"entryPoint":560,"graph":561,"unsanitizedCount":10,"severity":445},"\u003Cclass-sync> (includes\\sync\\class-sync.php:0)",{"nodes":562,"edges":568},[563,564,565,567],{"id":390,"type":391,"label":436,"file":224,"line":552},{"id":395,"type":396,"label":554,"file":224,"line":555,"wp_function":556},{"id":435,"type":391,"label":428,"file":224,"line":566},839,{"id":438,"type":396,"label":418,"file":224,"line":419,"wp_function":420},[569,570],{"from":390,"to":395,"sanitized":280},{"from":435,"to":438,"sanitized":280},{"summary":572,"deductions":573},"The lightsyncpro plugin v2.1.6 exhibits a generally good security posture based on the static analysis. A significant strength is the absence of critical or high-severity issues in the taint analysis and the complete lack of known historical vulnerabilities. The plugin also demonstrates strong adherence to security best practices by properly escaping all output and consistently using prepared statements for the majority of its SQL queries (72%). Furthermore, all AJAX handlers and REST API routes have appropriate permission callbacks, indicating a robust approach to access control. The presence of 20 nonce checks and 16 capability checks further reinforces this positive outlook.\n\nDespite these strengths, there are a few areas that warrant attention. The analysis revealed 3 flows with unsanitized paths, although these did not reach a critical or high severity. While the percentage of prepared statements for SQL queries is good, 28% are not prepared, which could represent a potential risk if not handled with extreme care. Additionally, the plugin performs 36 file operations and makes 57 external HTTP requests, which, while not inherently insecure, represent potential vectors for attack if not implemented with strict validation and sanitization.\n\nIn conclusion, lightsyncpro v2.1.6 appears to be a well-developed plugin from a security perspective, with a strong emphasis on preventing common vulnerabilities. The historical lack of CVEs is a significant positive indicator. The identified issues, such as unsanitized paths and non-prepared SQL queries, are areas for minor improvement rather than immediate critical threats, especially given their current non-critical severity. Continued vigilance and adherence to secure coding practices are recommended.",[574,577],{"reason":575,"points":576},"Unsanitized paths found",7,{"reason":578,"points":579},"SQL queries without prepared statements (28%)",6,"2026-03-17T06:40:38.118Z",{"wat":582,"direct":597},{"assetPaths":583,"generatorPatterns":589,"scriptPaths":590,"versionParams":591},[584,585,586,587,588],"\u002Fwp-content\u002Fplugins\u002Flightsyncpro\u002Fassets\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Flightsyncpro\u002Fassets\u002Fcss\u002Ffrontend.css","\u002Fwp-content\u002Fplugins\u002Flightsyncpro\u002Fassets\u002Fjs\u002Fadmin.js","\u002Fwp-content\u002Fplugins\u002Flightsyncpro\u002Fassets\u002Fjs\u002Ffrontend.js","\u002Fwp-content\u002Fplugins\u002Flightsyncpro\u002Fassets\u002Fjs\u002Fblocks.js",[],[586,587,588],[592,593,594,595,596],"lightsyncpro\u002Fassets\u002Fcss\u002Fadmin.css?ver=","lightsyncpro\u002Fassets\u002Fcss\u002Ffrontend.css?ver=","lightsyncpro\u002Fassets\u002Fjs\u002Fadmin.js?ver=","lightsyncpro\u002Fassets\u002Fjs\u002Ffrontend.js?ver=","lightsyncpro\u002Fassets\u002Fjs\u002Fblocks.js?ver=",{"cssClasses":598,"htmlComments":600,"htmlAttributes":602,"restEndpoints":605,"jsGlobals":607,"shortcodeOutput":610},[599],"lsp-admin-notice",[601],"\u003C!-- LightSync Pro -->",[603,604],"data-lsp-sync-enabled","data-lsp-source-config",[606],"\u002Fwp-json\u002Flsp-broker\u002Fv1\u002Fsync-gate",[608,609],"LightSyncAdmin","LightSyncFrontend",[]]