[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fEOgoXuEIxY80CDN1ZKiHP0pD-A4iLVwfHlFGxqbBluo":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":39,"analysis":136,"fingerprints":222},"lh-browser-shots","LH Browser Shots","2.00","shawfactor","https:\u002F\u002Fprofiles.wordpress.org\u002Fshawfactor\u002F","\u003Cp>This plugin allow you to grab a screenshot of a remote url and save into your own word press media library.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Uses the wordpress.com ‘mshots’ functionality to automatically take screenshots of websites..\u003C\u002Fli>\n\u003Cli>Automatically adds the screenshot to the WordPress media library\u003C\u002Fli>\n\u003Cli>Redirects you to the edit screen once the screenshot is in the media library.\u003C\u002Fli>\n\u003Cli>Once the bookmarklet is installed you don’t even need to copy and paste a url (just navigate to the site you wish to screenshot and select the bookmark).\u003C\u002Fli>\n\u003C\u002Ful>\n","Add screenshots of remote wesbites directly to the wordpress media library, either enter the site url in an onsite input box or click a bookmarklet.",10,2254,20,1,"2022-08-01T15:28:00.000Z","6.0.11","4.0","",[20,21,22,23,24],"attachment","bookmarklet","download","media","post","https:\u002F\u002Flhero.org\u002Fportfolio\u002Flh-browser-shots\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flh-browser-shots.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":35,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},77,14650,87,7,91,"2026-04-03T23:06:36.956Z",[40,58,73,93,112],{"slug":41,"name":42,"version":43,"author":7,"author_profile":8,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":48,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":18,"tags":53,"homepage":54,"download_link":55,"security_score":37,"vuln_count":56,"unpatched_count":28,"last_vuln_date":57,"fetched_at":30},"lh-add-media-from-url","LH Add Media From Url","1.30","\u003Cp>This plugin allow you to grab image from remote url and save into your own word press media library. By doing so, you never worried if the remote image was removed by its owner. This also save you steps to download the image to local computer and upload again to your own WordPress. There is also a JavaScript bookmarklet that helps to automate the process if you are surfing the internet and find something you would like to add to the library\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Automatically downloads and adds the file to the media library.\u003C\u002Fli>\n\u003Cli>After the uploading is successful, you are redirected to the edit screen\u003C\u002Fli>\n\u003Cli>Once the bookmarklet is installed you don’t even need to copy and paste a url (just navigate to the url and select the bookmark).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Like this plugin? Please consider \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fview\u002Fplugin-reviews\u002Flh-add-media-from-url\u002F\" rel=\"ugc\">leaving a 5-star review\u003C\u002Fa>.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Love this plugin or want to help the LocalHero Project? Please consider \u003Ca href=\"https:\u002F\u002Flhero.org\u002Fportfolio\u002Flh-add-media-from-url\u002F\" rel=\"nofollow ugc\">making a donation\u003C\u002Fa>.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>Translation credits\u003C\u002Fh3>\n","Upload files from an url to wordpress media library, either enter file urls in an onsite input box or click a bookmarklet.",2000,37732,84,9,"2024-08-20T14:07:00.000Z","6.6.5","5.0",[20,21,22,23,24],"https:\u002F\u002Flhero.org\u002Fportfolio\u002Flh-add-media-from-url\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flh-add-media-from-url.zip",2,"2024-08-20 17:25:05",{"slug":59,"name":60,"version":61,"author":62,"author_profile":63,"description":64,"short_description":65,"active_installs":13,"downloaded":66,"rating":13,"num_ratings":14,"last_updated":67,"tested_up_to":68,"requires_at_least":69,"requires_php":18,"tags":70,"homepage":71,"download_link":72,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"add-media-from-url","Add Media from URL","1.0.2","LordPretender","https:\u002F\u002Fprofiles.wordpress.org\u002Flordpretender\u002F","\u003Cp>This plugin allow you to add files into your media library without having to upload them. So, you will be able to share, for example, your files into your Google Drive.\u003Cbr \u002F>\nThis also save you steps to download the image to local computer and upload again to your own WordPress.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Automatically downloads and adds the file to the media library.\u003C\u002Fli>\n\u003Cli>After the uploading is successful, you are redirected to the edit screen\u003C\u002Fli>\n\u003Cli>A new dropdown list is available in the media library to let you display only uploaded files, not uploaded files, …\u003C\u002Fli>\n\u003C\u002Ful>\n","Let you add media files into your media library without having to upload them.",2460,"2017-01-01T22:09:00.000Z","4.7.32","3.0",[20,21,22,23,24],"https:\u002F\u002Fwww.duy-pham.fr\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadd-media-from-url.zip",{"slug":74,"name":75,"version":76,"author":77,"author_profile":78,"description":79,"short_description":80,"active_installs":81,"downloaded":82,"rating":83,"num_ratings":84,"last_updated":85,"tested_up_to":86,"requires_at_least":87,"requires_php":88,"tags":89,"homepage":90,"download_link":91,"security_score":48,"vuln_count":56,"unpatched_count":28,"last_vuln_date":92,"fetched_at":30},"dx-delete-attached-media","DX Delete Attached Media","2.0.6","Mario Peshev","https:\u002F\u002Fprofiles.wordpress.org\u002Fnofearinc\u002F","\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\u002Fx51scLO71U0?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\u003Cp>DX Delete Attached Media deletes all of the attached media files to your posts once they get deleted from the system. The standard core behavior deletes posts alone without taking care of related images. Now you can maintain your install and get rid of all solo attachments getting into your posts via the Media button and used nowhere else.\u003C\u002Fp>\n\u003Cp>\u003Cem>The plugin works with WooCommerce and Easy Digital Downloads.\u003C\u002Fem>\u003C\u002Fp>\n","Automatically deletes attached media from posts and custom post types added via the Media button.",4000,54695,98,28,"2023-12-19T08:51:00.000Z","6.3.8","4.5","7.4",[20,23,24],"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdx-delete-attached-media\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdx-delete-attached-media.2.0.6.zip","2023-10-16 00:00:00",{"slug":94,"name":95,"version":96,"author":97,"author_profile":98,"description":99,"short_description":100,"active_installs":101,"downloaded":102,"rating":103,"num_ratings":104,"last_updated":105,"tested_up_to":86,"requires_at_least":106,"requires_php":88,"tags":107,"homepage":110,"download_link":111,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"autoremove-attachments","Autoremove Attachments","1.3.1","Polygon Themes","https:\u002F\u002Fprofiles.wordpress.org\u002Fpolygonthemes\u002F","\u003Cp>Autoremove Attachments helps you keep the Media Library clean by deleting all media files attached as child attachments to a post, page, or custom post type when the parent is deleted.\u003C\u002Fp>\n\u003Cp>By default, when you delete content from your website, regardless if it’s a post, a page, a product, or any kind of post type, WordPress keeps the media files previously associated with it, even if after the removal of your content they are not used anywhere else.\u003C\u002Fp>\n\u003Cp>Autoremove Attachments tries to solve this problem by automating the removal of all media files that have a child-parent relationship with the removed content. (so you don’t have to manually track and remove orphan files left on your server)\u003C\u002Fp>\n\u003Ch3>Important Considerations\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>A soft delete that places your post, page, or custom post type in Trash will not trigger the removal of its child attachments. The purge happens when you empty your trash.\u003C\u002Fli>\n\u003Cli>When you delete a post, page or custom post type, we try to determine if its child attachments are used anywhere else on your website. If they are, we do not remove them, to prevent broken links.\u003C\u002Fli>\n\u003Cli>The additional checks before the automatic removal can be disabled from the Media Settings for improved performance on large websites with thousands of posts and media files.\u003C\u002Fli>\n\u003Cli>The plugin only removes files tracked by WordPress. Some poorly coded themes generate additional thumbnail sizes that are not tracked by WordPress and this always leads to orphan files left on your server.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Compatibility and Third-Party Support\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoocommerce\" rel=\"ugc\">WooCommerce\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Feasy-digital-downloads\" rel=\"ugc\">Easy Digital Downloads\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>All themes and plugins that do things the WordPress way\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If you use a plugin to optimize and clean your database of revisions, trashed posts, etc, make sure you use one that relies on native WordPress functions to perform the maintenance tasks. We recommend \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-sweep\" rel=\"ugc\">WP-Sweep\u003C\u002Fa>.\u003C\u002Fp>\n","Remove child attachments when parent post, page or custom post type is deleted.",3000,34470,100,15,"2023-08-12T00:30:00.000Z","5.8",[20,108,23,109,24],"custom-post-type","page","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fautoremove-attachments","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fautoremove-attachments.zip",{"slug":113,"name":114,"version":115,"author":116,"author_profile":117,"description":118,"short_description":119,"active_installs":46,"downloaded":120,"rating":83,"num_ratings":121,"last_updated":122,"tested_up_to":123,"requires_at_least":124,"requires_php":125,"tags":126,"homepage":132,"download_link":133,"security_score":134,"vuln_count":14,"unpatched_count":14,"last_vuln_date":135,"fetched_at":30},"wow-media-library-fix","Fix Media Library","2.0","wowpress.host","https:\u002F\u002Fprofiles.wordpress.org\u002Fwowpresshost\u002F","\u003Cp>Fix Media Library fixes inconsistency between wp-content\u002Fuploads folder and\u003Cbr \u002F>\ndatabase.\u003Cbr \u002F>\nFixes corrupted Media Library database records.\u003Cbr \u002F>\nDesigned to run smoothly against huge Media Libraries containing hundreds of thousands of images.\u003C\u002Fp>\n\u003Cp>Useful when:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Really old database is used and there are a lot of problems with Media Library found\u003C\u002Fli>\n\u003Cli>New thumbnail sizes are registered\u003C\u002Fli>\n\u003Cli>Some thumbnail sizes are not used anymore (theme change, upgrade), but image files are still exists\u003C\u002Fli>\n\u003Cli>There are Media Library entries present pointing to image files that don’t exist anymore\u003C\u002Fli>\n\u003Cli>Some entries in Media Library are not displayed, while image files are present (_wp_attachment_metadata meta field corrupted)\u003C\u002Fli>\n\u003Cli>There are a lot of images in wp-content\u002Fuploads folder that are no longer used\u003C\u002Fli>\n\u003Cli>There are duplicate attachments pointing to the same image file\u003C\u002Fli>\n\u003Cli>Images are used by website, but you can’t find them in Media Library\u003C\u002Fli>\n\u003Cli>You want to update attachments GUID fields containing old\u002Fstaging urls\u003C\u002Fli>\n\u003Cli>Detects major database corruptions affecting media library functionality\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>At \u003Ca href=\"https:\u002F\u002Fwowpress.host\u002F\" rel=\"nofollow ugc\">WowPress.host\u003C\u002Fa> company we regularly migrate very old databases and clean it up to make sure website using it is running smoothly. Those databases have all different kinds of inconsistencies collected during years or even decades of usage, and Media Library is the most common problematic piece of data here.\u003Cbr \u002F>\nThat plugin helps to solve most common problems related to Media Library data.\u003C\u002Fp>\n\u003Cp>We use a lot of open-source tools in our work, and therefore decided publish our own tools so that those can be used by the community too.\u003C\u002Fp>\n\u003Ch4>Need Help? Found A Bug? Want To Contribute Code?\u003C\u002Fh4>\n\u003Cp>Support for this plugin is provided via the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fwow-media-library-fix\" rel=\"ugc\">WordPress.org forums\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>The source code for this plugin is available on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwowpress-host\u002Fwow-media-library-fix\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Paid support at \u003Ca href=\"https:\u002F\u002Fwowpress.host\u002Fprofessional-services\u002F\" rel=\"nofollow ugc\">WowPress.host\u003C\u002Fa>.\u003C\u002Fp>\n","Fix Media Library inconsistency between database and wp-content\u002Fuploads folder contents. Unused image files, broken media library entries, missing att &hellip;",37302,32,"2018-12-18T10:26:00.000Z","5.0.25","4.6","5.3",[127,128,129,130,131],"attachments","media-library","post-thumbnail","thumbnail","thumbnails","https:\u002F\u002Fwowpress.host\u002Fplugins\u002Fwow-","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwow-media-library-fix.2.0.zip",63,"2025-12-12 00:00:00",{"attackSurface":137,"codeSignals":157,"taintFlows":194,"riskAssessment":213,"analyzedAt":221},{"hooks":138,"ajaxHandlers":153,"restRoutes":154,"shortcodes":155,"cronEvents":156,"entryPointCount":28,"unprotectedCount":28},[139,145,149],{"type":140,"name":141,"callback":142,"file":143,"line":144},"action","admin_menu","plugin_menu","lh-browser-shots.php",194,{"type":140,"name":146,"callback":147,"file":143,"line":148},"admin_init","add_browser_shot",195,{"type":140,"name":150,"callback":151,"file":143,"line":152},"plugins_loaded","plugin_init",224,[],[],[],[],{"dangerousFunctions":158,"sqlUsage":159,"outputEscaping":161,"fileOperations":49,"externalRequests":192,"nonceChecks":14,"capabilityChecks":56,"bundledLibraries":193},[],{"prepared":14,"raw":28,"locations":160},[],{"escaped":162,"rawEcho":104,"locations":163},8,[164,168,170,172,173,175,177,179,181,183,185,187,188,189,191],{"file":165,"line":166,"context":167},"partials\\upload.php",11,"raw output",{"file":165,"line":169,"context":167},61,{"file":165,"line":171,"context":167},62,{"file":165,"line":134,"context":167},{"file":165,"line":174,"context":167},64,{"file":165,"line":176,"context":167},65,{"file":165,"line":178,"context":167},66,{"file":165,"line":180,"context":167},69,{"file":165,"line":182,"context":167},75,{"file":165,"line":184,"context":167},76,{"file":165,"line":186,"context":167},79,{"file":165,"line":186,"context":167},{"file":165,"line":186,"context":167},{"file":165,"line":190,"context":167},82,{"file":165,"line":48,"context":167},3,[],[195],{"entryPoint":196,"graph":197,"unsanitizedCount":192,"severity":212},"\u003Cupload> (partials\\upload.php:0)",{"nodes":198,"edges":209},[199,204],{"id":200,"type":201,"label":202,"file":165,"line":203},"n0","source","$_GET (x3)",25,{"id":205,"type":206,"label":207,"file":165,"line":171,"wp_function":208},"n1","sink","echo() [XSS]","echo",[210],{"from":200,"to":205,"sanitized":211},false,"low",{"summary":214,"deductions":215},"The \"lh-browser-shots\" v2.00 plugin demonstrates a generally strong security posture with several positive indicators. The absence of AJAX handlers, REST API routes, shortcodes, and cron events significantly limits its attack surface, and all discovered entry points appear to be protected. The plugin also utilizes prepared statements for its single SQL query and includes nonce and capability checks, which are good security practices.  However, a concerning finding from the static analysis is the presence of a taint flow with an unsanitized path. While no critical or high severity taint flows were found, this indicates a potential weakness where user-supplied data might be improperly handled when interacting with the file system.  The plugin's vulnerability history is clean, with no recorded CVEs, which is a positive sign of good development and maintenance. Despite the lack of historical vulnerabilities, the identified unsanitized path warrants attention and could be a blind spot that might lead to vulnerabilities if not addressed. Overall, the plugin is built on a sound foundation of security practices, but the single taint flow with an unsanitized path represents a notable area for improvement.",[216,218],{"reason":217,"points":11},"Unsanitized path in taint flow",{"reason":219,"points":220},"Low output escaping percentage",5,"2026-03-17T01:43:41.750Z",{"wat":223,"direct":232},{"assetPaths":224,"generatorPatterns":227,"scriptPaths":228,"versionParams":229},[225,226],"\u002Fwp-content\u002Fplugins\u002Flh-browser-shots\u002Fcss\u002Flh-browser-shots-admin.css","\u002Fwp-content\u002Fplugins\u002Flh-browser-shots\u002Fjs\u002Flh-browser-shots-admin.js",[],[226],[230,231],"lh-browser-shots\u002Fcss\u002Flh-browser-shots-admin.css?ver=","lh-browser-shots\u002Fjs\u002Flh-browser-shots-admin.js?ver=",{"cssClasses":233,"htmlComments":236,"htmlAttributes":237,"restEndpoints":239,"jsGlobals":240,"shortcodeOutput":244},[234,235],"lh-browser-shots-wrap","lh-browser-shots-admin-css",[],[238],"data-lh_browser_shots-nonce",[],[241,242,243],"lh_browser_shots_file_url","lh_browser_shots_file_width","lh_browser_shots_file_height",[]]