[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fMGXqXMeesp4Ew6rAg4RHDyg87AHTdMsK0eOsUsWLD-M":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":35,"analysis":133,"fingerprints":451},"media-genie","Media Genie Support","1.0.2","PUJI Design","https:\u002F\u002Fprofiles.wordpress.org\u002Fpujidesign\u002F","\u003Cp>Media Genie Support streamlines your media workflow:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Auto-rename uploaded images for better organization and SEO.\u003C\u002Fli>\n\u003Cli>Choose which image sizes to generate — save storage and avoid clutter.\u003C\u002Fli>\n\u003Cli>Retina (2×) image support for high-resolution displays.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Folder management\u003C\u002Fstrong>: create folders, assign media, filter by folder.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Default folder per post\u003C\u002Fstrong>: automatically organize media for posts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Folder color labels\u003C\u002Fstrong>: quickly identify and differentiate folders.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Lightweight, fast, and fully integrated into the WordPress media library.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003C\u002Fp>\n","Organize your WordPress media library with ease: automatically rename uploads, control generated image sizes, support Retina (2×) images, and manage m &hellip;",0,236,"2025-10-02T04:08:00.000Z","6.8.5","6.0","8.0",[18,19,20,21,22],"image","image-sizes","media","rename","retina","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmedia-genie\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmedia-genie.1.0.2.zip",100,null,"2026-03-15T15:16:48.613Z",[],{"slug":30,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},"pujidesign",1,30,94,"2026-04-04T15:23:43.470Z",[36,55,77,98,117],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":33,"num_ratings":46,"last_updated":47,"tested_up_to":14,"requires_at_least":48,"requires_php":16,"tags":49,"homepage":52,"download_link":53,"security_score":25,"vuln_count":31,"unpatched_count":11,"last_vuln_date":54,"fetched_at":27},"phoenix-media-rename","Phoenix Media Rename","3.13.1","crossi72","https:\u002F\u002Fprofiles.wordpress.org\u002Fcrossi72\u002F","\u003Cp>Greatly improve your SEO: rename your media files with the “Phoenix Media Rename” plugin.\u003C\u002Fp>\n\u003Cp>A complete guide to use and configure Phoenix Media Rename is available at \u003Ca href=\"https:\u002F\u002Fwww.eurosoftlab.com\u002Fen\u002Fphoenix-media-rename\u002F\" rel=\"nofollow ugc\">Phoenix Media Rename official page\u003C\u002Fa>\u003C\u002Fp>\n","The Phoenix Media Rename plugin allows you to easily rename (and retitle) your media files, once uploaded.",50000,1468694,75,"2025-09-25T07:49:00.000Z","5.0",[50,18,20,21,51],"file","retitle","https:\u002F\u002Fwww.eurosoftlab.com\u002Fen\u002Fphoenix-media-rename\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fphoenix-media-rename.3.13.1.zip","2021-10-06 00:00:00",{"slug":56,"name":57,"version":58,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":63,"downloaded":64,"rating":25,"num_ratings":65,"last_updated":66,"tested_up_to":67,"requires_at_least":68,"requires_php":69,"tags":70,"homepage":75,"download_link":76,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"disable-media-sizes","Disable Media Sizes","2.5","Jeff Starr","https:\u002F\u002Fprofiles.wordpress.org\u002Fspecialk\u002F","\u003Cp>Easily disable any extra image sizes\u003C\u002Fp>\n\u003Cp>This plugin provides options to disable the extra images generated by WordPress.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Options include\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Disable Thumbnail Size\u003C\u002Fli>\n\u003Cli>Disable Medium Size\u003C\u002Fli>\n\u003Cli>Disable Large Size\u003C\u002Fli>\n\u003Cli>Disable Medium Large (768px)\u003C\u002Fli>\n\u003Cli>Disable 1536×1536 Size\u003C\u002Fli>\n\u003Cli>Disable 2048×2048 Size\u003C\u002Fli>\n\u003Cli>Disable Big\u002FScaled Size\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The plugin settings screen does a good job of explaining the different image sizes. Should all be self-explanatory, let me know if anything can be improved.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Lightweight and secure\u003C\u002Fli>\n\u003Cli>Built with the WP API and standards\u003C\u002Fli>\n\u003Cli>Simple to use – anyone can do it\u003C\u002Fli>\n\u003Cli>One-click restore default options\u003C\u002Fli>\n\u003Cli>Easy peasy.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Why is this useful?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fperishablepress.com\u002Fdisable-wordpress-generated-images\u002F\" rel=\"nofollow ugc\">This article\u003C\u002Fa> explains everything you need to know about the “hows” and the “whys” and such.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Important\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Please understand that this plugin:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Does not affect any existing images\u003C\u002Fli>\n\u003Cli>Only works while the plugin is active\u003C\u002Fli>\n\u003Cli>Does not delete any images\u003C\u002Fli>\n\u003Cli>Only prevents WordPress from generating extra sized images\u003C\u002Fli>\n\u003Cli>If all extra sizes are disabled, only original images will be uploaded\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fperishablepress.com\u002Fdisable-wordpress-generated-images\u002F\" rel=\"nofollow ugc\">Learn more\u003C\u002Fa> about the techniques and code used in this plugin.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Privacy\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This plugin does not collect or store any user data. It does not set any cookies, and it does not connect to any third-party locations. Thus, this plugin does not affect user privacy in any way.\u003C\u002Fp>\n\u003Cp>Disable Media Sizes is developed and maintained by \u003Ca href=\"https:\u002F\u002Fx.com\u002Fperishable\" rel=\"nofollow ugc\">Jeff Starr\u003C\u002Fa>, 15-year \u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002F\" rel=\"nofollow ugc\">WordPress developer\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fbooks.perishablepress.com\u002F\" rel=\"nofollow ugc\">book author\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Support development\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>I develop and maintain this free plugin with love for the WordPress community. To show support, you can \u003Ca href=\"https:\u002F\u002Fmonzillamedia.com\u002Fdonate.html\" rel=\"nofollow ugc\">make a donation\u003C\u002Fa> or purchase one of my books:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwp-tao.com\u002F\" rel=\"nofollow ugc\">The Tao of WordPress\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdigwp.com\u002F\" rel=\"nofollow ugc\">Digging into WordPress\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fhtaccessbook.com\u002F\" rel=\"nofollow ugc\">.htaccess made easy\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwp-tao.com\u002Fwordpress-themes-book\u002F\" rel=\"nofollow ugc\">WordPress Themes In Depth\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbooks.perishablepress.com\u002Fdownloads\u002Fwizards-collection-sql-recipes-wordpress\u002F\" rel=\"nofollow ugc\">Wizard’s SQL Recipes for WordPress\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>And\u002For purchase one of my premium WordPress plugins:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fbbq-pro\u002F\" rel=\"nofollow ugc\">BBQ Pro\u003C\u002Fa> – Blazing fast WordPress firewall\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fblackhole-pro\u002F\" rel=\"nofollow ugc\">Blackhole Pro\u003C\u002Fa> – Automatically block bad bots\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fbanhammer-pro\u002F\" rel=\"nofollow ugc\">Banhammer Pro\u003C\u002Fa> – Monitor traffic and ban the bad guys\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fga-google-analytics-pro\u002F\" rel=\"nofollow ugc\">GA Google Analytics Pro\u003C\u002Fa> – Connect WordPress to Google Analytics\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fhead-meta-pro\u002F\" rel=\"nofollow ugc\">Head Meta Pro\u003C\u002Fa> – Ultimate Meta Tags for WordPress\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fsimple-ajax-chat-pro\u002F\" rel=\"nofollow ugc\">Simple Ajax Chat Pro\u003C\u002Fa> – Unlimited chat rooms\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fusp-pro\u002F\" rel=\"nofollow ugc\">USP Pro\u003C\u002Fa> – Unlimited front-end forms\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Links, tweets and likes also appreciated. Thank you! 🙂\u003C\u002Fp>\n","Provides options to disable the extra images generated by WordPress.",10000,72308,22,"2026-01-28T23:37:00.000Z","6.9.4","5.3","5.6.20",[71,72,73,20,74],"disable","disable-image-sizes","images","uploads","https:\u002F\u002Fperishablepress.com\u002Fwordpress-disable-media-sizes\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisable-media-sizes.2.5.zip",{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":85,"downloaded":86,"rating":25,"num_ratings":31,"last_updated":87,"tested_up_to":67,"requires_at_least":88,"requires_php":89,"tags":90,"homepage":96,"download_link":97,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"file-media-renamer-for-seo","File Media Renamer for SEO","1.1","Alex Somale","https:\u002F\u002Fprofiles.wordpress.org\u002Falexwebitaly\u002F","\u003Cp>File Media Renamer for SEO is a lightweight and fast WordPress plugin designed to improve your website’s SEO by allowing you to rename media files directly from the WordPress Media Library.\u003Cbr \u002F>\nThe plugin automatically updates all references to renamed files throughout your website, ensuring no broken links or missing images.\u003C\u002Fp>\n\u003Cp>The plugin focuses on safe renaming, performance, and SEO best practices, with features to keep your media metadata aligned with new filenames and preserve search equity via 301 redirects.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Ch4>Individual File Renaming\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Rename any media file directly from the WordPress Media Library\u003C\u002Fli>\n\u003Cli>Convert file names to SEO-optimized formats automatically\u003C\u002Fli>\n\u003Cli>Update all references to the renamed file across your website\u003C\u002Fli>\n\u003Cli>Rename all thumbnail sizes along with the main file\u003C\u002Fli>\n\u003Cli>Built-in rename history with quick undo\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Bulk Renaming\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Rename multiple files at once via Media Library bulk actions\u003C\u002Fli>\n\u003Cli>Sequential naming (e.g., new-name-1, new-name-2) for consistent batches\u003C\u002Fli>\n\u003Cli>Real-time progress and batch processing up to 50 files\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>AI Renaming with OpenAI Key for Bulk and Individual\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Rename multiple files at once via Media Library bulk actions with AI button\u003C\u002Fli>\n\u003Cli>Rename any media file directly from the WordPress Media Library with AI\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Automatic Content Updates\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Updates references in posts, pages, custom post types, and metadata\u003C\u002Fli>\n\u003Cli>Handles serialized data structures\u003C\u002Fli>\n\u003Cli>Efficient background processing via WordPress cron\u003C\u002Fli>\n\u003Cli>Automatic cache clearing after operations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>SEO Enhancements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Optionally update media titles to match the new file name\u003C\u002Fli>\n\u003Cli>Automatically update alt text attributes for better accessibility and SEO\u003C\u002Fli>\n\u003Cli>Converts hyphens\u002Funderscores to readable titles\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Redirect Management\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Creates 301 redirects from old file URLs to new ones\u003C\u002Fli>\n\u003Cli>Stores redirects in a dedicated database table for performance\u003C\u002Fli>\n\u003Cli>Handles redirects for all thumbnail sizes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Advanced Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Prevents filename conflicts by generating unique names\u003C\u002Fli>\n\u003Cli>Validates files before renaming for safety\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Ch4>Individual File Renaming\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Media \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Library\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Click on a file to open the attachment details.\u003C\u002Fli>\n\u003Cli>Enter the new SEO name in the \u003Cstrong>SEO Name\u003C\u002Fstrong> field.\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Save SEO Name\u003C\u002Fstrong> — all references will update automatically.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Bulk Renaming\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Switch the Media Library to \u003Cstrong>List view\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Select multiple files and choose \u003Cstrong>Rename\u003C\u002Fstrong> from \u003Cstrong>Bulk actions\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Enter a base name and click \u003Cstrong>Start Rename\u003C\u002Fstrong> to process all selected files.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>History and Undo\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>View the rename history for any file in the attachment details.\u003C\u002Fli>\n\u003Cli>Click any previous name to revert instantly (last 2 versions kept).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Settings\u003C\u002Fh3>\n\u003Cp>Find settings under \u003Cstrong>Media \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> FMR Settings\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Rename Title\u003C\u002Fstrong> — Automatically update the media title when renaming files\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Rename Alt Text\u003C\u002Fstrong> — Automatically update the alt text attribute when renaming files\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Technical Details\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Custom table: \u003Ccode>wp_fmrseo_redirects\u003C\u002Fcode> for redirect mappings\u003C\u002Fli>\n\u003Cli>Background processing for large operations (WordPress cron)\u003C\u002Fli>\n\u003Cli>File validation and conflict prevention\u003C\u002Fli>\n\u003Cli>Optimized database queries and cache management\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>WordPress 4.0 or higher\u003C\u002Fli>\n\u003Cli>PHP 7.0 or higher\u003C\u002Fli>\n\u003Cli>Write permissions for the uploads directory\u003C\u002Fli>\n\u003C\u002Ful>\n","Rename media files with SEO-friendly names, auto-update references, alt\u002Ftitle sync, and 301 redirects — fast and safe.",80,537,"2026-02-23T16:32:00.000Z","4.0","7.0",[91,92,93,94,95],"alt-text","bulk-rename-images","image-seo","image-titles","rename-media-files","https:\u002F\u002Ffilemediarenamerwp.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffile-media-renamer-for-seo.1.1.zip",{"slug":99,"name":100,"version":101,"author":102,"author_profile":103,"description":104,"short_description":105,"active_installs":85,"downloaded":106,"rating":107,"num_ratings":31,"last_updated":108,"tested_up_to":109,"requires_at_least":110,"requires_php":111,"tags":112,"homepage":114,"download_link":115,"security_score":116,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"rename-media","Rename Media","0.1.3","John Godley","https:\u002F\u002Fprofiles.wordpress.org\u002Fjohnny5\u002F","\u003Cp>Enhances the WordPress media library by allowing you to rename the underlying media files. Any change to a media item’s title will result in the media filename also being changed.\u003C\u002Fp>\n\u003Cp>See the screenshot for more details of where to rename media files.\u003C\u002Fp>\n\u003Cp>Note that all thumbnails will also be renamed. If you are using a caching plugin, such as WP Super Cache, then you will need to clear your cache so that any references are updated. This plugin does not update existing direct links to files (links inside a WordPress gallery will change).\u003C\u002Fp>\n","Rename underlying media files from the WordPress media management interface",12277,20,"2014-11-21T11:17:00.000Z","4.1.42","2.9","",[18,113,20,21],"management","http:\u002F\u002Furbangiraffe.com\u002Fplugins\u002Frename-media\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frename-media.zip",85,{"slug":118,"name":119,"version":120,"author":121,"author_profile":122,"description":123,"short_description":124,"active_installs":125,"downloaded":126,"rating":25,"num_ratings":31,"last_updated":127,"tested_up_to":14,"requires_at_least":48,"requires_php":111,"tags":128,"homepage":131,"download_link":132,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"replace-rename-media","Replace & Rename Media Files","0.1","WPVibes","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpvibes\u002F","\u003Cp>Replace & Rename Media Files is a powerful plugin that enhances the WordPress media library by adding the following features:\u003C\u002Fp>\n\u003Ch4>File Replacement\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Replace existing media files while preserving attachment IDs and relationships\u003C\u002Fli>\n\u003Cli>Keep all metadata and post connections intact\u003C\u002Fli>\n\u003Cli>Support for all media file types including images, documents, videos, and more\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>File Renaming\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Rename media files directly from the media library\u003C\u002Fli>\n\u003Cli>Update all references and links automatically\u003C\u002Fli>\n\u003Cli>Handle special characters and proper sanitization\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>File Size Display\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Add a new sortable column in the media library showing file sizes\u003C\u002Fli>\n\u003Cli>Format file sizes in human-readable format (KB, MB, GB)\u003C\u002Fli>\n\u003Cli>Include file size information in attachment details\u003C\u002Fli>\n\u003C\u002Ful>\n","Replace existing media files, rename media files, and display file sizes in the WordPress media library.",40,310,"2025-05-21T06:00:00.000Z",[129,73,20,21,130],"file-size","replace","https:\u002F\u002Fprofiles.wordpress.org\u002Fanandau14\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Freplace-rename-media.0.1.zip",{"attackSurface":134,"codeSignals":225,"taintFlows":251,"riskAssessment":445,"analyzedAt":450},{"hooks":135,"ajaxHandlers":188,"restRoutes":221,"shortcodes":222,"cronEvents":223,"entryPointCount":224,"unprotectedCount":11},[136,142,148,152,157,161,165,169,173,178,181,185],{"type":137,"name":138,"callback":139,"priority":25,"file":140,"line":141},"action","admin_enqueue_scripts","register_admin_assets","app\\base\\scripts.php",29,{"type":143,"name":144,"callback":145,"file":146,"line":147},"filter","intermediate_image_sizes","filter_enabled_image_sizes","app\\base\\setup.php",33,{"type":143,"name":149,"callback":150,"priority":107,"file":146,"line":151},"intermediate_image_sizes_advanced","add_retina_sizes",34,{"type":143,"name":153,"callback":154,"priority":155,"file":146,"line":156},"sanitize_file_name","rename_file",10,35,{"type":143,"name":158,"callback":159,"priority":107,"file":146,"line":160},"wp_generate_attachment_metadata","rename_retina_files",36,{"type":137,"name":162,"callback":163,"file":146,"line":164},"init","allow_contributor_uploads",37,{"type":143,"name":166,"callback":167,"priority":155,"file":146,"line":168},"ajax_query_attachments_args","media_genie_query_attachments",38,{"type":137,"name":170,"callback":171,"priority":155,"file":146,"line":172},"add_attachment","handle_add_attachment",39,{"type":137,"name":174,"callback":175,"priority":155,"file":176,"line":177},"admin_head-upload.php","media_genie_library_sidebar","app\\settings\\library.php",31,{"type":137,"name":138,"callback":179,"priority":107,"file":176,"line":180},"media_genie_enqueue_scripts",32,{"type":137,"name":182,"callback":183,"priority":63,"file":184,"line":147},"admin_menu","add_admin_menu","app\\settings\\setting.php",{"type":137,"name":186,"callback":187,"file":184,"line":151},"admin_init","register_settings",[189,194,197,200,203,206,209,212,214,216,218],{"action":190,"nopriv":191,"callback":190,"hasNonce":192,"hasCapCheck":192,"file":193,"line":65},"admin_media_genie_get_base_folder_count",false,true,"app\\hooks\\admin-library.php",{"action":195,"nopriv":191,"callback":195,"hasNonce":192,"hasCapCheck":192,"file":193,"line":196},"admin_media_genie_add_media_folder",23,{"action":198,"nopriv":191,"callback":198,"hasNonce":192,"hasCapCheck":192,"file":193,"line":199},"admin_media_genie_get_folders",24,{"action":201,"nopriv":191,"callback":201,"hasNonce":192,"hasCapCheck":192,"file":193,"line":202},"admin_media_genie_sort_folders",25,{"action":204,"nopriv":191,"callback":204,"hasNonce":192,"hasCapCheck":192,"file":193,"line":205},"admin_media_genie_delete_folder",26,{"action":207,"nopriv":191,"callback":207,"hasNonce":192,"hasCapCheck":192,"file":193,"line":208},"admin_media_genie_rename_folder",27,{"action":210,"nopriv":191,"callback":210,"hasNonce":192,"hasCapCheck":192,"file":193,"line":211},"admin_media_genie_set_folder_color",28,{"action":213,"nopriv":191,"callback":213,"hasNonce":192,"hasCapCheck":192,"file":193,"line":141},"admin_media_genie_move_media_to_folder",{"action":215,"nopriv":191,"callback":215,"hasNonce":192,"hasCapCheck":192,"file":193,"line":32},"admin_media_genie_get_medias",{"action":217,"nopriv":191,"callback":217,"hasNonce":192,"hasCapCheck":192,"file":193,"line":177},"admin_media_genie_set_default_folder",{"action":219,"nopriv":191,"callback":219,"hasNonce":192,"hasCapCheck":192,"file":220,"line":107},"media_genie_regenerate_images","app\\hooks\\regenerate-images.php",[],[],[],11,{"dangerousFunctions":226,"sqlUsage":227,"outputEscaping":230,"fileOperations":249,"externalRequests":11,"nonceChecks":224,"capabilityChecks":224,"bundledLibraries":250},[],{"prepared":228,"raw":11,"locations":229},62,[],{"escaped":231,"rawEcho":232,"locations":233},68,7,[234,238,240,242,243,245,247],{"file":235,"line":236,"context":237},"app\\settings\\controllers.php",42,"raw output",{"file":235,"line":239,"context":237},43,{"file":235,"line":241,"context":237},44,{"file":235,"line":241,"context":237},{"file":235,"line":244,"context":237},45,{"file":235,"line":246,"context":237},49,{"file":176,"line":248,"context":237},116,5,[],[252,270,289,303,317,332,354,375,389],{"entryPoint":253,"graph":254,"unsanitizedCount":11,"severity":269},"media_genie_query_attachments (app\\base\\setup.php:51)",{"nodes":255,"edges":267},[256,261],{"id":257,"type":258,"label":259,"file":146,"line":260},"n0","source","$_REQUEST",53,{"id":262,"type":263,"label":264,"file":146,"line":265,"wp_function":266},"n1","sink","get_col() [SQLi]",82,"get_col",[268],{"from":257,"to":262,"sanitized":192},"low",{"entryPoint":271,"graph":272,"unsanitizedCount":11,"severity":269},"admin_media_genie_delete_folder (app\\hooks\\admin-library.php:176)",{"nodes":273,"edges":286},[274,277,280],{"id":257,"type":258,"label":275,"file":193,"line":276},"$_POST",192,{"id":262,"type":278,"label":279,"file":193,"line":276},"transform","→ admin_delete_folder()",{"id":281,"type":263,"label":282,"file":283,"line":284,"wp_function":285},"n2","get_var() [SQLi]","app\\traits\\trait-admin.php",281,"get_var",[287,288],{"from":257,"to":262,"sanitized":191},{"from":262,"to":281,"sanitized":192},{"entryPoint":290,"graph":291,"unsanitizedCount":11,"severity":269},"admin_media_genie_get_medias (app\\hooks\\admin-library.php:357)",{"nodes":292,"edges":300},[293,295,297],{"id":257,"type":258,"label":275,"file":193,"line":294},368,{"id":262,"type":278,"label":296,"file":193,"line":294},"→ media_genie_get_medias_by_folder()",{"id":281,"type":263,"label":264,"file":298,"line":299,"wp_function":266},"app\\functions\\get-medias-by-folder.php",51,[301,302],{"from":257,"to":262,"sanitized":191},{"from":262,"to":281,"sanitized":192},{"entryPoint":304,"graph":305,"unsanitizedCount":31,"severity":316},"handle_add_attachment (app\\base\\setup.php:42)",{"nodes":306,"edges":313},[307,309,311],{"id":257,"type":258,"label":275,"file":146,"line":308},47,{"id":262,"type":278,"label":310,"file":146,"line":308},"→ admin_move_media_to_folder()",{"id":281,"type":263,"label":282,"file":283,"line":312,"wp_function":285},545,[314,315],{"from":257,"to":262,"sanitized":191},{"from":262,"to":281,"sanitized":191},"high",{"entryPoint":318,"graph":319,"unsanitizedCount":31,"severity":316},"\u003Csetup> (app\\base\\setup.php:0)",{"nodes":320,"edges":328},[321,322,323,324,326],{"id":257,"type":258,"label":259,"file":146,"line":260},{"id":262,"type":263,"label":264,"file":146,"line":265,"wp_function":266},{"id":281,"type":258,"label":275,"file":146,"line":308},{"id":325,"type":278,"label":310,"file":146,"line":308},"n3",{"id":327,"type":263,"label":282,"file":283,"line":312,"wp_function":285},"n4",[329,330,331],{"from":257,"to":262,"sanitized":192},{"from":281,"to":325,"sanitized":191},{"from":325,"to":327,"sanitized":191},{"entryPoint":333,"graph":334,"unsanitizedCount":31,"severity":316},"admin_media_genie_add_media_folder (app\\hooks\\admin-library.php:93)",{"nodes":335,"edges":349},[336,338,340,342,343,344],{"id":257,"type":258,"label":275,"file":193,"line":337},111,{"id":262,"type":278,"label":339,"file":193,"line":337},"→ admin_create_folder()",{"id":281,"type":263,"label":282,"file":283,"line":341,"wp_function":285},137,{"id":325,"type":258,"label":275,"file":193,"line":337},{"id":327,"type":278,"label":339,"file":193,"line":337},{"id":345,"type":263,"label":346,"file":283,"line":347,"wp_function":348},"n5","query() [SQLi]",200,"query",[350,351,352,353],{"from":257,"to":262,"sanitized":191},{"from":262,"to":281,"sanitized":191},{"from":325,"to":327,"sanitized":191},{"from":327,"to":345,"sanitized":192},{"entryPoint":355,"graph":356,"unsanitizedCount":31,"severity":316},"admin_media_genie_rename_folder (app\\hooks\\admin-library.php:216)",{"nodes":357,"edges":370},[358,360,362,366,367,368],{"id":257,"type":258,"label":275,"file":193,"line":359},234,{"id":262,"type":278,"label":361,"file":193,"line":359},"→ admin_rename_folder()",{"id":281,"type":263,"label":363,"file":283,"line":364,"wp_function":365},"get_row() [SQLi]",356,"get_row",{"id":325,"type":258,"label":275,"file":193,"line":359},{"id":327,"type":278,"label":361,"file":193,"line":359},{"id":345,"type":263,"label":282,"file":283,"line":369,"wp_function":285},378,[371,372,373,374],{"from":257,"to":262,"sanitized":191},{"from":262,"to":281,"sanitized":192},{"from":325,"to":327,"sanitized":191},{"from":327,"to":345,"sanitized":191},{"entryPoint":376,"graph":377,"unsanitizedCount":388,"severity":316},"admin_media_genie_move_media_to_folder (app\\hooks\\admin-library.php:302)",{"nodes":378,"edges":385},[379,382,383],{"id":257,"type":258,"label":380,"file":193,"line":381},"$_POST (x2)",333,{"id":262,"type":278,"label":310,"file":193,"line":381},{"id":281,"type":263,"label":282,"file":283,"line":384,"wp_function":285},525,[386,387],{"from":257,"to":262,"sanitized":191},{"from":262,"to":281,"sanitized":191},2,{"entryPoint":390,"graph":391,"unsanitizedCount":444,"severity":316},"\u003Cadmin-library> (app\\hooks\\admin-library.php:0)",{"nodes":392,"edges":429},[393,394,395,396,397,398,399,401,403,405,407,409,411,413,415,417,419,421,423,425,427],{"id":257,"type":258,"label":275,"file":193,"line":337},{"id":262,"type":278,"label":339,"file":193,"line":337},{"id":281,"type":263,"label":282,"file":283,"line":341,"wp_function":285},{"id":325,"type":258,"label":275,"file":193,"line":337},{"id":327,"type":278,"label":339,"file":193,"line":337},{"id":345,"type":263,"label":346,"file":283,"line":347,"wp_function":348},{"id":400,"type":258,"label":275,"file":193,"line":276},"n6",{"id":402,"type":278,"label":279,"file":193,"line":276},"n7",{"id":404,"type":263,"label":282,"file":283,"line":284,"wp_function":285},"n8",{"id":406,"type":258,"label":275,"file":193,"line":359},"n9",{"id":408,"type":278,"label":361,"file":193,"line":359},"n10",{"id":410,"type":263,"label":363,"file":283,"line":364,"wp_function":365},"n11",{"id":412,"type":258,"label":275,"file":193,"line":359},"n12",{"id":414,"type":278,"label":361,"file":193,"line":359},"n13",{"id":416,"type":263,"label":282,"file":283,"line":369,"wp_function":285},"n14",{"id":418,"type":258,"label":380,"file":193,"line":381},"n15",{"id":420,"type":278,"label":310,"file":193,"line":381},"n16",{"id":422,"type":263,"label":282,"file":283,"line":384,"wp_function":285},"n17",{"id":424,"type":258,"label":275,"file":193,"line":294},"n18",{"id":426,"type":278,"label":296,"file":193,"line":294},"n19",{"id":428,"type":263,"label":264,"file":298,"line":299,"wp_function":266},"n20",[430,431,432,433,434,435,436,437,438,439,440,441,442,443],{"from":257,"to":262,"sanitized":191},{"from":262,"to":281,"sanitized":191},{"from":325,"to":327,"sanitized":191},{"from":327,"to":345,"sanitized":192},{"from":400,"to":402,"sanitized":191},{"from":402,"to":404,"sanitized":192},{"from":406,"to":408,"sanitized":191},{"from":408,"to":410,"sanitized":192},{"from":412,"to":414,"sanitized":191},{"from":414,"to":416,"sanitized":191},{"from":418,"to":420,"sanitized":191},{"from":420,"to":422,"sanitized":191},{"from":424,"to":426,"sanitized":191},{"from":426,"to":428,"sanitized":192},4,{"summary":446,"deductions":447},"The media-genie plugin v1.0.2 exhibits a generally strong security posture due to its adherence to several best practices. Notably, all 11 AJAX handlers are protected with nonce checks, and all 62 SQL queries utilize prepared statements, significantly mitigating common attack vectors. The plugin also boasts a high rate of output escaping (91%) and implements capability checks on all entry points, further bolstering its defenses. The absence of any recorded vulnerabilities or CVEs in its history is a positive indicator of past security diligence.\n\nHowever, a significant concern arises from the taint analysis. Out of 9 analyzed flows, 6 have unsanitized paths, with all 6 flagged as high severity. This indicates a clear risk of improper handling of user-supplied data, potentially leading to vulnerabilities like path traversal or command injection, despite the lack of directly observable dangerous functions. The presence of file operations (5 instances) combined with these unsanitized paths warrants careful investigation by the plugin developer to ensure these operations are not exploitable.\n\nIn conclusion, while media-genie v1.0.2 benefits from strong implementation of core WordPress security features and a clean vulnerability history, the high number of unsanitized taint flows represents a critical area of concern that overshadows its strengths. Developers should prioritize addressing these specific taint flows to solidify the plugin's security.",[448],{"reason":449,"points":107},"High severity unsanitized taint flows found","2026-03-17T06:41:40.022Z",{"wat":452,"direct":461},{"assetPaths":453,"generatorPatterns":458,"scriptPaths":459,"versionParams":460},[454,455,456,457],"\u002Fwp-content\u002Fplugins\u002Fmedia-genie\u002Fassets\u002Fscripts\u002Fmedia-panel.css","\u002Fwp-content\u002Fplugins\u002Fmedia-genie\u002Fassets\u002Fscripts\u002Flibrary.css","\u002Fwp-content\u002Fplugins\u002Fmedia-genie\u002Fassets\u002Fscripts\u002Flibrary.js","\u002Fwp-content\u002Fplugins\u002Fmedia-genie\u002Fassets\u002Fscripts\u002Fmedia-panel.js",[],[457,456],[],{"cssClasses":462,"htmlComments":477,"htmlAttributes":478,"restEndpoints":480,"jsGlobals":481,"shortcodeOutput":483},[463,464,465,466,467,468,469,470,471,472,473,474,475,476],"mg-add-folder-button","mg-sidebar-wrapper","mg-heading","mg-base-folders","mg-sec-title","mg-folders-container","mg-public-folders","mg-private-folders","media-genie-sidebar","media-genie-folder-context-menu","el-menu-list","el-item","el-colors-mark","el-heading",[],[479],"data-action",[],[482],"mediaGenieAjax",[]]