[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fQeSzz2C898iLuOFGbTBw--E1quQyd1u0-keNjEzlU7U":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":39,"analysis":146,"fingerprints":865},"simba-plugin-updates-manager","Simba Plugin Updates Manager","1.12.0","David Anderson \u002F Team Updraft","https:\u002F\u002Fprofiles.wordpress.org\u002Fdavidanderson\u002F","\u003Cp>This plugin enables you to host updates for plugins from your own WordPress site.\u003C\u002Fp>\n\u003Cp>i.e. It provides a service for the availability and download of WordPress plugin updates – just like the wordpress.org plugin repository. This can be for free plugins, or licensed plugins – it includes a full licence manager (and a free class for using it is available).\u003C\u002Fp>\n\u003Cp>This is the plugin updates server that has been providing millions of plugin updates to the users of the paid versions of \u003Ca href=\"https:\u002F\u002Fupdraftplus.com\" rel=\"nofollow ugc\">the UpdraftPlus backup\u002Frestore\u002Fclone WordPress plugin\u003C\u002Fa> since 2013 (and various other \u003Ca href=\"https:\u002F\u002Fteamupdraft.com\" rel=\"nofollow ugc\">Team Updraft\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fwww.simbahosting.co.uk\u002Fs3\u002Fshop\u002F\" rel=\"nofollow ugc\">Simba Hosting plugins\u003C\u002Fa>).\u003C\u002Fp>\n\u003Cp>A paid connector for WooCommerce is also available, allowing WordPress to automatically assign and renew licences when purchases are made; plus other features for coupons and renewal emails (including pre-filled carts); \u003Ca href=\"https:\u002F\u002Fwww.simbahosting.co.uk\u002Fs3\u002Fproduct\u002Fplugin-updates-licensing-and-renewals-manager-woocommerce-connector\u002F\" rel=\"nofollow ugc\">follow this link for more information.\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>The best way to get a feel for its features is to take a look at the available screenshots.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>Manage multiple plugins, both free and paid\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Manage user licences – create, renew and delete licence entitlements for non-free plugins\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Send renewal reminder emails for licensed plugins\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Have multiple different zips (i.e. different plugin versions) available for your plugins\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Have sophisticated rules for which zip a particular user gets delivered (e.g. send them an older version if they are on an old version of WordPress or PHP)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Counts plugin downloads, by version – calculate how many active users you have\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Shortcode provided for showing users on your website what plugins are available\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Shortcode provided for showing plugin changelogs (automatically read from the plugin zip)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Data is included in WordPress’s privacy tools’ output (export \u002F delete)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Import a new zip via WP-CLI: wp plugins-manager import-zip –file=”\u002Fpath\u002Fto\u002Ffile.zip” –user=”your-WP-user” –add-rule\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Update plugins’ supported WordPress versions via WP-CLI:\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>wp plugins-manager update-versions –user=”WordPress-username-or-email-or-id” –slug=”plugin-slug” –tested-version=”version-number(x.y.z)”\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Or\u003C\u002Fp>\n\u003Cul>\n\u003Cli>wp plugins-manager update_versions –user=”WordPress-username-or-email-or-id” –current-wp-version=”version-number(x.y.z)” –tested-version=”version-number(x.y.z)”\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Running an updates and an licensing server are two important parts of providing plugin updates to your users. You will also need to add code in your plugin to point towards that updates server. A popular class used for this purpose with free plugins, that requires you to do nothing more than include it and tell it the updates URL, is available here: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FYahnisElsts\u002Fplugin-update-checker\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002FYahnisElsts\u002Fplugin-update-checker\u003C\u002Fa> . For licenced plugins, a compatible class is available here: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FDavidAnderson684\u002Fsimba-plugin-manager-updater\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002FDavidAnderson684\u002Fsimba-plugin-manager-updater\u003C\u002Fa> .\u003C\u002Fp>\n\u003Ch4>Other information\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>Privacy: The plugin does not contact any remote services. It also integrates with WordPress’s privacy tools (4.9.6+) for export\u002Fdeletion, and removes user data when users are deleted.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Some other plugins you may be interested in: \u003Ca href=\"https:\u002F\u002Fwww.simbahosting.co.uk\u002Fs3\u002Fshop\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.simbahosting.co.uk\u002Fs3\u002Fshop\u002F\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fupdraftplus.com\" rel=\"nofollow ugc\">https:\u002F\u002Fupdraftplus.com\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fgetwpo.com\" rel=\"nofollow ugc\">https:\u002F\u002Fgetwpo.com\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>This plugin is ready for translations, and we would welcome new translations (please use \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fsimba-plugin-updates-manager\" rel=\"nofollow ugc\">the wordpress.org translation system\u003C\u002Fa>).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>The MIT License (MIT)\u003C\u002Fp>\n\u003Cp>Copyright © 2015- David Anderson, https:\u002F\u002Fwww.simbahosting.co.uk\u003C\u002Fp>\n\u003Cp>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and\u002For sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\u003C\u002Fp>\n\u003Cp>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\u003C\u002Fp>\n\u003Cp>THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\u003C\u002Fp>\n","Provides a facility for distributing updates and handling licences and renewal reminders for your own WordPress plugins",40,21856,100,5,"2025-11-12T16:20:00.000Z","6.9.4","5.5","7.4",[20,21,22,23,24],"licences","plugin-updates","updates-server","wordpress-plugin-updates","wordpress-updates","https:\u002F\u002Fwww.simbahosting.co.uk\u002Fs3\u002Fshop\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimba-plugin-updates-manager.1.12.0.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":35,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"davidanderson",16,6440540,98,1197,78,"2026-04-04T14:39:57.642Z",[40,63,82,104,125],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":50,"num_ratings":51,"last_updated":52,"tested_up_to":16,"requires_at_least":53,"requires_php":54,"tags":55,"homepage":59,"download_link":60,"security_score":13,"vuln_count":61,"unpatched_count":27,"last_vuln_date":62,"fetched_at":29},"updater","Updater by BestWebSoft","1.48","bestwebsoft","https:\u002F\u002Fprofiles.wordpress.org\u002Fbestwebsoft\u002F","\u003Cp>Updater by BestWebSoft is a reliable WordPress plugin that automatically updates your website’s core, plugins, themes, and translation files to the latest versions.\u003C\u002Fp>\n\u003Cp>Choose between automatic and manual update modes. Set custom update schedules, exclude specific plugins or themes from updating, and receive detailed email notifications about available updates and results — all without needing FTP access.\u003C\u002Fp>\n\u003Cp>With built-in backup options and compatibility with products from Envato, Updater helps you keep your WordPress site secure, up-to-date, and running smoothly.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fdemo-updater-for-your-wordpress-site\u002F?ref=readme\" rel=\"nofollow ugc\">View Demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FI63426HTJjI?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>\u003C\u002Fp>\n\u003Ch4>Free Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Select update mode:\n\u003Cul>\n\u003Cli>Manual\u003C\u002Fli>\n\u003Cli>Auto\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Search updates and update:\n\u003Cul>\n\u003Cli>WordPress\u003C\u002Fli>\n\u003Cli>Plugins\u003C\u002Fli>\n\u003Cli>Themes\u003C\u002Fli>\n\u003Cli>Translations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Set the update search and update frequency\u003C\u002Fli>\n\u003Cli>Get email notification\n\u003Cul>\n\u003Cli>About new versions\u003C\u002Fli>\n\u003Cli>After updating\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Set the recipient email address\u003C\u002Fli>\n\u003Cli>Customize “FROM” field\u003C\u002Fli>\n\u003Cli>Compatible with latest WordPress version\u003C\u002Fli>\n\u003Cli>Incredibly simple settings for fast setup without modifying code\u003C\u002Fli>\n\u003Cli>Detailed step-by-step documentation and videos\u003C\u002Fli>\n\u003Cli>Multilingual and RTL ready\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Pro Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>All features from Free version included plus:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Exclude certain plugins, themes from automatic updates\u003C\u002Fli>\n\u003Cli>Exclude inactive plugins and themes from automatic updates\u003C\u002Fli>\n\u003Cli>Compatible with \u003Ca href=\"https:\u002F\u002Fenvato.com\u002F\" rel=\"nofollow ugc\">Envato\u003C\u002Fa> (update products purchased on Envato)\u003C\u002Fli>\n\u003Cli>Create database and files backup before updating\u003C\u002Fli>\n\u003Cli>Backup all:\n\u003Cul>\n\u003Cli>Folders\u003C\u002Fli>\n\u003Cli>Tables\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Delete old backups automatically\u003C\u002Fli>\n\u003Cli>Disable WordPress core auto update\u003C\u002Fli>\n\u003Cli>Get answer to your question within one business day (\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fsupport-policy\u002F\" rel=\"nofollow ugc\">Support Policy\u003C\u002Fa>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fupdater\u002F?k=49e226d45dc4d3465a079fa62317eab2\" rel=\"nofollow ugc\">Upgrade to Pro Now\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>If you have a feature suggestion or idea you’d like to see in the plugin, we’d love to hear about it! \u003Ca href=\"https:\u002F\u002Fsupport.bestwebsoft.com\u002Fhc\u002Fen-us\u002Frequests\u002Fnew\" rel=\"nofollow ugc\">Suggest a Feature\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Documentation & Videos\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1UHXGDpOJ2dZrJpPGHmH_i4U3ph50M1L2WuKC583RmTY\u002F\" rel=\"nofollow ugc\">[Doc] User Guide\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1-hvn6WRvWnOqj5v5pLUk7Awyu87lq5B_dO-Tv-MC9JQ\u002F\" rel=\"nofollow ugc\">[Doc] Installation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1EUdBVvnm7IHZ6y0DNyldZypUQKpB8UVPToSc_LdOYQI\u002F\" rel=\"nofollow ugc\">[Doc] Purchase\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=CmHctvGHWMs\" rel=\"nofollow ugc\">[Video] Installation Instruction\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Help & Support\u003C\u002Fh4>\n\u003Cp>Visit our Help Center if you have any questions, our friendly Support Team is happy to help – \u003Ca href=\"https:\u002F\u002Fsupport.bestwebsoft.com\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fsupport.bestwebsoft.com\u002F\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Translation\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Russian (ru_RU)\u003C\u002Fli>\n\u003Cli>Ukrainian (uk)\u003C\u002Fli>\n\u003Cli>French (fr_FR)\u003C\u002Fli>\n\u003Cli>Italian (it_IT)\u003C\u002Fli>\n\u003Cli>Arabic (ar)\u003C\u002Fli>\n\u003Cli>German (de_DE)\u003C\u002Fli>\n\u003Cli>Spanish (es_SP)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Some of these translations are not complete. We are constantly adding new features which should be translated. If you would like to create your own language pack or update the existing one, you can send \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FTranslating_WordPress\" rel=\"nofollow ugc\">the text of PO and MO files\u003C\u002Fa> to \u003Ca href=\"https:\u002F\u002Fsupport.bestwebsoft.com\u002Fhc\u002Fen-us\u002Frequests\u002Fnew\" rel=\"nofollow ugc\">BestWebSoft\u003C\u002Fa> and we’ll add it to the plugin. You can download the latest version of the program for work with PO and MO \u003Ca href=\"http:\u002F\u002Fwww.poedit.net\u002Fdownload.php\" rel=\"nofollow ugc\">files Poedit\u003C\u002Fa>.\u003C\u002Fp>\n","Automatically update WordPress core, plugins, themes, and translations. Schedule updates and get email notifications – no FTP needed.",2000,197201,94,52,"2025-12-03T11:45:00.000Z","5.6","",[56,57,58,41,23],"auto-update-wordpress-plugins","update-wordpress-core","update-wordpress-plugins","https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fupdater\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fupdater.1.48.zip",1,"2017-04-12 00:00:00",{"slug":64,"name":65,"version":66,"author":67,"author_profile":68,"description":69,"short_description":70,"active_installs":71,"downloaded":72,"rating":13,"num_ratings":61,"last_updated":73,"tested_up_to":74,"requires_at_least":75,"requires_php":76,"tags":77,"homepage":80,"download_link":81,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"updatepulse-server","UpdatePulse Server","1.0.10","Alexandre Froger","https:\u002F\u002Fprofiles.wordpress.org\u002Ffrogerme\u002F","\u003Cp>UpdatePulse Server allows developers to provide updates for software packages, including WordPress plugins and themes.\u003C\u002Fp>\n\u003Cp>Some example use cases:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>provide updates for premium plugins or themes, with a license key\u003C\u002Fli>\n\u003Cli>provide custom theme or plugin updates to clients of a webdesign agency and not intended for the general public\u003C\u002Fli>\n\u003Cli>provide updates for a desktop software that integrates with UpdatePulse Server’s update and license API\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Packages may be either uploaded directly, or downloaded automatically from configured Version Control Systems, public or private.\u003Cbr \u002F>\nPackage updates may require a license ; both packages and licenses can be managed through an API or a user interface within UpdatePulse Server.\u003C\u002Fp>\n\u003Ch3>Important notes\u003C\u002Fh3>\n\u003Cp>The target audience of this plugin is developers, not end-users.\u003C\u002Fp>\n\u003Cp>Zip PHP extension is required.\u003C\u002Fp>\n\u003Cp>For more information, available APIs, functions, actions and filters, see \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fanyape\u002Fupdatepulse-server\u002Fblob\u002Fmain\u002FREADME.md\" rel=\"nofollow ugc\">the plugin’s full documentation\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Make sure to read the full documentation and the content of the “Help” tab under “UpdatePulse Server” settings before opening an issue or contacting the author.\u003C\u002Fp>\n\u003Ch3>Overview\u003C\u002Fh3>\n\u003Cp>This plugin adds the following major features to WordPress:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Package management:\u003C\u002Fstrong> to manage update packages, showing a listing with Package Name, Version, Type, File Name, Size, File Modified and License Status; includes bulk operations to delete and download, and the ability to delete all the packages.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Add Packages:\u003C\u002Fstrong> Upload update packages from a local machine to the server, or download them to the server from a Version Control System.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Version Control Systems:\u003C\u002Fstrong> Instead of manually uploading packages, use Version Control Systems to host packages, and download them to UpdatePulse Server automatically. Supports Bitbucket, Github and Gitlab, as well as self-hosted installations of Gitlab.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Cloud Storage\u003C\u002Fstrong>: Instead of storing packages on the file system where UpdatePulse Server is installed, they can be stored on a cloud storage service, as long as it is compatible with Amazon S3’s API. Examples: Amazon S3, Cloudflare R2, Backblaze B2, MinIO, and many more!\u003C\u002Fli>\n\u003Cli>\u003Cstrong>UpdatePulse Server does not\u003C\u002Fstrong> install executable code from the Version Control System onto your installation of WordPress, and \u003Cstrong>does not\u003C\u002Fstrong> track your activity. It is designed to only store packages and licenses, and to provide updates when they are requested.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Licenses:\u003C\u002Fstrong> manage licenses with License Key, Registered Email, Status, Package Type, Package Slug, Creation Date, and Expiration Date; add and edit them with a form, or use the API for more control. Licenses prevent packages from being updated without a valid license. Licenses Keys are generated automatically by default and the values are unguessable (it is recommended to keep the default). When checking the validity of licenses, an extra license signature is also checked to prevent the use of a license on more than the configured allowed domains.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>API:\u003C\u002Fstrong> UpdatePulse Server provides APIs to manage packages and licenses. The APIs keys are secured with a system of tokens: the API keys are never shared over the network, acquiring a token requires signed payloads, and the tokens have a limited lifetime. For more details about tokens and security, see \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fanyape\u002Fupdatepulse-server\u002Fblob\u002Fmain\u002Fdocs\u002Fmisc.md#nonce-api\" rel=\"nofollow ugc\">the Nonce API documentation\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>To connect their plugins or themes and UpdatePulse Server, developers can find integration examples in the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAnyape\u002Fupdatepulse-server-integration\" rel=\"nofollow ugc\">UpdatePulse Server Integration Examples\u003C\u002Fa> repository – theme and plugin examples rely heavily on the popular \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FYahnisElsts\u002Fplugin-update-checker\" rel=\"nofollow ugc\">Plugin Update Checker\u003C\u002Fa> by \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FYahnisElsts\" rel=\"nofollow ugc\">Yahnis Elsts\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Companion Plugins\u003C\u002Fh3>\n\u003Cp>The following plugins are compatible with UpdatePulse Server and can be used to extend its functionality:\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fstore.anyape.com\u002Fproduct\u002Fupdatepulse-blocks\u002F?wl=1\" rel=\"nofollow ugc\">Updatepulse Blocks\u003C\u002Fa>: a seamless way to display packages from UpdatePulse Server directly within your site using the WordPress Block Editor or shortcodes.\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fstore.anyape.com\u002Fproduct\u002Fupdatepulse-for-woocommerce\u002F?wl=1\" rel=\"nofollow ugc\">UpdatePulse for WooCommerce\u003C\u002Fa>: a WooCommerce connector for UpdatePulse Server, allowing you to sell licensed packages through your WooCommerce store, either on the same WordPress installation or a separate store site.\u003C\u002Fp>\n\u003Cp>Developers are encouraged to build plugins and themes \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fanyape\u002Fupdatepulse-server\u002Fblob\u002Fmain\u002FREADME.md\" rel=\"nofollow ugc\">integrated\u003C\u002Fa> with UpdatePulse Server, leveraging its publicly available functions, actions and filters, or by making use of the provided APIs.\u003C\u002Fp>\n\u003Cp>If you wish to see your plugin added to this list, please \u003Ca href=\"mailto:updatepulse@anyape.com\" rel=\"nofollow ugc\">contact the author\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Troubleshooting\u003C\u002Fh3>\n\u003Cp>Please read the plugin FAQ, there is a lot that may help you there!\u003C\u002Fp>\n\u003Cp>UpdatePulse Server is regularly updated for compatibility, and bug reports are welcome, preferably on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fanyape\u002Fupdatepulse-server\u002F\" rel=\"nofollow ugc\">Github\u003C\u002Fa>. Pull Requests from developers following the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FWordPress\u002FWordPress-Coding-Standards\" rel=\"nofollow ugc\">WordPress Coding Standards\u003C\u002Fa> (\u003Ccode>WordPress-Extra\u003C\u002Fcode> ruleset) are highly appreciated and will be credited upon merge.\u003C\u002Fp>\n\u003Cp>In case the plugin has not been updated for a while, no panic: it simply means the compatibility flag has not been changed, and it very likely remains compatible with the latest version of WordPress. This is because it was designed with long-term compatibility in mind from the ground up.\u003C\u002Fp>\n\u003Cp>Each \u003Cstrong>bug\u003C\u002Fstrong> report will be addressed in a timely manner if properly documented – previously unanswered general inquiries and issues reported on the WordPress forum may take significantly longer to receive a response (if any).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Only issues occurring with WordPress core, WooCommerce, and default WordPress themes (incl. WooCommerce Storefront) will be considered.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Troubleshooting involving 3rd-party plugins or themes will not be addressed on the WordPress support forum.\u003C\u002Fstrong>\u003C\u002Fp>\n","Run your own update server for plugins, themes or any other software: manage packages & licenses, and provide updates to your users.",20,985,"2025-06-07T05:44:00.000Z","6.7.5","6.7","8.0",[78,21,79,24],"license","theme-updates","https:\u002F\u002Fgithub.com\u002Fanyape\u002Fupdatepulse-server\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fupdatepulse-server.1.0.10.zip",{"slug":83,"name":84,"version":85,"author":86,"author_profile":87,"description":88,"short_description":89,"active_installs":90,"downloaded":91,"rating":92,"num_ratings":93,"last_updated":94,"tested_up_to":95,"requires_at_least":53,"requires_php":18,"tags":96,"homepage":102,"download_link":103,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"webcraftic-updates-manager","Disable Updates – Updates Manager, Disable Automatic Updates, Disable All Updates","1.3.0","Themeisle","https:\u002F\u002Fprofiles.wordpress.org\u002Fthemeisle\u002F","\u003Cp>Disable Updates is a lightweight updates manager that gives you full control over how and when updates run on your site. You can disable all updates, turn off automatic updates, or manage updates individually for WordPress core, plugins, and themes.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Ch4>Disable Plugin Updates\u003C\u002Fh4>\n\u003Cp>You can disable plugin updates globally or manage them on a per-plugin basis. This allows you to prevent update notifications for all plugins or selectively disable updates only for specific plugins you want to keep unchanged.\u003C\u002Fp>\n\u003Cp>The plugin also lets you disable automatic plugin updates, giving you full control over which plugins update automatically and which ones require manual approval.\u003C\u002Fp>\n\u003Ch4>Disable Theme Updates\u003C\u002Fh4>\n\u003Cp>You can disable theme updates entirely or control them individually for each theme. This is especially useful if you are using custom themes or child themes where updates could overwrite changes.\u003C\u002Fp>\n\u003Cp>You can also disable automatic theme updates or allow automatic updates only for selected themes, depending on your workflow.\u003C\u002Fp>\n\u003Ch4>Disable WordPress Core Updates\u003C\u002Fh4>\n\u003Cp>Take control of WordPress core updates by disabling them completely or managing how they are applied. You can choose to disable all core updates or fine-tune automatic updates by release type.\u003C\u002Fp>\n\u003Cp>Options include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Disable WordPress core updates entirely\u003C\u002Fli>\n\u003Cli>Disable automatic core updates\u003C\u002Fli>\n\u003Cli>Allow automatic updates for major releases\u003C\u002Fli>\n\u003Cli>Allow automatic updates for minor releases\u003C\u002Fli>\n\u003Cli>Allow automatic development updates\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This gives you full control over how WordPress itself updates on your site.\u003C\u002Fp>\n\u003Ch4>Additional Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Disable translation updates\u003C\u002Fli>\n\u003Cli>Hide update notices for all users except admins\u003C\u002Fli>\n\u003Cli>Get email notifications when updates are available or on successful update\u003C\u002Fli>\n\u003Cli>Disable core update notification emails\u003C\u002Fli>\n\u003Cli>Force automatic updates\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>We’re here to help. Feel free to open a new thread on the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fwebcraftic-updates-manager\u002F\" rel=\"ugc\">Support Forum\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Useful Resources\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>If you like this plugin, you’re sure to love \u003Ca href=\"https:\u002F\u002Fthemeisle.com\u002Fwordpress-plugins\u002F\" rel=\"nofollow ugc\">our other plugins\u003C\u002Fa> as well.\u003C\u002Fli>\n\u003Cli>Our blog is a great place to \u003Ca href=\"https:\u002F\u002Fthemeisle.com\u002Fblog\u002F\" rel=\"nofollow ugc\">learn more about WordPress\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Get the most out of your website with our helpful \u003Ca href=\"https:\u002F\u002Fyoutube.com\u002Fplaylist?list=PLmRasCVwuvpSep2MOsIoE0ncO9JE3FcKP\" rel=\"nofollow ugc\">WordPress YouTube Tutorials\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n","Disable updates and automatic updates for WordPress core, plugins, and themes, with the option to disable plugin or theme updates individually.",9000,68184,90,24,"2026-01-12T15:12:00.000Z","6.8.5",[97,98,99,100,101],"disable-automatic-updates","disable-core-updates","disable-plugin-updates","disable-updates","updates-manager","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwebcraftic-updates-manager\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwebcraftic-updates-manager.1.3.0.zip",{"slug":105,"name":106,"version":107,"author":108,"author_profile":109,"description":110,"short_description":111,"active_installs":112,"downloaded":113,"rating":13,"num_ratings":114,"last_updated":115,"tested_up_to":116,"requires_at_least":117,"requires_php":54,"tags":118,"homepage":54,"download_link":123,"security_score":124,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"hide-updates","Hide Updates","1.1.5","Upperdog","https:\u002F\u002Fprofiles.wordpress.org\u002Fupperdog\u002F","\u003Cp>This plugin hides update notifications for core, plugin, and theme updates in the WordPress admin. It’s useful for developers and agencies who manage updates through Composer or remote management services like ManageWP, and therefore wants to hide update notices for other users.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Hides WordPress core update notices.\u003C\u002Fli>\n\u003Cli>Hides plugin update notices.\u003C\u002Fli>\n\u003Cli>Hides theme update notices.\u003C\u002Fli>\n\u003Cli>Hides updates link in admin menu and admin bar.\u003C\u002Fli>\n\u003Cli>Blocks access to the updates page for users who are not allowed to see updates.\u003C\u002Fli>\n\u003Cli>Enables developers to specify which users can see updates.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Worth noting\u003C\u002Fh3>\n\u003Cp>This plugin is intended for developers and agencies who have good reasons for hiding the updates, for example if they manage updates through Composer or remote management services like ManageWP. This plugin has been tested with ManageWP and ManageWP needs to connect to the site with a user account that is allowed to see updates.\u003C\u002Fp>\n\u003Ch3>Specify allowed users\u003C\u002Fh3>\n\u003Cp>By default, the plugin allows the first registered user (the one who installed the site) to see updates. Developers can use the \u003Ccode>hide_updates_allowed_users\u003C\u002Fcode> filter to specify which users are allowed to see update notifications.\u003C\u002Fp>\n\u003Cp>The following example will allow only users with usernames bill and melinda to see updates:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>function site_hide_updates_allowed_users() {\n    $allowed_users = array( 'charlotte', 'bob' );\n    return $allowed_users;\n}\nadd_filter( 'hide_updates_allowed_users', 'site_hide_updates_allowed_users' );\n\u003C\u002Fcode>\u003C\u002Fpre>\n","This plugin hides update notifications for core, plugin, and theme updates in the WordPress admin for all everyone except specified users.",6000,41934,4,"2024-03-19T11:14:00.000Z","6.5.8","3.0",[119,120,21,121,122],"core-updates","notices","update","updates","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhide-updates.1.1.5.zip",85,{"slug":126,"name":127,"version":128,"author":129,"author_profile":130,"description":131,"short_description":132,"active_installs":133,"downloaded":134,"rating":13,"num_ratings":135,"last_updated":136,"tested_up_to":16,"requires_at_least":17,"requires_php":137,"tags":138,"homepage":144,"download_link":145,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"disable-email-notification-for-auto-updates","Disable Auto Update Emails and Block Updates for Plugins, WP Core, and Themes","1.0.5","ideasToCode","https:\u002F\u002Fprofiles.wordpress.org\u002Fideastocode\u002F","\u003Cp>Key Features:\u003Cbr \u002F>\n– Disable Email Notifications for Auto-Updates\u003Cbr \u002F>\n– Block\u002Fhide Specific Plugin Updates: You can choose plugins to block\u002Fhide (plugin’s list)\u003Cbr \u002F>\n– Block WordPress Core and Theme Updates\u003Cbr \u002F>\n– Remove Update Buttons from Admin Panel (under Dashboard menu)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Check Our Another Plugin\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fimprove-website-security\u002F\" rel=\"ugc\">Improve Website Security\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fimprove-website-security\u002F?preview=1\" rel=\"ugc\">Live Preview It\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fenable-svg-webp-ico-upload\u002F\" rel=\"ugc\">Enable SVG, WebP, and ICO Upload\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fenable-svg-webp-ico-upload\u002F?preview=1\" rel=\"ugc\">Live Preview It\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Disable Email Notifications for Auto-Updates:\u003C\u002Fstrong>\u003Cbr \u002F>\nWith the introduction of WordPress 5.5, the auto-update feature was enabled, and email notifications started being sent for every update made. By simply installing this plugin, you can stop receiving these annoying notifications for every auto-update made to plugins, themes, or even the WordPress core. Please note that this plugin will not affect the auto-update feature of WordPress if it is enabled.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Block Specific Plugin Updates:\u003C\u002Fstrong>\u003Cbr \u002F>\nIn the “Block Plugin Updates” tab, the plugin will list all installed plugins on your website. If there are specific plugins you do not want to update, you can disable updates for those particular plugins.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Block WordPress Core and Theme Updates:\u003C\u002Fstrong>\u003Cbr \u002F>\nYou also have the option to block updates for the WordPress core and themes. However, this is not recommended for security reasons.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Remove Update Buttons from Admin Panel:\u003C\u002Fstrong>\u003Cbr \u002F>\nIf you do not want to see the “Updates” menu under the Dashboard, you can easily hide it from the admin panel menu.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Default Settings:\u003C\u002Fstrong>\u003Cbr \u002F>\nBy default, only the email notification feature is turned on; other settings must be configured manually.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Tutorial video\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F3U4QM7UZ6D8?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>\u003C\u002Fp>\n\u003Cp>If you want to learn more and see how this plugin works – please check our\u003Ca href=\"https:\u002F\u002Fideastocode.com\u002Fplugins\u002Fdisable-automatic-update-email-notification-in-wordpress\u002F\" rel=\"nofollow ugc\"> website – ideastocode.com.\u003C\u002Fa>\u003C\u002Fp>\n","This plugin disables email notifications for auto-updates and blocks updates for specific plugins, hide plugins, WordPress core, and themes.",3000,15949,2,"2025-12-04T21:10:00.000Z","7.0",[139,140,141,142,143],"block-specific-plugin-updates","block-themes-updates","block-wordpress-core-updates","disable-update-notification-emails","hide-updates-from-dashboard","https:\u002F\u002Fideastocode.com\u002Fplugins\u002Fdisable-automatic-update-email-notification-in-wordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisable-email-notification-for-auto-updates.1.0.5.zip",{"attackSurface":147,"codeSignals":284,"taintFlows":569,"riskAssessment":851,"analyzedAt":864},{"hooks":148,"ajaxHandlers":261,"restRoutes":270,"shortcodes":271,"cronEvents":278,"entryPointCount":114,"unprotectedCount":27},[149,154,159,164,168,172,175,180,183,187,190,195,198,201,205,210,213,218,222,225,228,231,232,236,239,241,244,247,250,254,258],{"type":150,"name":151,"callback":151,"file":152,"line":153},"action","admin_footer","classes\\updraftmanager-manage-zips.php",574,{"type":150,"name":155,"callback":156,"file":157,"line":158},"plugins_loaded","load_translations","classes\\updraftmanager.php",14,{"type":150,"name":160,"callback":161,"priority":162,"file":157,"line":163},"init","action_init",99999,15,{"type":150,"name":165,"callback":166,"file":157,"line":167},"updraftmanager_weeklycron","daily_cron",18,{"type":150,"name":169,"callback":170,"file":157,"line":171},"updraftmanager_delete_old_expired_licences","delete_old_expired_licences",21,{"type":150,"name":173,"callback":173,"file":157,"line":174},"delete_user",22,{"type":176,"name":177,"callback":178,"file":157,"line":179},"filter","wp_privacy_personal_data_erasers","register_data_erasers",23,{"type":176,"name":181,"callback":182,"file":157,"line":93},"wp_privacy_personal_data_exporters","plugin_register_exporters",{"type":150,"name":184,"callback":184,"file":185,"line":186},"admin_head","options.php",28,{"type":150,"name":188,"callback":188,"file":185,"line":189},"admin_menu",29,{"type":176,"name":191,"callback":192,"priority":193,"file":185,"line":194},"plugin_action_links","action_links",10,30,{"type":150,"name":196,"callback":196,"file":185,"line":197},"admin_enqueue_scripts",31,{"type":176,"name":199,"callback":199,"file":185,"line":200},"upload_dir",56,{"type":176,"name":202,"callback":203,"priority":193,"file":185,"line":204},"udmanager_add_new_zip_go_engine_options_postunzip","add_new_zip_go_engine_options_postunzip",909,{"type":176,"name":206,"callback":207,"priority":193,"file":208,"line":209},"updraftmanager_plugin_deliverzip_cachefile","deliverzip_cachefile","premium\\class-plugin.php",19,{"type":176,"name":211,"callback":212,"priority":193,"file":208,"line":71},"updraftmanager_plugin_addonbox_shopurl","addonbox_shopurl",{"type":176,"name":214,"callback":215,"file":216,"line":217},"updraftmanager_pluginobjectclass","updraftmanager_premium_setpluginobjectclass","premium\\load.php",7,{"type":176,"name":219,"callback":219,"priority":193,"file":220,"line":221},"user_row_actions","premium\\options.php",11,{"type":176,"name":223,"callback":223,"priority":193,"file":220,"line":224},"updraftmanager_inuseonsites_final",13,{"type":176,"name":226,"callback":227,"priority":193,"file":220,"line":158},"updraftmanager_newplugin_freeplugin","newplugin_freeplugin",{"type":176,"name":229,"callback":230,"priority":193,"file":220,"line":163},"updraftmanager_newplugin_addonsdir","newplugin_addonsdir",{"type":150,"name":196,"callback":196,"file":220,"line":33},{"type":150,"name":233,"callback":234,"file":220,"line":235},"udmanager_ajax_event","ajax_handler2",17,{"type":150,"name":237,"callback":238,"file":220,"line":167},"udmanager_ajax_nonmanager_event","ajax_handler2_nonmanager",{"type":150,"name":188,"callback":240,"priority":221,"file":220,"line":71},"admin_menu_premium",{"type":150,"name":242,"callback":242,"file":243,"line":235},"udmanager_dorenewalreminders","premium\\premium.php",{"type":176,"name":245,"callback":245,"file":243,"line":246},"wp_mail_from",304,{"type":176,"name":248,"callback":248,"file":243,"line":249},"wp_mail_from_name",305,{"type":150,"name":251,"callback":252,"file":243,"line":253},"phpmailer_init","wp_mail_set_return_path",306,{"type":150,"name":255,"callback":256,"file":257,"line":171},"admin_notices","admin_notices_spum_inadequate_php","udmanager.php",{"type":150,"name":255,"callback":259,"file":257,"line":260},"admin_notices_spum_inadequate_wp",32,[262,267],{"action":263,"nopriv":264,"callback":265,"hasNonce":266,"hasCapCheck":266,"file":185,"line":260},"udmanager_ajax",false,"ajax_handler",true,{"action":268,"nopriv":264,"callback":268,"hasNonce":266,"hasCapCheck":266,"file":185,"line":269},"spm_plupload_action",33,[],[272,275],{"tag":273,"callback":274,"file":157,"line":33},"udmanager","udmanager_shortcode",{"tag":276,"callback":277,"file":157,"line":235},"udmanager_changelog","udmanager_changelog_shortcode",[279,280,282],{"hook":165,"callback":165,"file":157,"line":35},{"hook":169,"callback":169,"file":157,"line":281},112,{"hook":242,"callback":242,"file":243,"line":283},104,{"dangerousFunctions":285,"sqlUsage":309,"outputEscaping":325,"fileOperations":194,"externalRequests":27,"nonceChecks":114,"capabilityChecks":235,"bundledLibraries":568},[286,291,294,297,301,304,307],{"fn":287,"file":288,"line":289,"context":290},"unserialize","classes\\updraftmanager-plugin.php",592,"$si = isset($_GET['si']) ? unserialize(@base64_decode(stripslashes($_GET['si'])), array('allowed_cla",{"fn":287,"file":157,"line":292,"context":293},37,"$result = unserialize($serialized_data);",{"fn":287,"file":157,"line":295,"context":296},39,"$result = unserialize($serialized_data, array('allowed_classes' => $allowed_classes, 'max_depth' => ",{"fn":287,"file":298,"line":299,"context":300},"convert-download-numbers.php",36,"if (false === ($downloads = unserialize($blob->meta_value))) {",{"fn":287,"file":302,"line":260,"context":303},"convert-plugins.php","if (false === ($plugins = unserialize($blob->meta_value))) {",{"fn":287,"file":208,"line":305,"context":306},687,"$meta = unserialize($result->meta);",{"fn":287,"file":208,"line":308,"context":306},777,{"prepared":11,"raw":217,"locations":310},[311,315,318,320,321,323,324],{"file":312,"line":313,"context":314},"classes\\updraftmanager-activation.php",67,"$wpdb->query() with variable interpolation",{"file":288,"line":316,"context":317},1104,"$wpdb->get_row() with variable interpolation",{"file":288,"line":319,"context":317},1108,{"file":298,"line":163,"context":314},{"file":298,"line":235,"context":322},"$wpdb->get_results() with variable interpolation",{"file":302,"line":209,"context":314},{"file":302,"line":171,"context":322},{"escaped":326,"rawEcho":327,"locations":328},73,124,[329,332,334,336,338,340,342,344,346,348,350,352,354,356,358,359,361,363,365,367,369,371,373,375,376,378,379,381,383,385,387,389,391,393,394,395,397,399,400,402,404,405,406,408,410,412,414,416,418,420,421,423,425,427,429,431,433,435,437,439,441,443,445,447,449,451,453,455,457,459,461,463,465,467,469,471,473,475,477,479,481,483,485,487,489,491,493,495,497,499,501,503,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,563,565,567],{"file":152,"line":330,"context":331},370,"raw output",{"file":152,"line":333,"context":331},378,{"file":152,"line":335,"context":331},383,{"file":152,"line":337,"context":331},466,{"file":152,"line":339,"context":331},476,{"file":152,"line":341,"context":331},488,{"file":152,"line":343,"context":331},499,{"file":152,"line":345,"context":331},500,{"file":152,"line":347,"context":331},502,{"file":152,"line":349,"context":331},563,{"file":152,"line":351,"context":331},581,{"file":152,"line":353,"context":331},591,{"file":152,"line":355,"context":331},593,{"file":152,"line":357,"context":331},594,{"file":152,"line":357,"context":331},{"file":152,"line":360,"context":331},595,{"file":152,"line":362,"context":331},596,{"file":152,"line":364,"context":331},597,{"file":152,"line":366,"context":331},598,{"file":152,"line":368,"context":331},599,{"file":152,"line":370,"context":331},600,{"file":152,"line":372,"context":331},601,{"file":152,"line":374,"context":331},604,{"file":152,"line":374,"context":331},{"file":152,"line":377,"context":331},611,{"file":152,"line":377,"context":331},{"file":152,"line":380,"context":331},622,{"file":152,"line":382,"context":331},623,{"file":152,"line":384,"context":331},624,{"file":152,"line":386,"context":331},636,{"file":152,"line":388,"context":331},638,{"file":152,"line":390,"context":331},662,{"file":152,"line":392,"context":331},666,{"file":152,"line":392,"context":331},{"file":152,"line":392,"context":331},{"file":152,"line":396,"context":331},675,{"file":152,"line":398,"context":331},680,{"file":152,"line":398,"context":331},{"file":152,"line":401,"context":331},691,{"file":152,"line":403,"context":331},695,{"file":152,"line":403,"context":331},{"file":152,"line":403,"context":331},{"file":152,"line":407,"context":331},703,{"file":152,"line":409,"context":331},713,{"file":288,"line":411,"context":331},278,{"file":288,"line":413,"context":331},282,{"file":288,"line":415,"context":331},287,{"file":288,"line":417,"context":331},481,{"file":288,"line":419,"context":331},484,{"file":288,"line":372,"context":331},{"file":422,"line":37,"context":331},"classes\\updraftmanager-ziprules-table.php",{"file":424,"line":51,"context":331},"classes\\updraftmanager-zips-table.php",{"file":157,"line":426,"context":331},322,{"file":185,"line":428,"context":331},79,{"file":185,"line":430,"context":331},118,{"file":185,"line":432,"context":331},125,{"file":185,"line":434,"context":331},328,{"file":185,"line":436,"context":331},337,{"file":185,"line":438,"context":331},389,{"file":185,"line":440,"context":331},478,{"file":185,"line":442,"context":331},508,{"file":185,"line":444,"context":331},671,{"file":185,"line":446,"context":331},786,{"file":185,"line":448,"context":331},795,{"file":185,"line":450,"context":331},798,{"file":185,"line":452,"context":331},803,{"file":185,"line":454,"context":331},808,{"file":185,"line":456,"context":331},811,{"file":185,"line":458,"context":331},815,{"file":185,"line":460,"context":331},817,{"file":185,"line":462,"context":331},828,{"file":185,"line":464,"context":331},834,{"file":185,"line":466,"context":331},837,{"file":185,"line":468,"context":331},843,{"file":185,"line":470,"context":331},862,{"file":185,"line":472,"context":331},864,{"file":185,"line":474,"context":331},875,{"file":220,"line":476,"context":331},38,{"file":220,"line":478,"context":331},106,{"file":220,"line":480,"context":331},110,{"file":220,"line":482,"context":331},115,{"file":220,"line":484,"context":331},120,{"file":220,"line":486,"context":331},132,{"file":220,"line":488,"context":331},136,{"file":220,"line":490,"context":331},140,{"file":220,"line":492,"context":331},144,{"file":220,"line":494,"context":331},148,{"file":220,"line":496,"context":331},151,{"file":220,"line":498,"context":331},152,{"file":220,"line":500,"context":331},161,{"file":220,"line":502,"context":331},168,{"file":220,"line":504,"context":331},173,{"file":220,"line":506,"context":331},279,{"file":220,"line":508,"context":331},285,{"file":220,"line":510,"context":331},291,{"file":220,"line":512,"context":331},321,{"file":220,"line":514,"context":331},335,{"file":220,"line":516,"context":331},342,{"file":220,"line":518,"context":331},424,{"file":220,"line":520,"context":331},429,{"file":220,"line":522,"context":331},436,{"file":220,"line":524,"context":331},447,{"file":220,"line":526,"context":331},454,{"file":220,"line":528,"context":331},464,{"file":220,"line":530,"context":331},471,{"file":220,"line":532,"context":331},483,{"file":220,"line":534,"context":331},506,{"file":220,"line":536,"context":331},521,{"file":220,"line":538,"context":331},526,{"file":220,"line":540,"context":331},535,{"file":220,"line":542,"context":331},556,{"file":220,"line":544,"context":331},561,{"file":220,"line":546,"context":331},578,{"file":220,"line":548,"context":331},583,{"file":220,"line":550,"context":331},641,{"file":220,"line":552,"context":331},646,{"file":220,"line":554,"context":331},710,{"file":220,"line":556,"context":331},722,{"file":220,"line":558,"context":331},728,{"file":220,"line":560,"context":331},740,{"file":220,"line":562,"context":331},741,{"file":220,"line":564,"context":331},748,{"file":257,"line":566,"context":331},26,{"file":257,"line":476,"context":331},[],[570,592,601,610,618,626,634,656,680,689,710,722,730,760,785,797,810,819,832],{"entryPoint":571,"graph":572,"unsanitizedCount":61,"severity":591},"edit_zip (classes\\updraftmanager-manage-zips.php:81)",{"nodes":573,"edges":588},[574,579,583],{"id":575,"type":576,"label":577,"file":152,"line":578},"n0","source","$_GET",86,{"id":580,"type":581,"label":582,"file":152,"line":578},"n1","transform","→ upload_form()",{"id":584,"type":585,"label":586,"file":152,"line":388,"wp_function":587},"n2","sink","echo() [XSS]","echo",[589,590],{"from":575,"to":580,"sanitized":264},{"from":580,"to":584,"sanitized":264},"medium",{"entryPoint":593,"graph":594,"unsanitizedCount":61,"severity":591},"edit_rule (classes\\updraftmanager-manage-zips.php:462)",{"nodes":595,"edges":599},[596,598],{"id":575,"type":576,"label":597,"file":152,"line":337},"$_GET['oldruleno']",{"id":580,"type":585,"label":586,"file":152,"line":337,"wp_function":587},[600],{"from":575,"to":580,"sanitized":264},{"entryPoint":602,"graph":603,"unsanitizedCount":61,"severity":591},"rule_form (classes\\updraftmanager-manage-zips.php:494)",{"nodes":604,"edges":608},[605,607],{"id":575,"type":576,"label":606,"file":152,"line":343},"$_REQUEST['page']",{"id":580,"type":585,"label":586,"file":152,"line":343,"wp_function":587},[609],{"from":575,"to":580,"sanitized":264},{"entryPoint":611,"graph":612,"unsanitizedCount":61,"severity":591},"upload_form (classes\\updraftmanager-manage-zips.php:617)",{"nodes":613,"edges":616},[614,615],{"id":575,"type":576,"label":606,"file":152,"line":382},{"id":580,"type":585,"label":586,"file":152,"line":382,"wp_function":587},[617],{"from":575,"to":580,"sanitized":264},{"entryPoint":619,"graph":620,"unsanitizedCount":61,"severity":591},"show_zips (classes\\updraftmanager-manage-zips.php:658)",{"nodes":621,"edges":624},[622,623],{"id":575,"type":576,"label":606,"file":152,"line":392},{"id":580,"type":585,"label":586,"file":152,"line":392,"wp_function":587},[625],{"from":575,"to":580,"sanitized":264},{"entryPoint":627,"graph":628,"unsanitizedCount":61,"severity":591},"show_zip_rules (classes\\updraftmanager-manage-zips.php:685)",{"nodes":629,"edges":632},[630,631],{"id":575,"type":576,"label":606,"file":152,"line":403},{"id":580,"type":585,"label":586,"file":152,"line":403,"wp_function":587},[633],{"from":575,"to":580,"sanitized":264},{"entryPoint":635,"graph":636,"unsanitizedCount":655,"severity":591},"\u003Cupdraftmanager-manage-zips> (classes\\updraftmanager-manage-zips.php:0)",{"nodes":637,"edges":650},[638,639,640,642,644,646,648],{"id":575,"type":576,"label":597,"file":152,"line":337},{"id":580,"type":585,"label":586,"file":152,"line":337,"wp_function":587},{"id":584,"type":576,"label":641,"file":152,"line":343},"$_REQUEST['page'] (x4)",{"id":643,"type":585,"label":586,"file":152,"line":343,"wp_function":587},"n3",{"id":645,"type":576,"label":577,"file":152,"line":578},"n4",{"id":647,"type":581,"label":582,"file":152,"line":578},"n5",{"id":649,"type":585,"label":586,"file":152,"line":388,"wp_function":587},"n6",[651,652,653,654],{"from":575,"to":580,"sanitized":264},{"from":584,"to":643,"sanitized":264},{"from":645,"to":647,"sanitized":264},{"from":647,"to":649,"sanitized":264},6,{"entryPoint":657,"graph":658,"unsanitizedCount":114,"severity":591},"pinfo_download (classes\\updraftmanager-plugin.php:294)",{"nodes":659,"edges":675},[660,662,666,669,670,671,673],{"id":575,"type":576,"label":577,"file":288,"line":661},302,{"id":580,"type":585,"label":663,"file":288,"line":664,"wp_function":665},"header() [Header Injection]",324,"header",{"id":584,"type":576,"label":667,"file":288,"line":668},"$_SERVER['SERVER_PROTOCOL'] (x2)",341,{"id":643,"type":585,"label":663,"file":288,"line":668,"wp_function":665},{"id":645,"type":576,"label":577,"file":288,"line":436},{"id":647,"type":581,"label":672,"file":288,"line":436},"→ deliver_zip()",{"id":649,"type":585,"label":663,"file":288,"line":674,"wp_function":665},462,[676,677,678,679],{"from":575,"to":580,"sanitized":264},{"from":584,"to":643,"sanitized":264},{"from":645,"to":647,"sanitized":264},{"from":647,"to":649,"sanitized":264},{"entryPoint":681,"graph":682,"unsanitizedCount":61,"severity":591},"pinfo_updateinfo (classes\\updraftmanager-plugin.php:575)",{"nodes":683,"edges":687},[684,686],{"id":575,"type":576,"label":577,"file":288,"line":685},582,{"id":580,"type":585,"label":586,"file":288,"line":372,"wp_function":587},[688],{"from":575,"to":580,"sanitized":264},{"entryPoint":690,"graph":691,"unsanitizedCount":61,"severity":591},"\u003Cupdraftmanager-plugin> (classes\\updraftmanager-plugin.php:0)",{"nodes":692,"edges":704},[693,694,695,696,697,698,699,700,702],{"id":575,"type":576,"label":577,"file":288,"line":661},{"id":580,"type":585,"label":663,"file":288,"line":664,"wp_function":665},{"id":584,"type":576,"label":667,"file":288,"line":668},{"id":643,"type":585,"label":663,"file":288,"line":668,"wp_function":665},{"id":645,"type":576,"label":577,"file":288,"line":685},{"id":647,"type":585,"label":586,"file":288,"line":372,"wp_function":587},{"id":649,"type":576,"label":577,"file":288,"line":436},{"id":701,"type":581,"label":672,"file":288,"line":436},"n7",{"id":703,"type":585,"label":663,"file":288,"line":674,"wp_function":665},"n8",[705,706,707,708,709],{"from":575,"to":580,"sanitized":266},{"from":584,"to":643,"sanitized":266},{"from":645,"to":647,"sanitized":266},{"from":649,"to":701,"sanitized":264},{"from":701,"to":703,"sanitized":264},{"entryPoint":711,"graph":712,"unsanitizedCount":135,"severity":591},"options_printpage (options.php:505)",{"nodes":713,"edges":719},[714,716,718],{"id":575,"type":576,"label":715,"file":185,"line":364},"$_POST (x2)",{"id":580,"type":581,"label":717,"file":185,"line":364},"→ add_edit_form()",{"id":584,"type":585,"label":586,"file":185,"line":466,"wp_function":587},[720,721],{"from":575,"to":580,"sanitized":264},{"from":580,"to":584,"sanitized":264},{"entryPoint":723,"graph":724,"unsanitizedCount":61,"severity":591},"show_plugins (options.php:860)",{"nodes":725,"edges":728},[726,727],{"id":575,"type":576,"label":606,"file":185,"line":472},{"id":580,"type":585,"label":586,"file":185,"line":472,"wp_function":587},[729],{"from":575,"to":580,"sanitized":264},{"entryPoint":731,"graph":732,"unsanitizedCount":135,"severity":591},"\u003Coptions> (options.php:0)",{"nodes":733,"edges":753},[734,736,739,741,742,745,746,747,748,749,751],{"id":575,"type":576,"label":715,"file":185,"line":735},84,{"id":580,"type":585,"label":737,"file":185,"line":35,"wp_function":738},"fopen() [File Access]","fopen",{"id":584,"type":576,"label":740,"file":185,"line":326},"$_FILES",{"id":643,"type":585,"label":586,"file":185,"line":432,"wp_function":587},{"id":645,"type":576,"label":743,"file":185,"line":744},"$_GET (x2)",634,{"id":647,"type":585,"label":586,"file":185,"line":458,"wp_function":587},{"id":649,"type":576,"label":606,"file":185,"line":472},{"id":701,"type":585,"label":586,"file":185,"line":472,"wp_function":587},{"id":703,"type":576,"label":715,"file":185,"line":364},{"id":750,"type":581,"label":717,"file":185,"line":364},"n9",{"id":752,"type":585,"label":586,"file":185,"line":466,"wp_function":587},"n10",[754,755,756,757,758,759],{"from":575,"to":580,"sanitized":266},{"from":584,"to":643,"sanitized":266},{"from":645,"to":647,"sanitized":266},{"from":649,"to":701,"sanitized":266},{"from":703,"to":750,"sanitized":264},{"from":750,"to":752,"sanitized":264},{"entryPoint":761,"graph":762,"unsanitizedCount":61,"severity":591},"\u003Cclass-plugin> (premium\\class-plugin.php:0)",{"nodes":763,"edges":780},[764,766,769,770,774,776,778],{"id":575,"type":576,"label":765,"file":208,"line":283},"$_POST",{"id":580,"type":585,"label":767,"file":208,"line":374,"wp_function":768},"query() [SQLi]","query",{"id":584,"type":576,"label":765,"file":208,"line":283},{"id":643,"type":585,"label":771,"file":208,"line":772,"wp_function":773},"get_results() [SQLi]",639,"get_results",{"id":645,"type":576,"label":765,"file":208,"line":775},319,{"id":647,"type":581,"label":777,"file":208,"line":775},"→ get_addon_info()",{"id":649,"type":585,"label":737,"file":288,"line":779,"wp_function":738},223,[781,782,783,784],{"from":575,"to":580,"sanitized":266},{"from":584,"to":643,"sanitized":266},{"from":645,"to":647,"sanitized":264},{"from":647,"to":649,"sanitized":264},{"entryPoint":786,"graph":787,"unsanitizedCount":27,"severity":796},"spm_plupload_action (options.php:43)",{"nodes":788,"edges":793},[789,790,791,792],{"id":575,"type":576,"label":715,"file":185,"line":735},{"id":580,"type":585,"label":737,"file":185,"line":35,"wp_function":738},{"id":584,"type":576,"label":740,"file":185,"line":326},{"id":643,"type":585,"label":586,"file":185,"line":432,"wp_function":587},[794,795],{"from":575,"to":580,"sanitized":266},{"from":584,"to":643,"sanitized":266},"low",{"entryPoint":798,"graph":799,"unsanitizedCount":27,"severity":796},"ajax_handler2 (premium\\options.php:413)",{"nodes":800,"edges":807},[801,803,804,805],{"id":575,"type":576,"label":715,"file":220,"line":802},445,{"id":580,"type":585,"label":586,"file":220,"line":526,"wp_function":587},{"id":584,"type":576,"label":743,"file":220,"line":364},{"id":643,"type":585,"label":663,"file":220,"line":806,"wp_function":665},606,[808,809],{"from":575,"to":580,"sanitized":266},{"from":584,"to":643,"sanitized":266},{"entryPoint":811,"graph":812,"unsanitizedCount":27,"severity":796},"manage_user_page (premium\\options.php:703)",{"nodes":813,"edges":817},[814,816],{"id":575,"type":576,"label":577,"file":220,"line":815},706,{"id":580,"type":585,"label":586,"file":220,"line":564,"wp_function":587},[818],{"from":575,"to":580,"sanitized":266},{"entryPoint":820,"graph":821,"unsanitizedCount":61,"severity":831},"ajax_handler2_nonmanager (premium\\options.php:239)",{"nodes":822,"edges":828},[823,825,827],{"id":575,"type":576,"label":765,"file":220,"line":824},311,{"id":580,"type":581,"label":826,"file":220,"line":824},"→ db_get_last_checkins()",{"id":584,"type":585,"label":771,"file":208,"line":772,"wp_function":773},[829,830],{"from":575,"to":580,"sanitized":264},{"from":580,"to":584,"sanitized":264},"high",{"entryPoint":833,"graph":834,"unsanitizedCount":61,"severity":831},"\u003Coptions> (premium\\options.php:0)",{"nodes":835,"edges":845},[836,837,838,839,840,841,842,843,844],{"id":575,"type":576,"label":715,"file":220,"line":802},{"id":580,"type":585,"label":586,"file":220,"line":526,"wp_function":587},{"id":584,"type":576,"label":743,"file":220,"line":364},{"id":643,"type":585,"label":663,"file":220,"line":806,"wp_function":665},{"id":645,"type":576,"label":577,"file":220,"line":815},{"id":647,"type":585,"label":586,"file":220,"line":564,"wp_function":587},{"id":649,"type":576,"label":765,"file":220,"line":824},{"id":701,"type":581,"label":826,"file":220,"line":824},{"id":703,"type":585,"label":771,"file":208,"line":772,"wp_function":773},[846,847,848,849,850],{"from":575,"to":580,"sanitized":266},{"from":584,"to":643,"sanitized":266},{"from":645,"to":647,"sanitized":266},{"from":649,"to":701,"sanitized":264},{"from":701,"to":703,"sanitized":264},{"summary":852,"deductions":853},"The \"simba-plugin-updates-manager\" v1.12.0 plugin exhibits a generally good security posture with a well-defined attack surface where all identified entry points have authentication checks. The plugin also utilizes prepared statements for the vast majority of its SQL queries and implements capability checks extensively. The absence of any known historical vulnerabilities further strengthens this positive outlook.\n\nHowever, several concerns warrant attention. The presence of the dangerous `unserialize` function is a significant risk, as it can lead to Remote Code Execution if an attacker can control the serialized data passed to it. Compounding this is the high number of unsanitized paths identified in the taint analysis, with two flows marked as high severity. While the plugin has a low percentage of properly escaped outputs (37%), this alone does not directly translate to exploitable vulnerabilities without specific data flows or attack vectors identified, but it indicates a potential for Cross-Site Scripting (XSS).\n\nIn conclusion, while the plugin demonstrates strengths in its controlled entry points and SQL practices, the use of `unserialize` and the identified high-severity unsanitized paths present notable risks. The lack of historical vulnerabilities is a positive sign, but it does not negate the potential dangers highlighted by the static analysis.",[854,856,859,861],{"reason":855,"points":163},"Dangerous function unserialize detected",{"reason":857,"points":858},"High severity taint flows detected",12,{"reason":860,"points":14},"Low percentage of properly escaped outputs",{"reason":862,"points":863},"Unsanitized paths in taint analysis",8,"2026-03-16T22:19:01.354Z",{"wat":866,"direct":877},{"assetPaths":867,"generatorPatterns":871,"scriptPaths":872,"versionParams":873},[868,869,870],"\u002Fwp-content\u002Fplugins\u002Fsimba-plugin-updates-manager\u002Fassets\u002Fcss\u002Fadmin-styles.css","\u002Fwp-content\u002Fplugins\u002Fsimba-plugin-updates-manager\u002Fassets\u002Fjs\u002Fmain.js","\u002Fwp-content\u002Fplugins\u002Fsimba-plugin-updates-manager\u002Fassets\u002Fjs\u002Fspm-settings-page.js",[],[869,870],[874,875,876],"simba-plugin-updates-manager\u002Fassets\u002Fcss\u002Fadmin-styles.css?ver=","simba-plugin-updates-manager\u002Fassets\u002Fjs\u002Fmain.js?ver=","simba-plugin-updates-manager\u002Fassets\u002Fjs\u002Fspm-settings-page.js?ver=",{"cssClasses":878,"htmlComments":882,"htmlAttributes":892,"restEndpoints":894,"jsGlobals":895,"shortcodeOutput":897},[879,880,881],"spum-inadequate-php","spum-inadequate-wp","spm-plupload-upload-ui",[883,884,885,886,887,888,889,890,891],"\u003C!-- TODO:","\u003C!-- Some of these tasks are obsolete or complete - needs pruning -->","\u003C!-- Test - re-check for any possible leaks -->","\u003C!-- Not sure if WP_List_Table sanitises HTML for us. -->","\u003C!-- Downloads tracking - show the results -->","\u003C!-- Need to re-write a user entitlement -->","\u003C!-- Need to show the download URL for the zip in the shortcode code - optionally (so, must also activate the options page) -->","\u003C!-- With free plugins, usernames are ignored - should note this somewhere in the zip rules stuff (+ prevent use of that field) -->","\u003C!-- Need to explicitly globalise the variable or WP-CLI won't recognise it https:\u002F\u002Fgithub.com\u002Fwp-cli\u002Fwp-cli\u002Fissues\u002F4019#issuecomment-297410839 -->",[893],"spm-zip-uploader",[],[896],"spm_plupload_config",[]]