[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$faXs3azeGjQXht7auOaQXw2LecTMTENUXsOfqRPXRZpY":3,"$fRX0_r3sUZuPC-GJqjN3Llua6LGMirc_d3EuW8o_Am60":335,"$fOXBuYtITT0YgktY9P_3Z0lN1Wf7IXlxKqD_RjthesEs":339},{"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":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"discovery_status":29,"vulnerabilities":30,"developer":31,"crawl_stats":27,"alternatives":37,"analysis":122,"fingerprints":303},"oli-media-cleaner","Oli Media Cleaner","1.5.0","Olivier Bigras","https:\u002F\u002Fprofiles.wordpress.org\u002Fbigrat95\u002F","\u003Cp>\u003Cstrong>Oli Media Cleaner\u003C\u002Fstrong> scans your entire WordPress site to find media files that are no longer in use. It performs a deep analysis across multiple sources to accurately determine which files are safe to remove.\u003C\u002Fp>\n\u003Ch4>What Gets Scanned\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Post & page content\u003C\u002Fstrong> — all post types, Gutenberg blocks, classic editor\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Featured images\u003C\u002Fstrong> — all post types including WooCommerce product variations\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom fields (post meta)\u003C\u002Fstrong> — any plugin or theme that stores attachment IDs or URLs\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ACF (Advanced Custom Fields)\u003C\u002Fstrong> — image, file, gallery, repeater, flexible content, group, clone fields, and Options pages\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WooCommerce\u003C\u002Fstrong> — product galleries, variation images\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Elementor\u003C\u002Fstrong> — page builder widget data\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Theme files\u003C\u002Fstrong> — PHP, CSS, JS templates scanned for hardcoded image references\u003C\u002Fli>\n\u003Cli>\u003Cstrong>CSS background images\u003C\u002Fstrong> — inline styles in post content\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Widgets\u003C\u002Fstrong> — image, gallery, text, custom HTML widgets\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Site identity\u003C\u002Fstrong> — site logo, site icon, theme mods\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Serialized data\u003C\u002Fstrong> — deep scan of complex plugin data structures\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Batch scanning\u003C\u002Fstrong> — processes 50 attachments per batch to avoid timeouts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Whitelist\u003C\u002Fstrong> — protect files you want to keep even if unused\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bulk actions\u003C\u002Fstrong> — trash, whitelist, restore, or permanently delete multiple files at once\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Trash All\u003C\u002Fstrong> — one-click batch trash of all unused images with progress bar (handles thousands)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Scheduled auto-cleanup\u003C\u002Fstrong> — enable daily, twice daily, or weekly automatic scan and trash via WP-Cron\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Progress bar\u003C\u002Fstrong> — real-time scanning progress\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No external dependencies\u003C\u002Fstrong> — uses native WordPress admin styles, no Bootstrap or jQuery UI\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Zero custom database tables\u003C\u002Fstrong> — stores data in WordPress options\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Clean uninstall\u003C\u002Fstrong> — removes all plugin data on deletion\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How to Use\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Oli Media Cleaner\u003C\u002Fstrong> under \u003Cstrong>Media\u003C\u002Fstrong> in the WordPress admin sidebar\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Scan for Unused Media\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Review the results in the \u003Cstrong>Unused\u003C\u002Fstrong> tab\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Whitelist\u003C\u002Fstrong> any files you want to keep\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Trash\u003C\u002Fstrong> files you don’t need\u003C\u002Fli>\n\u003Cli>Go to the \u003Cstrong>Trash\u003C\u002Fstrong> tab to permanently delete or restore files\u003C\u002Fli>\n\u003C\u002Fol>\n","Scan and remove unused media files from your WordPress site to free up disk space.",10,99,0,"2026-03-30T16:01:00.000Z","6.9.4","5.8","7.4",[19,20,21,22,23],"cleanup","disk-space","media","media-cleaner","unused-images","https:\u002F\u002Fgithub.com\u002Fbigrat95\u002Foli-media-cleaner","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Foli-media-cleaner.1.5.0.zip",100,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":11,"avg_security_score":26,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"bigrat95",3,30,94,"2026-05-19T18:32:25.735Z",[38,54,73,90,106],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":34,"downloaded":46,"rating":13,"num_ratings":13,"last_updated":47,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":48,"homepage":52,"download_link":53,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"unattached-media-manager","Unattached Media Manager","1.0.6","sungraizfaryad","https:\u002F\u002Fprofiles.wordpress.org\u002Fsungraizfaryad\u002F","\u003Ch4>Why This Plugin Is Different\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Most media cleaner plugins help you delete unused images. This plugin fixes a fundamental WordPress problem first.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>WordPress has a built-in “Unattached” filter in the Media Library. The idea is simple: it shows you media files that aren’t connected to any post, so you can decide whether to keep or delete them.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The problem?\u003C\u002Fstrong> WordPress only marks media as “attached” if it was uploaded directly through the post editor. Any image added through ACF fields, Gutenberg blocks, page builders, widgets, theme options, or shortcodes shows as “Unattached” — even though it’s actively being used on your site.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>This makes WordPress’s native “Unattached” filter completely unreliable.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>How Unattached Media Manager Fixes This\u003C\u002Fh4>\n\u003Cp>This plugin scans your entire site, finds every place where media files are actually being used, and properly attaches them to their parent posts. Once attached:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>WordPress’s “Unattached” filter actually works\u003C\u002Fstrong> — It now shows only truly unused media\u003C\u002Fli>\n\u003Cli>\u003Cstrong>You can use WordPress’s native tools\u003C\u002Fstrong> — No need to depend on third-party plugins to manage media\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Import\u002Fexport plugins work correctly\u003C\u002Fstrong> — Tools like WP All Import, WP Migrate, Duplicator, and others can now properly identify and migrate media with their associated posts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>You can safely uninstall this plugin\u003C\u002Fstrong> — The attachments remain as part of WordPress’s native structure\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>The Workflow\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\u003Cstrong>Scan\u003C\u002Fstrong> — The plugin finds all media usage across your site (content, ACF, blocks, widgets, options, etc.)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Attach\u003C\u002Fstrong> — One-click to properly attach all “used but unattached” media to their parent posts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Review\u003C\u002Fstrong> — Now WordPress’s “Unattached” filter shows only genuinely unused files\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Clean Up\u003C\u002Fstrong> — Use WordPress’s native tools OR this plugin’s safe deletion features\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Done\u003C\u002Fstrong> — Uninstall if you want; the fixes stay with WordPress\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Yes, It Also Deletes Unused Media\u003C\u002Fh4>\n\u003Cp>Like other media cleaners, this plugin also helps you safely delete unused media with:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Trash support\u003C\u002Fstrong> — Move to trash first, restore if needed\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Permanent delete\u003C\u002Fstrong> — Remove forever when you’re sure\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Change history\u003C\u002Fstrong> — Track all attachment changes with one-click revert\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>But the real value is \u003Cstrong>fixing WordPress’s attachment system\u003C\u002Fstrong> so you don’t need to depend on any plugin long-term.\u003C\u002Fp>\n\u003Ch4>Two Processing Modes\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Browser-Driven (Recommended)\u003C\u002Fstrong> — Fast and reliable with real-time progress. Keep the browser tab open until complete.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Background (WP-Cron)\u003C\u002Fstrong> — Processing continues even after closing your browser. Ideal for server cron setups.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Comprehensive Scanning\u003C\u002Fstrong> — Detects media usage in post content, featured images, Gutenberg blocks, ACF fields, Elementor, Meta Box, WooCommerce, SEO plugins, widgets, theme options, and more\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fix Unattached Media\u003C\u002Fstrong> — One-click to properly attach all “used but unattached” media\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Media Library Integration\u003C\u002Fstrong> — See usage count directly in your Media Library list view\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Safe Deletion\u003C\u002Fstrong> — WordPress trash support with restore capability\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Change History\u003C\u002Fstrong> — Full audit trail with one-click revert for any attachment\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Pause & Resume\u003C\u002Fstrong> — Stop any operation and continue later\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Resource Aware\u003C\u002Fstrong> — Three modes (Low\u002FAuto\u002FHigh) for shared hosting to dedicated servers\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Export Reports\u003C\u002Fstrong> — Download CSV reports of all media usage\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Developer Friendly\u003C\u002Fstrong> — Hooks, filters, REST API, and WP-CLI commands\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>The Problem It Solves\u003C\u002Fh4>\n\u003Cp>WordPress marks media as “Unattached” if it wasn’t uploaded directly to a post. But many media files ARE being used — they’re just embedded via:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>The block editor (Gutenberg)\u003C\u002Fli>\n\u003Cli>Page builders like Elementor or Beaver Builder\u003C\u002Fli>\n\u003Cli>ACF image\u002Fgallery fields\u003C\u002Fli>\n\u003Cli>WooCommerce product galleries\u003C\u002Fli>\n\u003Cli>Theme customizer settings\u003C\u002Fli>\n\u003Cli>Widget areas\u003C\u002Fli>\n\u003Cli>Shortcodes\u003C\u002Fli>\n\u003Cli>Custom meta boxes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Unattached Media Manager finds ALL these references and properly attaches the media\u003C\u002Fstrong>, so WordPress correctly reflects which files are actually in use.\u003C\u002Fp>\n\u003Ch4>Server-Friendly Design\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>This plugin is designed to work on ALL servers, including shared hosting with limited resources:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Never blocks your site\u003C\u002Fstrong> – All heavy operations are processed in batches\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Adaptive resource usage\u003C\u002Fstrong> – Automatically detects server limits and adjusts accordingly\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Three resource modes:\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>\u003Cstrong>Low Resources\u003C\u002Fstrong> – 5 items\u002Fbatch, 2-minute intervals (for shared hosting)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Auto (Recommended)\u003C\u002Fstrong> – 15 items\u002Fbatch, 1-minute intervals (adjusts automatically)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>High Performance\u003C\u002Fstrong> – 50 items\u002Fbatch, 30-second intervals (for dedicated servers)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Two processing strategies\u003C\u002Fstrong> – Choose browser-driven (fast) or background WP-Cron mode\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Supported Content Types\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>ALL features below are FREE – no Pro version required!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Post Content\u003C\u002Fstrong> – Classic editor, Gutenberg blocks, shortcodes, inline styles, data attributes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Featured Images\u003C\u002Fstrong> – Thumbnail assignments\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ACF Fields\u003C\u002Fstrong> – Image, gallery, file, repeater, flexible content, and group fields\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gutenberg Blocks\u003C\u002Fstrong> – Core image, gallery, cover, media & text blocks\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Elementor\u003C\u002Fstrong> – All widgets, backgrounds, galleries, sliders, and responsive images\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Meta Box\u003C\u002Fstrong> – All field types including groups and cloneable fields\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WooCommerce\u003C\u002Fstrong> – Product galleries, variation images, downloadable files, category thumbnails\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SEO Plugins\u003C\u002Fstrong> – Yoast SEO, Rank Math, All in One SEO, SEOPress (OpenGraph & Twitter images)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Widgets\u003C\u002Fstrong> – Image widgets, text widgets with media, custom HTML\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Theme Options\u003C\u002Fstrong> – Customizer settings, theme mods, custom logos\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Options Table\u003C\u002Fstrong> – Plugin settings that store media IDs or URLs\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Video & Audio\u003C\u002Fstrong> – HTML5 video\u002Faudio elements, poster images, source tags\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Responsive Images\u003C\u002Fstrong> – srcset attributes and lazy-loading data attributes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>For Developers\u003C\u002Fh4>\n\u003Cp>Unattached Media Manager is built with extensibility in mind:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Hooks & Filters\u003C\u002Fstrong> – Extend scanning with custom parsers\u003C\u002Fli>\n\u003Cli>\u003Cstrong>REST API\u003C\u002Fstrong> – Query media usage programmatically\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WP-CLI Commands\u003C\u002Fstrong> – Run scans from the command line (\u003Ccode>wp aioms scan\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Post Types\u003C\u002Fstrong> – Automatically scans all public post types\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>How to Use\u003C\u002Fh3>\n\u003Ch4>Step 1: Run Your First Scan\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Navigate to \u003Cstrong>Media \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Media Solution\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Start Full Scan\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Choose your processing mode (Browser-Driven recommended for most users)\u003C\u002Fli>\n\u003Cli>Watch the real-time progress as your media library is scanned\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Step 2: Review the Dashboard\u003C\u002Fh4>\n\u003Cp>After scanning, you’ll see:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Total Media Files\u003C\u002Fstrong> – All attachments in your library\u003C\u002Fli>\n\u003Cli>\u003Cstrong>In Use\u003C\u002Fstrong> – Media files with detected references\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Potentially Unused\u003C\u002Fstrong> – Media files with no detected references\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Used but Unattached\u003C\u002Fstrong> – Media that’s used but marked as “Unattached” in WordPress\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Total References\u003C\u002Fstrong> – Total number of places media is referenced\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Step 3: Fix Unattached Media\u003C\u002Fh4>\n\u003Cp>If you have “Used but Unattached” media:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Click the \u003Cstrong>Attach All Media Files\u003C\u002Fstrong> button\u003C\u002Fli>\n\u003Cli>The operation runs in the background\u003C\u002Fli>\n\u003Cli>Each attachment is tracked in Change History for easy reverting\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Step 4: Clean Up Unused Media\u003C\u002Fh4>\n\u003Cp>Go to the \u003Cstrong>Unused Media\u003C\u002Fstrong> tab to:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Review\u003C\u002Fstrong> – Check each file before taking action\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Move to Trash\u003C\u002Fstrong> – Safely move to WordPress trash (can be restored)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Restore\u003C\u002Fstrong> – Bring items back from trash if needed\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Delete Permanently\u003C\u002Fstrong> – Remove forever (cannot be undone)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Empty Trash\u003C\u002Fstrong> – Delete all trashed media at once\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Important:\u003C\u002Fstrong> All bulk operations run in the background. You’ll see a status bar showing progress.\u003C\u002Fp>\n\u003Ch4>Step 5: Review Change History\u003C\u002Fh4>\n\u003Cp>The \u003Cstrong>Change History\u003C\u002Fstrong> tab shows:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>All attachments made by this plugin\u003C\u002Fli>\n\u003Cli>When each change occurred\u003C\u002Fli>\n\u003Cli>What post each media was attached to\u003C\u002Fli>\n\u003Cli>Option to \u003Cstrong>Revert\u003C\u002Fstrong> any change (detaches the media)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Important Precautions\u003C\u002Fh3>\n\u003Ch4>Before Deleting Any Media\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\u003Cstrong>Always run a full scan first\u003C\u002Fstrong> – Make sure the index is up to date\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Review files manually\u003C\u002Fstrong> – The scanner detects database references, but images might be:\n\u003Cul>\n\u003Cli>Hardcoded in theme PHP files\u003C\u002Fli>\n\u003Cli>Used by external websites linking to your images\u003C\u002Fli>\n\u003Cli>Referenced in custom code or third-party plugins not yet supported\u003C\u002Fli>\n\u003Cli>Used in email templates stored outside WordPress\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Use Trash first\u003C\u002Fstrong> – Move to trash instead of deleting permanently\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Wait before emptying trash\u003C\u002Fstrong> – Keep trashed items for a few days to catch any issues\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>About “Potentially Unused” Media\u003C\u002Fh4>\n\u003Cp>Files marked as “Potentially Unused” means:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>No references were found in the scanned content\u003C\u002Fli>\n\u003Cli>\u003Cstrong>This doesn’t guarantee the file is unused\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>The file might be used in ways not detected:\n\u003Cul>\n\u003Cli>Theme template files (hardcoded)\u003C\u002Fli>\n\u003Cli>External sites linking to your images\u003C\u002Fli>\n\u003Cli>Custom plugins with non-standard storage\u003C\u002Fli>\n\u003Cli>CSS background images defined in stylesheets\u003C\u002Fli>\n\u003Cli>JavaScript-loaded images\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Recommended Workflow\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\u003Cstrong>Scan\u003C\u002Fstrong> – Run a full scan with all content types enabled\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Review\u003C\u002Fstrong> – Look at the Unused Media tab\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Research\u003C\u002Fstrong> – For each file, consider where it might be used\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Trash\u003C\u002Fstrong> – Move questionable items to trash (not permanent delete)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Monitor\u003C\u002Fstrong> – Check your site for a few days for missing images\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Delete\u003C\u002Fstrong> – Only permanently delete after confirming no issues\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Server Resources\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Shared Hosting\u003C\u002Fstrong> – Use “Low Resources” mode in settings\u003C\u002Fli>\n\u003Cli>\u003Cstrong>If operations timeout\u003C\u002Fstrong> – Switch to Low Resources mode\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Large media libraries\u003C\u002Fstrong> – The scan may take longer but will complete\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WP Cron must work\u003C\u002Fstrong> – Ensure WordPress cron is running (check with your host)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy Policy\u003C\u002Fh3>\n\u003Cp>Unattached Media Manager does not:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Collect any personal data\u003C\u002Fli>\n\u003Cli>Send any data to external servers\u003C\u002Fli>\n\u003Cli>Use any third-party services\u003C\u002Fli>\n\u003Cli>Track users or usage\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>All data is stored locally in your WordPress database in custom tables that are removed when you uninstall the plugin.\u003C\u002Fp>\n\u003Ch3>Uninstallation\u003C\u002Fh3>\n\u003Cp>When you uninstall (delete) the plugin:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>All custom database tables are removed\u003C\u002Fli>\n\u003Cli>All plugin options are deleted\u003C\u002Fli>\n\u003Cli>All plugin transients are cleared\u003C\u002Fli>\n\u003Cli>All scheduled cron events are removed\u003C\u002Fli>\n\u003Cli>Post meta created by the plugin is deleted\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Note:\u003C\u002Fstrong> Attachment relationships (post_parent) that were set by this plugin are NOT removed, as these are now part of WordPress’s native media library structure. If you need to revert these, use the Change History tab before uninstalling.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Built with love for the WordPress community\u003C\u002Fli>\n\u003Cli>Icons from WordPress Dashicons\u003C\u002Fli>\n\u003Cli>Inspired by the need to keep media libraries clean and organized\u003C\u002Fli>\n\u003C\u002Ful>\n","Fix the WordPress Unattached media filter. Automatically attach used media files to their posts so you can safely clean up your library.",439,"2026-03-10T16:29:00.000Z",[49,19,22,50,51],"attachments","media-library","unused-media","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Funattached-media-manager\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Funattached-media-manager.1.0.6.zip",{"slug":55,"name":56,"version":57,"author":58,"author_profile":59,"description":60,"short_description":61,"active_installs":62,"downloaded":63,"rating":13,"num_ratings":13,"last_updated":64,"tested_up_to":65,"requires_at_least":66,"requires_php":67,"tags":68,"homepage":71,"download_link":72,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"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,394,"2025-09-22T20:27:00.000Z","6.8.5","5.4","7.2",[69,22,50,70,23],"image-optimizer","remove-images","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpixrem.1.0.3.zip",{"slug":74,"name":75,"version":76,"author":77,"author_profile":78,"description":79,"short_description":80,"active_installs":11,"downloaded":81,"rating":13,"num_ratings":13,"last_updated":82,"tested_up_to":15,"requires_at_least":83,"requires_php":17,"tags":84,"homepage":87,"download_link":88,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":89},"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",2916,"2026-01-08T10:20:00.000Z","6.2",[19,85,86,21,22],"database","database-optimizer","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","2026-04-06T09:54:40.288Z",{"slug":91,"name":92,"version":93,"author":94,"author_profile":95,"description":96,"short_description":97,"active_installs":11,"downloaded":98,"rating":13,"num_ratings":13,"last_updated":99,"tested_up_to":15,"requires_at_least":16,"requires_php":67,"tags":100,"homepage":104,"download_link":105,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"ma-smart-image-cleaner","MA Smart Image Cleaner","1.0.1","Moheeb Arif","https:\u002F\u002Fprofiles.wordpress.org\u002Fmoheebarif786\u002F","\u003Cp>MA Smart Image Cleaner helps WordPress site owners \u003Cstrong>identify unused images\u003C\u002Fstrong> in their Media Library and clean storage safely.\u003C\u002Fp>\n\u003Cp>Over time, WordPress sites accumulate hundreds of unused images from deleted pages, design changes, and testing uploads. These unused files increase storage usage, slow down backups, and clutter the admin area.\u003C\u002Fp>\n\u003Cp>This plugin focuses on \u003Cstrong>analysis first, deletion last\u003C\u002Fstrong> — giving you full control before removing anything.\u003C\u002Fp>\n\u003Ch3>🔍 Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Detect unused images in the Media Library\u003C\u002Fli>\n\u003Cli>Analyze image usage across:\n\u003Cul>\n\u003Cli>Posts and Pages\u003C\u002Fli>\n\u003Cli>Custom Post Types\u003C\u002Fli>\n\u003Cli>Featured Images\u003C\u002Fli>\n\u003Cli>Gutenberg blocks\u003C\u002Fli>\n\u003Cli>Elementor content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Safe preview before deleting\u003C\u002Fli>\n\u003Cli>Move images to Trash (no forced permanent deletion)\u003C\u002Fli>\n\u003Cli>Bulk actions with confirmation\u003C\u002Fli>\n\u003Cli>Estimated storage savings\u003C\u002Fli>\n\u003Cli>Background scanning using WordPress Cron\u003C\u002Fli>\n\u003Cli>Clean and lightweight admin interface\u003C\u002Fli>\n\u003Cli>Beginner-friendly and open-source\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>🚫 No auto-delete\u003Cbr \u002F>\n🚫 No ads\u003Cbr \u002F>\n🚫 No tracking\u003Cbr \u002F>\n🚫 No upsells\u003C\u002Fp>\n\u003Cp>Perfect for bloggers, agencies, businesses, NGOs, and developers who want a clean and optimized WordPress site.\u003C\u002Fp>\n\u003Ch3>How It Works\u003C\u002Fh3>\n\u003Col>\n\u003Cli>The plugin scans all image attachments\u003C\u002Fli>\n\u003Cli>It checks where images are used across your site\u003C\u002Fli>\n\u003Cli>Images are marked as:\n\u003Cul>\n\u003Cli>Used\u003C\u002Fli>\n\u003Cli>Unused\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>You review the results and decide what to delete\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Nothing is removed automatically.\u003C\u002Fp>\n\u003Ch3>Contributing\u003C\u002Fh3>\n\u003Cp>This is an open-source plugin. Contributions, suggestions, and bug reports are welcome.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003C\u002Fp>\n","Safely find and clean unused images in your WordPress Media Library without breaking your website.",232,"2026-02-09T18:09:00.000Z",[101,102,50,103,23],"image-cleaner","media-cleanup","performance","https:\u002F\u002Fmadigitalhub.co.uk\u002Fplugins\u002Fma-smart-image-cleaner","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fma-smart-image-cleaner.1.0.1.zip",{"slug":107,"name":108,"version":109,"author":110,"author_profile":111,"description":112,"short_description":113,"active_installs":13,"downloaded":114,"rating":13,"num_ratings":13,"last_updated":115,"tested_up_to":15,"requires_at_least":116,"requires_php":17,"tags":117,"homepage":71,"download_link":121,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":89},"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.",268,"2026-03-09T13:05:00.000Z","6.0",[118,119,22,120,23],"clean","cleaning","optimisation","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fassetbroom-media-cleaner.1.0.zip",{"attackSurface":123,"codeSignals":209,"taintFlows":232,"riskAssessment":290,"analyzedAt":302},{"hooks":124,"ajaxHandlers":139,"restRoutes":204,"shortcodes":205,"cronEvents":206,"entryPointCount":164,"unprotectedCount":164},[125,131,135],{"type":126,"name":127,"callback":128,"file":129,"line":130},"action","admin_menu","add_menu","includes\u002Fclass-admin.php",7,{"type":126,"name":132,"callback":133,"file":129,"line":134},"admin_enqueue_scripts","enqueue_assets",8,{"type":126,"name":136,"callback":137,"file":129,"line":138},"olimc_scheduled_cleanup","run_scheduled_cleanup",29,[140,145,149,153,157,161,165,169,173,177,180,184,188,192,196,200],{"action":141,"nopriv":142,"callback":143,"hasNonce":142,"hasCapCheck":142,"file":129,"line":144},"olimc_start_scan",false,"ajax_start_scan",11,{"action":146,"nopriv":142,"callback":147,"hasNonce":142,"hasCapCheck":142,"file":129,"line":148},"olimc_scan_batch","ajax_scan_batch",12,{"action":150,"nopriv":142,"callback":151,"hasNonce":142,"hasCapCheck":142,"file":129,"line":152},"olimc_get_results","ajax_get_results",13,{"action":154,"nopriv":142,"callback":155,"hasNonce":142,"hasCapCheck":142,"file":129,"line":156},"olimc_trash_single","ajax_trash_single",14,{"action":158,"nopriv":142,"callback":159,"hasNonce":142,"hasCapCheck":142,"file":129,"line":160},"olimc_trash_bulk","ajax_trash_bulk",15,{"action":162,"nopriv":142,"callback":163,"hasNonce":142,"hasCapCheck":142,"file":129,"line":164},"olimc_trash_all_batch","ajax_trash_all_batch",16,{"action":166,"nopriv":142,"callback":167,"hasNonce":142,"hasCapCheck":142,"file":129,"line":168},"olimc_delete_single","ajax_delete_single",17,{"action":170,"nopriv":142,"callback":171,"hasNonce":142,"hasCapCheck":142,"file":129,"line":172},"olimc_delete_bulk","ajax_delete_bulk",18,{"action":174,"nopriv":142,"callback":175,"hasNonce":142,"hasCapCheck":142,"file":129,"line":176},"olimc_whitelist_single","ajax_whitelist_single",19,{"action":178,"nopriv":142,"callback":179,"hasNonce":142,"hasCapCheck":142,"file":129,"line":62},"olimc_whitelist_bulk","ajax_whitelist_bulk",{"action":181,"nopriv":142,"callback":182,"hasNonce":142,"hasCapCheck":142,"file":129,"line":183},"olimc_remove_whitelist","ajax_remove_whitelist",21,{"action":185,"nopriv":142,"callback":186,"hasNonce":142,"hasCapCheck":142,"file":129,"line":187},"olimc_remove_whitelist_bulk","ajax_remove_whitelist_bulk",22,{"action":189,"nopriv":142,"callback":190,"hasNonce":142,"hasCapCheck":142,"file":129,"line":191},"olimc_restore_single","ajax_restore_single",23,{"action":193,"nopriv":142,"callback":194,"hasNonce":142,"hasCapCheck":142,"file":129,"line":195},"olimc_restore_bulk","ajax_restore_bulk",24,{"action":197,"nopriv":142,"callback":198,"hasNonce":142,"hasCapCheck":142,"file":129,"line":199},"olimc_save_cron_settings","ajax_save_cron_settings",25,{"action":201,"nopriv":142,"callback":202,"hasNonce":142,"hasCapCheck":142,"file":129,"line":203},"olimc_empty_trash_batch","ajax_empty_trash_batch",26,[],[],[207],{"hook":136,"callback":136,"file":129,"line":208},888,{"dangerousFunctions":210,"sqlUsage":220,"outputEscaping":223,"fileOperations":225,"externalRequests":13,"nonceChecks":225,"capabilityChecks":230,"bundledLibraries":231},[211,216,218],{"fn":212,"file":213,"line":214,"context":215},"unserialize","includes\u002Fclass-scanner.php",400,"$data = @unserialize($val);",{"fn":212,"file":213,"line":217,"context":215},520,{"fn":212,"file":213,"line":219,"context":215},545,{"prepared":221,"raw":13,"locations":222},39,[],{"escaped":224,"rawEcho":225,"locations":226},114,1,[227],{"file":129,"line":228,"context":229},142,"raw output",2,[],[233,251,262,281],{"entryPoint":234,"graph":235,"unsanitizedCount":225,"severity":250},"ajax_remove_whitelist_bulk (includes\u002Fclass-admin.php:740)",{"nodes":236,"edges":248},[237,242],{"id":238,"type":239,"label":240,"file":129,"line":241},"n0","source","$_POST",743,{"id":243,"type":244,"label":245,"file":129,"line":246,"wp_function":247},"n1","sink","update_option() [Settings Manipulation]",746,"update_option",[249],{"from":238,"to":243,"sanitized":142},"low",{"entryPoint":252,"graph":253,"unsanitizedCount":230,"severity":250},"ajax_save_cron_settings (includes\u002Fclass-admin.php:870)",{"nodes":254,"edges":260},[255,258],{"id":238,"type":239,"label":256,"file":129,"line":257},"$_POST (x2)",873,{"id":243,"type":244,"label":245,"file":129,"line":259,"wp_function":247},880,[261],{"from":238,"to":243,"sanitized":142},{"entryPoint":263,"graph":264,"unsanitizedCount":13,"severity":250},"\u003Cclass-admin> (includes\u002Fclass-admin.php:0)",{"nodes":265,"edges":277},[266,268,272,275],{"id":238,"type":239,"label":256,"file":129,"line":267},507,{"id":243,"type":244,"label":269,"file":129,"line":270,"wp_function":271},"get_col() [SQLi]",515,"get_col",{"id":273,"type":239,"label":274,"file":129,"line":241},"n2","$_POST (x3)",{"id":276,"type":244,"label":245,"file":129,"line":246,"wp_function":247},"n3",[278,280],{"from":238,"to":243,"sanitized":279},true,{"from":273,"to":276,"sanitized":279},{"entryPoint":282,"graph":283,"unsanitizedCount":225,"severity":289},"ajax_scan_batch (includes\u002Fclass-admin.php:504)",{"nodes":284,"edges":287},[285,286],{"id":238,"type":239,"label":240,"file":129,"line":267},{"id":243,"type":244,"label":269,"file":129,"line":270,"wp_function":271},[288],{"from":238,"to":243,"sanitized":142},"high",{"summary":291,"deductions":292},"The oli-media-cleaner plugin v1.5.0 exhibits a concerning security posture primarily due to a large number of unprotected AJAX endpoints.  While the plugin demonstrates good practices in its use of prepared statements for SQL queries and generally robust output escaping, the 16 AJAX handlers without authentication checks represent a significant attack surface. This means any unauthenticated user could potentially trigger functionality within these handlers, leading to unintended actions or information disclosure.\n\nThe taint analysis reveals a high severity flow with unsanitized paths, indicating a potential vulnerability where user-supplied input might not be properly validated before being used in a sensitive operation. Coupled with the presence of the `unserialize` function, which is inherently risky when dealing with untrusted input, this warrants careful investigation and immediate remediation.\n\nThe plugin's vulnerability history is clean, with no known CVEs. This is a positive indicator, suggesting the developers may be diligent in addressing security issues as they arise. However, the static analysis findings, particularly the unprotected AJAX endpoints and the identified taint flow, highlight existing weaknesses that could be exploited even without prior known vulnerabilities. The overall assessment is that while the plugin has strengths in some areas, the unprotected attack surface and the taint flow represent significant risks that need to be addressed.",[293,295,297,300],{"reason":294,"points":11},"16 AJAX handlers without auth checks",{"reason":296,"points":11},"High severity taint flow with unsanitized paths",{"reason":298,"points":299},"Use of dangerous function: unserialize",5,{"reason":301,"points":230},"1 total flow with unsanitized paths","2026-04-16T11:56:08.948Z",{"wat":304,"direct":313},{"assetPaths":305,"generatorPatterns":308,"scriptPaths":309,"versionParams":310},[306,307],"\u002Fwp-content\u002Fplugins\u002Foli-media-cleaner\u002Fassets\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Foli-media-cleaner\u002Fassets\u002Fjs\u002Fadmin.js",[],[],[311,312],"oli-media-cleaner\u002Fassets\u002Fcss\u002Fadmin.css?ver=","oli-media-cleaner\u002Fassets\u002Fjs\u002Fadmin.js?ver=",{"cssClasses":314,"htmlComments":321,"htmlAttributes":322,"restEndpoints":324,"jsGlobals":332,"shortcodeOutput":334},[315,316,317,318,319,320],"olimc-stats","olimc-scan-btn","olimc-progress-wrap","olimc-progress-fill","olimc-progress-text","olimc-unused-count",[],[323],"data-tab",[325,326,327,328,329,330,331],"\u002Fwp-json\u002Folimc-api\u002Fv1\u002Fscan","\u002Fwp-json\u002Folimc-api\u002Fv1\u002Fresults","\u002Fwp-json\u002Folimc-api\u002Fv1\u002Ftrash","\u002Fwp-json\u002Folimc-api\u002Fv1\u002Fdelete","\u002Fwp-json\u002Folimc-api\u002Fv1\u002Fwhitelist","\u002Fwp-json\u002Folimc-api\u002Fv1\u002Frestore","\u002Fwp-json\u002Folimc-api\u002Fv1\u002Fcron",[333],"olimcObj",[],{"error":279,"url":336,"statusCode":337,"statusMessage":338,"message":338},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Foli-media-cleaner\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":225,"versions":340},[341],{"version":6,"download_url":25,"svn_tag_url":342,"released_at":27,"has_diff":142,"diff_files_changed":343,"diff_lines":27,"trac_diff_url":27,"vulnerabilities":344,"is_current":279},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Foli-media-cleaner\u002Ftags\u002F1.5.0\u002F",[],[]]