[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fhXyV6cbBsS6yePBi_fiBMu4zGbyRUkWZC1XEdGhdcno":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":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":38,"analysis":125,"fingerprints":428},"media-tracker","Media Tracker","1.3.5","TheBitCraft","https:\u002F\u002Fprofiles.wordpress.org\u002Fthebitcraft\u002F","\u003Cp>Media Tracker is a powerful WordPress plugin designed to help you identify and remove unused media files, manage duplicate images, and streamline your media library for better site performance and storage efficiency. Boost your WordPress site’s speed and organization with Media Tracker, the ultimate solution for managing and optimizing media files. Effortlessly track, organize, and clean up unused images to maintain an efficient and clutter-free media library. With Media Tracker, you can easily locate where each image is used across posts, pages, and custom post types, enhancing your website’s performance and user experience.\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\u002F2eMRuW5X-iI?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>Features\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>🔥 Media Usage:\u003C\u002Fstrong> Track and analyze media usage across your WordPress site. This feature allows you to see where each media file is being used, helping you manage and optimize your media library more effectively.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🔥 Unused Media List:\u003C\u002Fstrong> Find media files that are not in use on any posts, pages, or other content. This feature helps you keep your site clutter-free by highlighting files that can be safely removed.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🔥 Duplicate Images:\u003C\u002Fstrong> Detect and manage duplicate images within your media library. Consolidate or remove redundant files to save storage space and maintain an organized media library.\u003C\u002Fp>\n\u003Ch3>Supported File Types\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>JPEG\u003C\u002Fli>\n\u003Cli>PNG\u003C\u002Fli>\n\u003Cli>WebP\u003C\u002Fli>\n\u003Cli>GIF\u003C\u002Fli>\n\u003Cli>MP4 (Video)\u003C\u002Fli>\n\u003Cli>PDF\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Supports Plugins:\u003C\u002Fstrong>\u003Cbr \u002F>\n✔ WooCommerce\u003Cbr \u002F>\n✔ Gutenberg\u003Cbr \u002F>\n✔ WordPress Classic Editor\u003Cbr \u002F>\n✔ Advanced Custom Fields (ACF)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Supported Page Builders:\u003C\u002Fstrong>\u003Cbr \u002F>\n✔ Elementor\u003Cbr \u002F>\n✔ Divi page builder\u003C\u002Fp>\n","Media Tracker is a WordPress plugin to find and remove unused media files, manage duplicates, and optimize your media library for better performance.",1000,12215,100,7,"2026-03-07T17:20:00.000Z","6.9.4","5.9","7.4",[20,21,22,23,24],"duplicate","media-cleaner","optimizer","tracker","unused","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmedia-tracker.1.3.5.zip",0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":13,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},"thebitcraft",3,1020,30,94,"2026-04-04T05:52:10.249Z",[39,59,76,94,110],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":27,"num_ratings":27,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":25,"download_link":58,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"pixrem","PixRem – Unused Image Cleaner","1.0.3","OM Media","https:\u002F\u002Fprofiles.wordpress.org\u002Fommediasa\u002F","\u003Cp>\u003Cstrong>PixRem\u003C\u002Fstrong> scans your WordPress site to find images no longer in use and helps you safely delete them to save storage space and improve performance.\u003C\u002Fp>\n\u003Cp>Key benefits:\u003Cbr \u002F>\n– 🕵️‍♂️ \u003Cstrong>Comprehensive detection\u003C\u002Fstrong>: scans posts, pages, custom post types, serialized data, ACF, Elementor, Divi, Bricks, WPBakery\u003Cbr \u002F>\n– 🛒 \u003Cstrong>WooCommerce support\u003C\u002Fstrong>: finds featured & gallery images\u003Cbr \u002F>\n– ⚙️ \u003Cstrong>Theme options & SEO\u003C\u002Fstrong>: custom logos, backgrounds, Yoast OG images, site icon\u003Cbr \u002F>\n– 🛡 \u003Cstrong>Automatic backup\u003C\u002Fstrong>: every deleted image is saved to \u002Fwp-content\u002Fuploads\u002Fpixrem-backups\u002FYYYY\u002FMM\u002F\u003Cbr \u002F>\n– 📝 \u003Cstrong>Log system\u003C\u002Fstrong>: review all deletions and restore individual images\u003Cbr \u002F>\n– 🔒 \u003Cstrong>Whitelist \u002F Exclude\u003C\u002Fstrong>: prevent deletion of critical files by ID or path\u003C\u002Fp>\n","Find and delete unused images in your Media Library. Backup, restore, whitelist, and scan support for all major page builders.",20,328,"2025-09-22T20:27:00.000Z","6.8.5","5.4","7.2",[54,21,55,56,57],"image-optimizer","media-library","remove-images","unused-images","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpixrem.1.0.3.zip",{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":27,"num_ratings":27,"last_updated":69,"tested_up_to":50,"requires_at_least":25,"requires_php":25,"tags":70,"homepage":74,"download_link":75,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"unused-media-cleaner","Unused Media Cleaner","1.0.0","Vishal Padhariya","https:\u002F\u002Fprofiles.wordpress.org\u002Fvishalpadhariya\u002F","\u003Cp>The Unused Media Cleaner plugin helps you identify and remove unused media files from your WordPress site. This plugin scans your media library and compares it with your site’s content to detect files that are not being used. It provides an easy-to-use interface to review and delete unused media, helping you optimize your site’s storage and performance.\u003C\u002Fp>\n","Unused Media Cleaner scans your WordPress site to find and remove unused media files, freeing storage and improving site speed and performance.",60,312,"2025-10-14T08:37:00.000Z",[21,71,72,73],"media-management","unused-media","wordpress-media","https:\u002F\u002Fgithub.com\u002Fvishalpadhariya\u002Funused-media-cleaner","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Funused-media-cleaner.1.0.0.zip",{"slug":77,"name":78,"version":79,"author":80,"author_profile":81,"description":82,"short_description":83,"active_installs":47,"downloaded":84,"rating":27,"num_ratings":27,"last_updated":85,"tested_up_to":16,"requires_at_least":86,"requires_php":18,"tags":87,"homepage":92,"download_link":93,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"itpathsolutions-media-cleaner-and-database-optimizer","Media Cleaner and Database Optimizer by ITPath","1.0.5","IT Path Solutions","https:\u002F\u002Fprofiles.wordpress.org\u002Fitpathsolutions\u002F","\u003Cp>Media Cleaner and Database Optimizer by ITPath helps you manage unused media files and clean unnecessary data from your WordPress database.\u003C\u002Fp>\n\u003Cp>The plugin allows you to identify media files that are not associated with posts or pages and remove them safely. It also provides tools to clean unused database data such as revisions, drafts, transients, and metadata.\u003C\u002Fp>\n\u003Cp>By keeping your media library and database organized, the plugin helps maintain a cleaner WordPress installation and supports smooth site operation.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\n\u003Cp>Media Cleaner\u003C\u002Fp>\n\u003Cul>\n\u003Cli>View all media files utilized on your site.\u003C\u002Fli>\n\u003Cli>Easily clear unused media not associated with any posts or pages.\u003C\u002Fli>\n\u003Cli>Streamline media management by deleting unused files.\u003C\u002Fli>\n\u003Cli>Detect media usage across your website effortlessly.\u003C\u002Fli>\n\u003Cli>Save time by skipping the cleanup process for media files that are in use.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Database Cleaner\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Inactive & unused Plugins cleaner\u003C\u002Fli>\n\u003Cli>Inactive & unused Themes cleaner\u003C\u002Fli>\n\u003Cli>Revision clean up\u003C\u002Fli>\n\u003Cli>Draft clean up\u003C\u002Fli>\n\u003Cli>Auto draft clean up\u003C\u002Fli>\n\u003Cli>Post meta clean up\u003C\u002Fli>\n\u003Cli>Comment meta clean up\u003C\u002Fli>\n\u003Cli>All comments clean up\u003C\u002Fli>\n\u003Cli>User meta clean up\u003C\u002Fli>\n\u003Cli>Term meta clean up\u003C\u002Fli>\n\u003Cli>Trashed post &  product clean ip\u003C\u002Fli>\n\u003Cli>Trashed post \u002F product clean up\u003C\u002Fli>\n\u003Cli>Transients clean up\u003C\u002Fli>\n\u003Cli>Pingback & trackback clean up\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n","The most powerful tool for clearing unused media from your website and optimizing your database to boost site performance",2883,"2026-01-08T10:20:00.000Z","6.2",[88,89,90,91,21],"cleanup","database","database-optimizer","media","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fitpathsolutions-media-cleaner-and-database-optimizer\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fitpathsolutions-media-cleaner-and-database-optimizer.1.0.5.zip",{"slug":95,"name":96,"version":97,"author":98,"author_profile":99,"description":100,"short_description":101,"active_installs":27,"downloaded":102,"rating":27,"num_ratings":27,"last_updated":103,"tested_up_to":16,"requires_at_least":104,"requires_php":18,"tags":105,"homepage":25,"download_link":109,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"assetbroom-media-cleaner","Assetbroom – Unused Media & Duplicate Image Cleaner","1.0","KAP ASIAs","https:\u002F\u002Fprofiles.wordpress.org\u002Fkapasias\u002F","\u003Cp>\u003Cstrong>AssetBroom – Media Cleaner\u003C\u002Fstrong> helps you detect and remove \u003Cstrong>unused images, duplicate media files, and unnecessary thumbnails\u003C\u002Fstrong> from your WordPress media library.\u003C\u002Fp>\n\u003Cp>Over time, WordPress websites accumulate hundreds or thousands of images that are no longer used. These unused files increase backup size, waste storage, and slow down website maintenance.\u003C\u002Fp>\n\u003Cp>AssetBroom scans your entire website and identifies \u003Cstrong>unused media files\u003C\u002Fstrong>, \u003Cstrong>duplicate images\u003C\u002Fstrong>, and \u003Cstrong>generated image sizes\u003C\u002Fstrong> safely.\u003C\u002Fp>\n\u003Cp>The plugin checks where images are used before marking them unused. This prevents accidental deletion of images used in:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Posts\u003C\u002Fli>\n\u003Cli>Pages\u003C\u002Fli>\n\u003Cli>Page builders\u003C\u002Fli>\n\u003Cli>Featured images\u003C\u002Fli>\n\u003Cli>WordPress generated image sizes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>With AssetBroom you can safely \u003Cstrong>clean your media library, remove unused images, and optimize storage\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cp>✔ Detect unused media files\u003Cbr \u002F>\n✔ Detect duplicate images in media library\u003Cbr \u002F>\n✔ Clean WordPress media library safely\u003Cbr \u002F>\n✔ Supports Elementor and page builders\u003Cbr \u002F>\n✔ Detect WordPress generated thumbnails\u003Cbr \u002F>\n✔ Detect responsive image sizes\u003Cbr \u002F>\n✔ Safe move-to-trash workflow\u003Cbr \u002F>\n✔ Lightweight and fast scanning\u003Cbr \u002F>\n✔ Developer friendly code\u003C\u002Fp>\n\u003Ch3>Why Clean Your Media Library?\u003C\u002Fh3>\n\u003Cp>Unused media files can:\u003C\u002Fp>\n\u003Cp>• Increase backup size\u003Cbr \u002F>\n• Slow down site migrations\u003Cbr \u002F>\n• Waste hosting storage\u003Cbr \u002F>\n• Make media management difficult\u003C\u002Fp>\n\u003Cp>AssetBroom helps you keep your \u003Cstrong>WordPress media library clean and optimized\u003C\u002Fstrong>.\u003C\u002Fp>\n","Detect unused images, duplicate media files, and safely clean your WordPress media library without breaking your website.",145,"2026-03-09T13:05:00.000Z","6.0",[106,107,21,108,57],"clean","cleaning","optimisation","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fassetbroom-media-cleaner.1.0.zip",{"slug":111,"name":112,"version":62,"author":113,"author_profile":114,"description":115,"short_description":116,"active_installs":27,"downloaded":117,"rating":27,"num_ratings":27,"last_updated":118,"tested_up_to":50,"requires_at_least":119,"requires_php":18,"tags":120,"homepage":123,"download_link":124,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"media-gallery-cleaner","Media Gallery Cleaner","Muhammad Umer Shahzad","https:\u002F\u002Fprofiles.wordpress.org\u002Fumii020\u002F","\u003Cp>Media Gallery Cleaner scans your WordPress media library and database to identify unused images and other media files. It helps you clean up your site and free up server space.\u003C\u002Fp>\n","Scans your website and identifies unused media files for cleanup.",223,"2025-08-02T17:57:00.000Z","5.8",[121,21,122,72],"image-cleanup","media-optimization","https:\u002F\u002Fgithub.com\u002FUmii010\u002Fmedia-gallery-cleaner","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmedia-gallery-cleaner.1.0.0.zip",{"attackSurface":126,"codeSignals":275,"taintFlows":378,"riskAssessment":416,"analyzedAt":427},{"hooks":127,"ajaxHandlers":210,"restRoutes":267,"shortcodes":268,"cronEvents":269,"entryPointCount":146,"unprotectedCount":274},[128,134,138,142,147,152,157,160,163,167,171,175,179,184,188,192,197,202,206],{"type":129,"name":130,"callback":131,"file":132,"line":133},"action","restrict_manage_posts","add_custom_media_filter","includes\\Admin\\Duplicate_Images.php",21,{"type":129,"name":135,"callback":136,"file":132,"line":137},"pre_get_posts","filter_media_library_items",22,{"type":129,"name":139,"callback":140,"file":132,"line":141},"media_tracker_batch_process","process_image_hashes_batch",23,{"type":129,"name":143,"callback":144,"file":145,"line":146},"add_meta_boxes","add_media_meta_box","includes\\Admin\\Media_Usage.php",16,{"type":148,"name":149,"callback":150,"file":145,"line":151},"filter","manage_media_columns","add_usage_count_column",18,{"type":129,"name":153,"callback":154,"priority":155,"file":145,"line":156},"manage_media_custom_column","render_usage_count_column",10,19,{"type":148,"name":158,"callback":159,"file":145,"line":133},"manage_upload_sortable_columns","make_usage_count_column_sortable",{"type":148,"name":161,"callback":162,"priority":155,"file":145,"line":141},"posts_clauses","sort_by_usage_count",{"type":129,"name":164,"callback":165,"file":145,"line":166},"admin_head-upload.php","print_usage_count_column_css",25,{"type":129,"name":168,"callback":169,"file":170,"line":47},"admin_menu","register_media_tracker_menu","includes\\Admin\\Menu.php",{"type":129,"name":172,"callback":173,"priority":155,"file":170,"line":174},"media_tracker_run_media_scan_bg","run_scan_bg",35,{"type":129,"name":176,"callback":177,"priority":155,"file":170,"line":178},"updated_option","handle_option_update",47,{"type":129,"name":180,"callback":181,"file":182,"line":183},"in_admin_header","remove_admin_notices_on_plugin_pages","includes\\Admin\\PluginMeta.php",29,{"type":129,"name":185,"callback":186,"file":187,"line":141},"admin_enqueue_scripts","admin_script","includes\\Assets.php",{"type":129,"name":189,"callback":190,"file":187,"line":191},"current_screen","closure",27,{"type":148,"name":193,"callback":194,"file":195,"line":196},"cron_schedules","register_cron_schedules","includes\\Cron_Schedules.php",17,{"type":129,"name":198,"callback":199,"file":200,"line":201},"admin_footer","feedback_modal_html","includes\\Installer.php",131,{"type":129,"name":203,"callback":204,"file":205,"line":141},"plugins_loaded","load_plugin_textdomain","includes\\Media_Tracker_i18n.php",{"type":129,"name":203,"callback":207,"file":208,"line":209},"init_plugin","media-tracker.php",39,[211,217,220,224,227,230,233,236,239,242,246,250,254,258,261,264],{"action":212,"nopriv":213,"callback":214,"hasNonce":215,"hasCapCheck":215,"file":132,"line":216},"get_duplicate_images",false,"get_duplicate_images_via_ajax",true,24,{"action":218,"nopriv":213,"callback":219,"hasNonce":215,"hasCapCheck":215,"file":132,"line":166},"reset_duplicate_hashes","reset_duplicate_hashes_via_ajax",{"action":221,"nopriv":213,"callback":222,"hasNonce":215,"hasCapCheck":215,"file":132,"line":223},"mt_process_batch","process_batch_via_ajax",26,{"action":225,"nopriv":213,"callback":226,"hasNonce":215,"hasCapCheck":215,"file":132,"line":191},"mt_delete_duplicate_images","delete_duplicate_images_via_ajax",{"action":228,"nopriv":213,"callback":229,"hasNonce":213,"hasCapCheck":215,"file":145,"line":191},"media_tracker_get_most_used","ajax_get_most_used",{"action":231,"nopriv":213,"callback":232,"hasNonce":213,"hasCapCheck":215,"file":145,"line":183},"media_tracker_refresh_used_stats","ajax_refresh_used_stats",{"action":234,"nopriv":213,"callback":235,"hasNonce":215,"hasCapCheck":215,"file":170,"line":141},"clear_broken_links_transient","handle_clear_transient",{"action":237,"nopriv":213,"callback":238,"hasNonce":215,"hasCapCheck":215,"file":170,"line":223},"get_media_scan_progress","handle_get_scan_progress",{"action":240,"nopriv":213,"callback":241,"hasNonce":215,"hasCapCheck":215,"file":170,"line":183},"run_media_scan","handle_run_media_scan",{"action":243,"nopriv":213,"callback":244,"hasNonce":215,"hasCapCheck":215,"file":170,"line":245},"run_media_scan_sync","handle_run_media_scan_sync",32,{"action":247,"nopriv":213,"callback":248,"hasNonce":215,"hasCapCheck":215,"file":170,"line":249},"clear_media_scan_progress","handle_clear_scan_progress",38,{"action":251,"nopriv":213,"callback":252,"hasNonce":215,"hasCapCheck":215,"file":170,"line":253},"get_unused_media_count","handle_get_unused_media_count",41,{"action":255,"nopriv":213,"callback":256,"hasNonce":215,"hasCapCheck":215,"file":170,"line":257},"remove_all_unused_media","handle_remove_all_unused_media",44,{"action":259,"nopriv":213,"callback":260,"hasNonce":213,"hasCapCheck":213,"file":187,"line":216},"mt_save_feedback","save_feedback",{"action":262,"nopriv":213,"callback":263,"hasNonce":215,"hasCapCheck":215,"file":187,"line":166},"unused_media_save_screen_options","unused_media_handle_screen_options_save",{"action":265,"nopriv":213,"callback":266,"hasNonce":215,"hasCapCheck":215,"file":187,"line":223},"duplicate_media_save_screen_options","duplicate_media_handle_screen_options_save",[],[],[270,272],{"hook":172,"callback":172,"file":170,"line":271},337,{"hook":139,"callback":139,"file":200,"line":273},43,1,{"dangerousFunctions":276,"sqlUsage":285,"outputEscaping":322,"fileOperations":27,"externalRequests":27,"nonceChecks":376,"capabilityChecks":196,"bundledLibraries":377},[277,282],{"fn":278,"file":279,"line":280,"context":281},"unserialize","includes\\Admin\\Unused_Media_List.php",301,"$unserialized = @unserialize( $meta_value );",{"fn":278,"file":279,"line":283,"context":284},386,"$unserialized = @unserialize( $acf_value );",{"prepared":286,"raw":146,"locations":287},65,[288,291,294,296,298,300,302,304,306,309,311,313,315,316,318,320],{"file":145,"line":289,"context":290},132,"$wpdb->get_results() with variable interpolation",{"file":145,"line":292,"context":293},236,"$wpdb->get_col() with variable interpolation",{"file":145,"line":295,"context":293},257,{"file":145,"line":297,"context":293},383,{"file":145,"line":299,"context":290},431,{"file":145,"line":301,"context":293},523,{"file":145,"line":303,"context":293},543,{"file":145,"line":305,"context":293},723,{"file":279,"line":307,"context":308},1089,"$wpdb->query() with variable interpolation",{"file":279,"line":310,"context":308},1091,{"file":200,"line":312,"context":290},87,{"file":200,"line":314,"context":308},90,{"file":200,"line":36,"context":290},{"file":200,"line":317,"context":308},97,{"file":200,"line":319,"context":290},102,{"file":200,"line":321,"context":308},105,{"escaped":323,"rawEcho":141,"locations":324},218,[325,328,330,332,334,336,338,341,343,345,347,349,351,353,355,357,359,361,363,365,367,370,373],{"file":132,"line":326,"context":327},752,"raw output",{"file":145,"line":329,"context":327},666,{"file":145,"line":331,"context":327},773,{"file":145,"line":333,"context":327},789,{"file":145,"line":335,"context":327},822,{"file":145,"line":337,"context":327},838,{"file":339,"line":340,"context":327},"includes\\Admin\\views\\tabs\\tab-duplicates.php",115,{"file":339,"line":342,"context":327},128,{"file":339,"line":344,"context":327},133,{"file":339,"line":346,"context":327},139,{"file":339,"line":348,"context":327},148,{"file":339,"line":350,"context":327},150,{"file":339,"line":352,"context":327},181,{"file":339,"line":354,"context":327},190,{"file":339,"line":356,"context":327},191,{"file":339,"line":358,"context":327},192,{"file":339,"line":360,"context":327},206,{"file":339,"line":362,"context":327},213,{"file":339,"line":364,"context":327},262,{"file":339,"line":366,"context":327},269,{"file":368,"line":369,"context":327},"includes\\Admin\\views\\tabs\\tab-overview.php",151,{"file":371,"line":372,"context":327},"includes\\Admin\\views\\tabs\\tab-unused-media.php",93,{"file":374,"line":375,"context":327},"includes\\Admin\\views\\unused-media-list.php",33,15,[],[379,397,405],{"entryPoint":380,"graph":381,"unsanitizedCount":27,"severity":396},"handle_get_unused_media_count (includes\\Admin\\Menu.php:484)",{"nodes":382,"edges":394},[383,388],{"id":384,"type":385,"label":386,"file":170,"line":387},"n0","source","$_POST",494,{"id":389,"type":390,"label":391,"file":170,"line":392,"wp_function":393},"n1","sink","update_option() [Settings Manipulation]",501,"update_option",[395],{"from":384,"to":389,"sanitized":215},"low",{"entryPoint":398,"graph":399,"unsanitizedCount":27,"severity":396},"\u003CMenu> (includes\\Admin\\Menu.php:0)",{"nodes":400,"edges":403},[401,402],{"id":384,"type":385,"label":386,"file":170,"line":387},{"id":389,"type":390,"label":391,"file":170,"line":392,"wp_function":393},[404],{"from":384,"to":389,"sanitized":215},{"entryPoint":406,"graph":407,"unsanitizedCount":274,"severity":396},"\u003Cunused-media-list> (includes\\Admin\\views\\unused-media-list.php:0)",{"nodes":408,"edges":414},[409,411],{"id":384,"type":385,"label":410,"file":374,"line":35},"$_GET",{"id":389,"type":390,"label":412,"file":374,"line":375,"wp_function":413},"echo() [XSS]","echo",[415],{"from":384,"to":389,"sanitized":213},{"summary":417,"deductions":418},"The 'media-tracker' plugin v1.3.5 exhibits a generally good security posture, with a low overall risk. The static analysis reveals strong adherence to secure coding practices, as evidenced by the high percentage of prepared SQL statements and properly escaped output.  Furthermore, the absence of known vulnerabilities (CVEs) and a clean vulnerability history suggests a well-maintained and secure codebase. The plugin also implements a good number of nonce and capability checks, indicating an awareness of common WordPress security mechanisms.\n\nHowever, there are a few specific areas that introduce minor risks. The presence of the `unserialize` function, while not inherently a vulnerability, is a function that can lead to security issues if the serialized data is not properly validated or comes from untrusted sources. More importantly, one AJAX handler is identified as lacking authentication checks. This represents a direct attack vector that could potentially be exploited if an attacker can trigger this handler. The single taint flow with an unsanitized path, though not classified as critical or high severity, also warrants attention as it indicates a potential for unexpected data handling.  The plugin's attack surface, while moderate, has a single exposed entry point.\n\nIn conclusion, 'media-tracker' v1.3.5 is a relatively secure plugin, with its strengths lying in its robust implementation of prepared statements, output escaping, and lack of historical vulnerabilities. The primary weaknesses lie in the single unauthenticated AJAX handler and the use of `unserialize`. Addressing these specific points would further enhance the plugin's security.",[419,422,425],{"reason":420,"points":421},"AJAX handler without auth checks",8,{"reason":423,"points":424},"Flow with unsanitized path (taint analysis)",5,{"reason":426,"points":33},"Dangerous function: unserialize","2026-03-16T19:07:28.258Z",{"wat":429,"direct":442},{"assetPaths":430,"generatorPatterns":435,"scriptPaths":436,"versionParams":437},[431,432,433,434],"\u002Fwp-content\u002Fplugins\u002Fmedia-tracker\u002Fassets\u002Fdist\u002Fcss\u002Fmt-admin.css","\u002Fwp-content\u002Fplugins\u002Fmedia-tracker\u002Fassets\u002Fdist\u002Fjs\u002Fmt-admin.js","\u002Fwp-content\u002Fplugins\u002Fmedia-tracker\u002Fassets\u002Fdist\u002Fjs\u002Ftab.js","\u002Fwp-content\u002Fplugins\u002Fmedia-tracker\u002Fassets\u002Fdist\u002Fcss\u002Fpro-lock.css",[],[432,433],[438,439,440,441],"media-tracker\u002Fassets\u002Fdist\u002Fcss\u002Fmt-admin.css?ver=","media-tracker\u002Fassets\u002Fdist\u002Fjs\u002Fmt-admin.js?ver=","media-tracker\u002Fassets\u002Fdist\u002Fjs\u002Ftab.js?ver=","media-tracker\u002Fassets\u002Fdist\u002Fcss\u002Fpro-lock.css?ver=",{"cssClasses":443,"htmlComments":444,"htmlAttributes":445,"restEndpoints":446,"jsGlobals":447,"shortcodeOutput":449},[],[],[],[],[448],"mediaTracker",[]]