[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fd89vPZbJ8iyvsos4nKJjicCQHUR5-B8OyD7o3oDtN7o":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":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":37,"analysis":140,"fingerprints":236},"peak-publisher","Peak Publisher","1.2.0","Helmut Wandl","https:\u002F\u002Fprofiles.wordpress.org\u002Fehtmlu\u002F","\u003Cp>Peak Publisher turns your WordPress site into your own plugin update server. It’s built for agencies, product teams, and developers who want to create and ship their own custom plugins and want full control over distribution, versioning, and updates — without relying on third‑party services.\u003C\u002Fp>\n\u003Cp>With a modern, task‑focused admin UI, you can add new plugins and releases via drag & drop, validate packages automatically, and publish or draft releases with one click. Your client plugins point to your Peak Publisher site via a standard \u003Ccode>Update URI\u003C\u002Fcode>, so WordPress will discover and install updates directly from you.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>With this solution, you can have your own self-hosted plugin update server in just 5 minutes, allowing you to centrally manage your plugins and deploy updates with incredible ease.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>KEY FEATURES\u003C\u002Fh3>\n\u003Cp>🚀 \u003Cstrong>Clean admin UI with a guided “Add New Plugin” flow\u003C\u002Fstrong>\u003Cbr \u002F>\nA short and focused user interface guides you through the entire process to deploy your first plugin with amazing ease within minutes.\u003C\u002Fp>\n\u003Cp>☝️ \u003Cstrong>Drag & drop a ZIP or simply the whole plugin folder\u003C\u002Fstrong>\u003Cbr \u002F>\nYou can drop a ZIP file, but the easiest way is to simply drop the entire raw plugin folder or the folder’s contents. The ZIP file will then be created automatically for you.\u003C\u002Fp>\n\u003Cp>✅ \u003Cstrong>Automatic validation: headers, version, Update URI\u003C\u002Fstrong>\u003Cbr \u002F>\nPeak Publisher automatically checks each new release for required headers, proper semantic versioning, consistent update URIs, and more to ensure everything is correct.\u003C\u002Fp>\n\u003Cp>🧽🫧 \u003Cstrong>Auto‑cleanup of workspace artifacts (e.g. .git, node_modules)\u003C\u002Fstrong>\u003Cbr \u002F>\nTo provide clean packages and reduce package size, Peak Publisher automatically removes development files and operating system artifacts from your uploads using patterns that you can configure. (optional)\u003C\u002Fp>\n\u003Cp>🔐 \u003Cstrong>Optional restriction via IP\u002Fdomain whitelist\u003C\u002Fstrong>\u003Cbr \u002F>\nPackages are stored in a private, server-protected directory with no direct web access. By default, access via the API is still possible from anywhere. Using IP or domain whitelisting, you can restrict access to update metadata and downloads.\u003C\u002Fp>\n\u003Ch4>Some More Features\u003C\u002Fh4>\n\u003Cp>📈 \u003Cstrong>Analytics:\u003C\u002Fstrong> You can always see how many active installations there are.\u003Cbr \u002F>\n📄 \u003Cstrong>Readme.txt:\u003C\u002Fstrong> Provide your users with a description, changelog, tested up to and more.\u003C\u002Fp>\n\u003Ch3>HOW IT WORKS\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\u003Cstrong>Install Peak Publisher\u003C\u002Fstrong>\u003Cbr \u002F>\non a dedicated WordPress site (recommended)\u003Cbr \u002F>\nor any site you control.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Follow the “Add New Plugin” flow\u003C\u002Fstrong>\u003Cbr \u002F>\nadd the \u003Cstrong>\u003Ccode>Update URI\u003C\u002Fcode>\u003C\u002Fstrong> header and the bootstrap code to your plugin.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Upload your plugin\u003C\u002Fstrong>\u003Cbr \u002F>\ndrag & drop the zipped plugin or the plugin folder.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Peak Publisher validates your upload\u003C\u002Fstrong>\u003Cbr \u002F>\nand shows you the validation result.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Click “Add new plugin”\u003C\u002Fstrong>\u003Cbr \u002F>\nto finish the process.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Drop your next release with increased version number\u003C\u002Fstrong>\u003Cbr \u002F>\nonce you have one ready.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>WHO IS IT FOR?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Agencies that deliver custom plugins to multiple clients\u003C\u002Fli>\n\u003Cli>Product teams with private\u002Fproprietary extensions\u003C\u002Fli>\n\u003Cli>Creative plugin developers who want to deploy updates quickly and easily\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy\u003C\u002Fh3>\n\u003Cp>Peak Publisher does not collect personal data, does not track usage, and does not use third‑party services. All files are stored on your server in a protected directory.\u003C\u002Fp>\n","Self‑host your plugin repository. Manage releases, serve updates, and streamline your workflow — all inside WordPress.",0,431,100,4,"2026-03-08T20:38:00.000Z","6.9.4","5.8","8.1",[20,21,22,23,24],"plugins","publish","self-hosted","server","updates","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpeak-publisher.1.2.0.zip",null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":34,"avg_patch_time_days":35,"trust_score":34,"computed_at":36},"ehtmlu",5,300,99,7,"2026-04-04T14:43:48.019Z",[38,60,82,100,121],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"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":25,"tags":53,"homepage":57,"download_link":58,"security_score":59,"vuln_count":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":28},"automatic-updater","Advanced Automatic Updates","1.0.2","Gary Pendergast","https:\u002F\u002Fprofiles.wordpress.org\u002Fpento\u002F","\u003Cp>Advanced Automatic Updates adds extra options to WordPress’ built-in Automatic Updates feature. On top of security updates, it also supports installing major releases, plugins, themes, or even regular SVN checkouts!\u003C\u002Fp>\n\u003Cp>If you’re working on a WordPress Multisite install, it will properly restrict the options page to your Network Admin.\u003C\u002Fp>\n\u003Cp>While this will be useful for the vast majority of sites, please exercise caution, particularly if you have any custom themes or plugins running on your site.\u003C\u002Fp>\n","Adds extra options to WordPress' built-in Automatic Updates feature.",30000,255107,94,61,"2021-06-04T00:46:00.000Z","5.0.25","3.7",[54,20,55,56,24],"core","stable","themes","http:\u002F\u002Fpento.net\u002Fprojects\u002Fautomatic-updater-for-wordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fautomatic-updater.1.0.2.zip",85,{"slug":61,"name":62,"version":63,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":68,"downloaded":69,"rating":48,"num_ratings":70,"last_updated":71,"tested_up_to":16,"requires_at_least":72,"requires_php":25,"tags":73,"homepage":78,"download_link":79,"security_score":13,"vuln_count":80,"unpatched_count":11,"last_vuln_date":81,"fetched_at":28},"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,52,"2025-12-03T11:45:00.000Z","5.6",[74,75,76,61,77],"auto-update-wordpress-plugins","update-wordpress-core","update-wordpress-plugins","wordpress-plugin-updates","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":83,"name":84,"version":85,"author":86,"author_profile":87,"description":88,"short_description":89,"active_installs":90,"downloaded":91,"rating":13,"num_ratings":92,"last_updated":93,"tested_up_to":94,"requires_at_least":95,"requires_php":72,"tags":96,"homepage":98,"download_link":99,"security_score":59,"vuln_count":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":28},"wp-disable-updates","WP Disables Updates","1.1.3","vinvin27","https:\u002F\u002Fprofiles.wordpress.org\u002Fvinvin27\u002F","\u003Cp>WP Disables Updates allow you to disables plugin or themes or translation or wordpress core updates.\u003C\u002Fp>\n\u003Cp>Major features :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Disable plugins updates.\u003C\u002Fli>\n\u003Cli>Disable themes updates.\u003C\u002Fli>\n\u003Cli>Disable translation updates.\u003C\u002Fli>\n\u003Cli>Disable WordPress core updates.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>PS: Used there features if you know what you are doing. No updates = Security holes, but sometimes updates may break your website.\u003Cbr \u002F>\nWordPress has added a quite convenient feature since version 3.7: Automatic update.\u003C\u002Fp>\n\u003Cp>But sometimes, updates can be a real problem for your website.\u003Cbr \u002F>\nIt is important to make updates to avoid security problems, but you must be very careful when applying updates.\u003Cbr \u002F>\nFor example, if you use a prenium theme and you have not made a child theme for the changes. If the theme requires an update, it may delete all your changes and lost working hours….\u003C\u002Fp>\n\u003Cp>But be careful, it’s to be used, if you know what you’re doing. You have to be on the lookout for changes made to the plugins.\u003Cbr \u002F>\nIf a correction has been made to fill a security hole or just to improve the plugin.\u003C\u002Fp>\n\u003Cp>More detail on this blog post – write in French :\u003Cbr \u002F>\nDésactiver les \u003Ca href=\"https:\u002F\u002Fwww.vinvin.dev\u002Fwordpress-desactiver-mise-jour\u002F\" rel=\"nofollow ugc\">mises à jour WordPress\u003C\u002Fa>\u003C\u002Fp>\n","WP Disables Updates allow you to disables plugin or themes or wordpress core updates.",800,12880,3,"2022-11-06T07:10:00.000Z","6.1.10","3.2",[97,20,56,24],"disable","https:\u002F\u002Fwww.vinvin.dev\u002Fworpdress\u002Fplugins\u002Fdisable-plugins-themes-wordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-disable-updates.zip",{"slug":101,"name":102,"version":41,"author":103,"author_profile":104,"description":105,"short_description":106,"active_installs":90,"downloaded":107,"rating":108,"num_ratings":109,"last_updated":110,"tested_up_to":111,"requires_at_least":112,"requires_php":25,"tags":113,"homepage":117,"download_link":118,"security_score":119,"vuln_count":80,"unpatched_count":80,"last_vuln_date":120,"fetched_at":28},"wp-discord-post-plus","WP Discord Post Plus –  Supports Unlimited Channels","wptasker","https:\u002F\u002Fprofiles.wordpress.org\u002Fwptasker\u002F","\u003Cp>WP Discord Post Plus integrates with WordPress and WooCommerce (if installed) to send your new post and orders to discord channels. You can configure multiple channels separately for your blog posts or WooCommerce orders.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Send new post to Discord\u003C\u002Fli>\n\u003Cli>Send WooCommerce orders to discord\u003C\u002Fli>\n\u003Cli>Post Metabox integration\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Send New Post to Discord\u003C\u002Fh3>\n\u003Cp>After you configure the Webhook URLs, all of your published posts will be sent to discord automatically. You can select a separate channel for each category. You will also be able to select a default channel for posts that don’t match any category. If your post has multiple categories, the post will only be sent to the first one.\u003C\u002Fp>\n\u003Ch3>Send WooCommerce Orders to Discord\u003C\u002Fh3>\n\u003Cp>After you configure the Webhook URLs for WooCommerce, all of your orders will be sent to discord automatically. You can select a separate channel for each product category. You will also be able to select a default channel for orders that don’t match any category. If your orders have multiple categories, the order will only be sent to the first one.\u003C\u002Fp>\n\u003Ch3>Post Metabox Integration\u003C\u002Fh3>\n\u003Cp>Additionally, the plugin offers a post metabox integration, where you can select whether you want to send a particular post to discord or not. It only works for newly published posts.\u003C\u002Fp>\n","WP Discord Post Plus integrates with WordPress and WooCommerce (if installed) to send your new post and orders to discord channels.",19046,80,11,"2023-04-16T09:58:00.000Z","5.7.15","4.4",[114,115,116,21,23],"chat","discord","post","https:\u002F\u002Fwp-tasker.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-discord-post-plus.1.0.2.zip",63,"2025-08-15 00:00:00",{"slug":122,"name":123,"version":95,"author":124,"author_profile":125,"description":126,"short_description":127,"active_installs":128,"downloaded":129,"rating":13,"num_ratings":130,"last_updated":131,"tested_up_to":94,"requires_at_least":132,"requires_php":25,"tags":133,"homepage":138,"download_link":139,"security_score":59,"vuln_count":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":28},"manage-customized-plugin-updates","Manage Customized Plugin Updates","wsxplugindev","https:\u002F\u002Fprofiles.wordpress.org\u002Fwsxplugindev\u002F","\u003Cp>Are you a web developer or website design company who has installed \u002F customized plugins for your clients and you’re having a hard time managing plugin upgrades? Maybe your client tries to upgrade plugins themselves and you end up losing all the customization done to that plugin.\u003C\u002Fp>\n\u003Cp>Here is a plugin that can help you better manage customized plugins. It displays a message to your clients warning them about doing the upgrade.\u003C\u002Fp>\n\u003Cp>Features:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Mark any plugin as being customized\u003C\u002Fli>\n\u003Cli>Tags to identify customized plugins on the WordPress plugin page\u003C\u002Fli>\n\u003Cli>Alert to show the customization notes\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Short Description\u003C\u002Fh3>\n\u003Cp>Here’s a plugin that can help you better manage customized plugins and display a message to your clients warning them about doing the upgrade.\u003C\u002Fp>\n","Are you a web developer or website design company who has installed \u002F customized plugins for your clients and you're having a hard time managing  &hellip;",90,12046,2,"2023-02-10T10:46:00.000Z","4.7.5",[134,135,122,136,137],"block-plugin-update","customized-plugins","plugin-upgrade-custom-notice","restrict-plugin-upgrade","https:\u002F\u002Fwww.webstix.com\u002Fwordpress-plugin-development","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmanage-customized-plugin-updates.zip",{"attackSurface":141,"codeSignals":210,"taintFlows":227,"riskAssessment":228,"analyzedAt":235},{"hooks":142,"ajaxHandlers":206,"restRoutes":207,"shortcodes":208,"cronEvents":209,"entryPointCount":11,"unprotectedCount":11},[143,149,153,159,164,168,171,174,178,180,183,186,189,191,193,195,199,202],{"type":144,"name":145,"callback":146,"file":147,"line":148},"action","admin_menu","add_admin_menu","classes\\AdminUI.php",15,{"type":144,"name":150,"callback":151,"file":147,"line":152},"admin_enqueue_scripts","enqueue_admin_scripts",16,{"type":154,"name":155,"callback":156,"file":157,"line":158},"filter","upload_dir","filter_upload_dir","classes\\UploadWorkflow.php",252,{"type":154,"name":160,"callback":161,"file":162,"line":163},"wp_using_themes","__return_false","includes\\init.php",14,{"type":144,"name":165,"callback":166,"file":162,"line":167},"init","closure",17,{"type":144,"name":169,"callback":166,"file":162,"line":170},"load-index.php",26,{"type":154,"name":172,"callback":161,"file":162,"line":173},"comments_open",34,{"type":154,"name":175,"callback":166,"priority":176,"file":162,"line":177},"comments_array",10,35,{"type":144,"name":145,"callback":166,"file":162,"line":179},36,{"type":144,"name":181,"callback":166,"file":162,"line":182},"wp_before_admin_bar_render",37,{"type":154,"name":184,"callback":166,"file":162,"line":185},"pre_option_blog_public",43,{"type":154,"name":187,"callback":161,"file":162,"line":188},"xmlrpc_enabled",48,{"type":144,"name":165,"callback":166,"priority":109,"file":162,"line":190},51,{"type":144,"name":145,"callback":166,"file":162,"line":192},64,{"type":144,"name":145,"callback":166,"file":162,"line":194},69,{"type":144,"name":196,"callback":166,"priority":197,"file":162,"line":198},"admin_bar_menu",999,75,{"type":144,"name":165,"callback":200,"file":162,"line":201},"anonymous",141,{"type":144,"name":203,"callback":200,"file":204,"line":205},"rest_api_init","peak-publisher.php",55,[],[],[],[],{"dangerousFunctions":211,"sqlUsage":212,"outputEscaping":214,"fileOperations":152,"externalRequests":11,"nonceChecks":11,"capabilityChecks":92,"bundledLibraries":226},[],{"prepared":11,"raw":11,"locations":213},[],{"escaped":215,"rawEcho":92,"locations":216},22,[217,221,224],{"file":218,"line":219,"context":220},"classes\\AdminAPI.php",364,"raw output",{"file":222,"line":223,"context":220},"classes\\PublicAPI.php",433,{"file":222,"line":225,"context":220},798,[],[],{"summary":229,"deductions":230},"The plugin 'peak-publisher' v1.2.0 exhibits a generally strong security posture based on the provided static analysis and vulnerability history.  The absence of any detected CVEs, critical taint flows, dangerous functions, or external HTTP requests is a significant positive.  Furthermore, the plugin demonstrates good practices with SQL queries all using prepared statements and a high percentage of output escaping, indicating developers have considered common web vulnerabilities. The limited attack surface with zero AJAX handlers, REST API routes, shortcodes, or cron events further contributes to its perceived security.\n\nHowever, there are a few areas that warrant attention. The complete lack of nonce checks on any entry points is a concern, as nonces are a fundamental mechanism for preventing CSRF attacks in WordPress.  While there are some capability checks, their presence is limited to only 3 instances. This, combined with the absence of nonces, means that potentially sensitive operations could be vulnerable if they were to be exposed in the future.  The file operations count, while not inherently a vulnerability, suggests a degree of file manipulation, which in the absence of other security controls, could pose a risk if not handled meticulously.\n\nOverall, 'peak-publisher' appears to be a securely coded plugin with no known historical vulnerabilities. Its strengths lie in its clean code, lack of known exploits, and careful handling of database queries and output. The primary weakness identified is the absence of nonce checks, which is a critical security control that should be implemented across all potential entry points to mitigate CSRF risks.  While the current attack surface is minimal, a proactive approach to security, including nonce implementation, would further solidify its defenses.",[231,233],{"reason":232,"points":176},"No nonce checks on entry points",{"reason":234,"points":32},"Limited capability checks","2026-03-17T07:22:57.695Z",{"wat":237,"direct":276},{"assetPaths":238,"generatorPatterns":256,"scriptPaths":257,"versionParams":258},[239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"\u002Fwp-content\u002Fplugins\u002Fpeak-publisher\u002Fassets\u002Fjs\u002Futils.js","\u002Fwp-content\u002Fplugins\u002Fpeak-publisher\u002Fassets\u002Fjs\u002Futils-upload.js","\u002Fwp-content\u002Fplugins\u002Fpeak-publisher\u002Fassets\u002Fjs\u002Fapi.js","\u002Fwp-content\u002Fplugins\u002Fpeak-publisher\u002Fassets\u002Fjs\u002Fstores\u002Fplugins.js","\u002Fwp-content\u002Fplugins\u002Fpeak-publisher\u002Fassets\u002Fjs\u002Fstores\u002Freleases.js","\u002Fwp-content\u002Fplugins\u002Fpeak-publisher\u002Fassets\u002Fjs\u002Fstores\u002Fsettings.js","\u002Fwp-content\u002Fplugins\u002Fpeak-publisher\u002Fassets\u002Fjs\u002Fcomponents\u002FPluginList.js","\u002Fwp-content\u002Fplugins\u002Fpeak-publisher\u002Fassets\u002Fjs\u002Fcomponents\u002FPluginEditor.js","\u002Fwp-content\u002Fplugins\u002Fpeak-publisher\u002Fassets\u002Fjs\u002Fcomponents\u002FSettings.js","\u002Fwp-content\u002Fplugins\u002Fpeak-publisher\u002Fassets\u002Fjs\u002Fcomponents\u002FPluginAdditionProcess.js","\u002Fwp-content\u002Fplugins\u002Fpeak-publisher\u002Fassets\u002Fjs\u002Fcomponents\u002FGlobalDropOverlay.js","\u002Fwp-content\u002Fplugins\u002Fpeak-publisher\u002Fassets\u002Fjs\u002Fadmin.js","\u002Fwp-content\u002Fplugins\u002Fpeak-publisher\u002Fassets\u002Flibs\u002Fhighlightjs\u002Fhighlight.js","\u002Fwp-content\u002Fplugins\u002Fpeak-publisher\u002Fassets\u002Flibs\u002Fhighlightjs-highlight-lines\u002Fhighlightjs-highlight-lines.js","\u002Fwp-content\u002Fplugins\u002Fpeak-publisher\u002Fassets\u002Flibs\u002Fjszip\u002Fjszip.js","\u002Fwp-content\u002Fplugins\u002Fpeak-publisher\u002Fassets\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fpeak-publisher\u002Fassets\u002Flibs\u002Fhighlightjs\u002Fstyles\u002Fatom-one-dark.css",[],[239,240,241,242,243,244,245,246,247,248,249,250,251,252,253],[259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275],"peak-publisher\u002Fassets\u002Fjs\u002Futils.js?ver=","peak-publisher\u002Fassets\u002Fjs\u002Futils-upload.js?ver=","peak-publisher\u002Fassets\u002Fjs\u002Fapi.js?ver=","peak-publisher\u002Fassets\u002Fjs\u002Fstores\u002Fplugins.js?ver=","peak-publisher\u002Fassets\u002Fjs\u002Fstores\u002Freleases.js?ver=","peak-publisher\u002Fassets\u002Fjs\u002Fstores\u002Fsettings.js?ver=","peak-publisher\u002Fassets\u002Fjs\u002Fcomponents\u002FPluginList.js?ver=","peak-publisher\u002Fassets\u002Fjs\u002Fcomponents\u002FPluginEditor.js?ver=","peak-publisher\u002Fassets\u002Fjs\u002Fcomponents\u002FSettings.js?ver=","peak-publisher\u002Fassets\u002Fjs\u002Fcomponents\u002FPluginAdditionProcess.js?ver=","peak-publisher\u002Fassets\u002Fjs\u002Fcomponents\u002FGlobalDropOverlay.js?ver=","peak-publisher\u002Fassets\u002Fjs\u002Fadmin.js?ver=","peak-publisher\u002Fassets\u002Flibs\u002Fhighlightjs\u002Fhighlight.js?ver=","peak-publisher\u002Fassets\u002Flibs\u002Fhighlightjs-highlight-lines\u002Fhighlightjs-highlight-lines.js?ver=","peak-publisher\u002Fassets\u002Flibs\u002Fjszip\u002Fjszip.js?ver=","peak-publisher\u002Fassets\u002Fcss\u002Fadmin.css?ver=","peak-publisher\u002Fassets\u002Flibs\u002Fhighlightjs\u002Fstyles\u002Fatom-one-dark.css?ver=",{"cssClasses":277,"htmlComments":279,"htmlAttributes":280,"restEndpoints":281,"jsGlobals":283,"shortcodeOutput":285},[278],"pblsh-app",[],[],[282],"\u002Fwp-json\u002Fpblsh-admin",[284],"PblshData",[]]