[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fRlsWnBIMA7aSferdKtTBYaW04irXaFsAvKvv0_mJ2DY":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":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":47,"crawl_stats":37,"alternatives":55,"analysis":153,"fingerprints":248},"republish-old-posts","Republish Old Posts","1.27","Marios Alexandrou","https:\u002F\u002Fprofiles.wordpress.org\u002Fmarios-alexandrou\u002F","\u003Cp>** WARNING: DON’T USE THIS PLUGIN IF YOUR PERMALINKS INCLUDE DATES **\u003C\u002Fp>\n\u003Cp>The Republish Old Posts plugin helps revive old posts by resetting the publish date to the current date. This will push old posts to your front page, the top of archive pages, and back into RSS feeds. Ideal for sites with a large repository of evergreen content.\u003C\u002Fp>\n\u003Cp>Why would you want to do this? Here are a few reasons:\u003C\u002Fp>\n\u003Col>\n\u003Cli>New visitors to your site haven’t seen your old content. This will help them discover it.\u003C\u002Fli>\n\u003Cli>Old content won’t show up in date-based searches on search engines, but resetting the date can make them look fresh again.\u003C\u002Fli>\n\u003Cli>People like to share and link to new content and they determine that by looking at the publication date.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>A \u003Ca href=\"https:\u002F\u002Finfolific.com\u002Ftechnology\u002Fsoftware-worth-using\u002Frepublish-old-posts-for-wordpress\u002F#pro-version\" rel=\"nofollow ugc\">pro version\u003C\u002Fa> (a lifetime license is less than $15) with many additional options (see screenshots) for controlling when and what posts are republished.\u003C\u002Fp>\n","Republish old posts automatically by resetting the date to the current date. Promote old posts to users that haven't seen them.",3000,60169,86,12,"2025-12-29T14:20:00.000Z","6.9.4","5.0","",[20,21,22,23],"old-post-promoter","post-promoter","republish","republishing","http:\u002F\u002Finfolific.com\u002Ftechnology\u002Fsoftware-worth-using\u002Frepublish-old-posts\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frepublish-old-posts.zip",100,1,0,"2023-12-28 00:00:00","2026-03-15T15:16:48.613Z",[32],{"id":33,"url_slug":34,"title":35,"description":36,"plugin_slug":4,"theme_slug":37,"affected_versions":38,"patched_in_version":6,"severity":39,"cvss_score":40,"cvss_vector":41,"vuln_type":42,"published_date":29,"updated_date":43,"references":44,"days_to_patch":46},"CVE-2023-52145","republish-old-posts-cross-site-request-forgery-via-ropoptionspage","Republish Old Posts \u003C= 1.21 - Cross-Site Request Forgery via rop_options_page","The Republish Old Posts plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 1.21. This is due to missing or incorrect nonce validation on the rop_options_page() function. This makes it possible for unauthenticated attackers to modify the plugin's settings via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.",null,"\u003C=1.21","medium",4.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Cross-Site Request Forgery (CSRF)","2024-01-22 19:56:02",[45],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F1e1db52a-3966-4e04-b0ed-08bda9ba1ff6?source=api-prod",26,{"slug":48,"display_name":7,"profile_url":8,"plugin_count":49,"total_installs":50,"avg_security_score":51,"avg_patch_time_days":52,"trust_score":53,"computed_at":54},"marios-alexandrou",7,195200,99,1456,78,"2026-04-04T05:27:03.977Z",[56,79,95,113,134],{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":64,"downloaded":65,"rating":66,"num_ratings":67,"last_updated":68,"tested_up_to":69,"requires_at_least":70,"requires_php":71,"tags":72,"homepage":76,"download_link":77,"security_score":66,"vuln_count":27,"unpatched_count":28,"last_vuln_date":78,"fetched_at":30},"wp-auto-republish","RevivePress – Keep your Old Content Evergreen","1.5.8","Sayan Datta","https:\u002F\u002Fprofiles.wordpress.org\u002Finfosatech\u002F","\u003Cp>RevivePress, the all-in-one tool for republishing & cloning old posts and pages which push old posts to your front page, the top of archive pages, and back into RSS feeds. Ideal for sites with a large repository of evergreen content.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fapi.wprevivepress.com\u002Fpremium-demo\" rel=\"nofollow ugc\">Premium Demo\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwprevivepress.com\u002Fpricing\u002F?utm_source=landing&utm_medium=wporg\" rel=\"nofollow ugc\">Get Premium\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Like the RevivePress plugin? Consider leaving a \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fwp-auto-republish\u002Freviews\u002F#new-post\" rel=\"ugc\">5 star review\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Why would you want to do this? Here are a few reasons:\u003C\u002Fh3>\n\u003Col>\n\u003Cli>New visitors to your site haven’t seen your old content. \u003Cstrong>This will help them discover it.\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Old content won’t show up in date-based searches on search engines, but resetting the date can make them \u003Cstrong>look fresh again\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>People \u003Cstrong>like to share and link to new content, \u003C\u002Fstrong>and they determine that by looking at the publication date.\u003C\u002Fli>\n\u003Cli>It will highlight older posts by moving them back to \u003Cstrong>front page and in the RSS feed\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>RevivePress will improve your \u003Cstrong>blog visibility, traffic and SEO\u003C\u002Fstrong>!\u003C\u002Fli>\n\u003Cli>And also \u003Cstrong>Google likes updated content\u003C\u002Fstrong> if it’s done right.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>What does this plugin do?\u003C\u002Fh3>\n\u003Cp>This plugin helps revive old posts by resetting the published date to the current date and push old posts to your front page, the top of archive pages, and back into RSS feeds.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Note\u003C\u002Fstrong>: All basic functionality is FREE. Features such as single post republishing, auto social share, OneSignal Support, repeated republishing & triggering publish events are available in the \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwprevivepress.com\u002F?utm_source=landing&utm_medium=wporg\" rel=\"nofollow ugc\">Premium Edition\u003C\u002Fa>\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Automatically republish your all posts.\u003C\u002Fli>\n\u003Cli>Set minimum republish interval and randomness interval.\u003C\u002Fli>\n\u003Cli>Display original publication date Before\u002FAfter post.\u003C\u002Fli>\n\u003Cli>Exclude or include posts by category or tags.\u003C\u002Fli>\n\u003Cli>Force exclude\u002Finclude posts by their ID.\u003C\u002Fli>\n\u003Cli>Can select post in ASC \u002F DESC order.\u003C\u002Fli>\n\u003Cli>Compatible with any timezone.\u003C\u002Fli>\n\u003Cli>Supports Indexing API by Rank Math.\u003C\u002Fli>\n\u003Cli>Automatically purge site cache (limited) after republishing.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Premium Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Supports all free version features.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic Social Media Share\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Custom Post Types support.\u003C\u002Fli>\n\u003Cli>Custom Taxonomies support.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Individual Post Republishing (also supports repeated)\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Republish Per Post Basis.\u003C\u002Fli>\n\u003Cli>Date & Time Based Republishing.\u003C\u002Fli>\n\u003Cli>Automatic Social Media Share.\u003C\u002Fli>\n\u003Cli>Custom Post Republish Interval.\u003C\u002Fli>\n\u003Cli>Set Custom Title for each Republish Event.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Full WPML & Polylang Compatibility\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Indexing API Plugin Support.\u003C\u002Fli>\n\u003Cli>Automatic Site or Single Post Cache Purge Support (supports most of the cache plugins and hosting platforms)\u003C\u002Fli>\n\u003Cli>Changing Post Status after Republish.\u003C\u002Fli>\n\u003Cli>One Click Republish & Social Share.\u003C\u002Fli>\n\u003Cli>Email Notification upon Republishing.\u003C\u002Fli>\n\u003Cli>Custom Date Range for Republishing.\u003C\u002Fli>\n\u003Cli>Change Post Status after Last Republish.\u003C\u002Fli>\n\u003Cli>WordPress Sticky Posts Support.\u003C\u002Fli>\n\u003Cli>OneSignal Push Notification Support.\u003C\u002Fli>\n\u003Cli>Show all republished history in logs.\u003C\u002Fli>\n\u003Cli>Can Change the Post Name\u002FURL on Every Republish.\u003C\u002Fli>\n\u003Cli>Shows all single upcoming republication in a dashboard widget.\u003C\u002Fli>\n\u003Cli>Shows Republication Info in an Admin Column.\u003C\u002Fli>\n\u003Cli>Can hide last original published info from frontend.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwprevivepress.com\u002Fpricing\u002F?utm_source=landing&utm_medium=wporg\" rel=\"nofollow ugc\">Upgrade to RevivePress Premium\u003C\u002Fa> now. You can also upgrade to Premium Version directly from your dashboard.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>Free and Premium Support\u003C\u002Fh3>\n\u003Cp>Support for the RevivePress plugin on the WordPress forums is free.\u003C\u002Fp>\n\u003Cp>Premium world-class support is available via email to all \u003Ca href=\"https:\u002F\u002Fwprevivepress.com\u002Fpricing\u002F?utm_source=landing&utm_medium=wporg\" rel=\"nofollow ugc\">RevivePress Premium\u003C\u002Fa> customers.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Note\u003C\u002Fstrong>: Paid customers support is always given priority over free support. Paid customers support is provided via one-to-one email. \u003Ca href=\"https:\u002F\u002Fwprevivepress.com\u002Fpricing\u002F?utm_source=landing&utm_medium=wporg\" rel=\"nofollow ugc\">Upgrade to Premium\u003C\u002Fa> to benefit from priority support.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Compatibility\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>This plugin is tested with W3 Total Cache, WP Super Cache, WP Rocket, WP Fastest Cache, Cachify, Comet Cache, Zen Cache, LiteSpeed Cache, SG Optimizer, HyperCache, Cache Enabler, Swift Performance Lite, Nginx Cache, Proxy Cache, Nginx Helper Cache, Autoptimize, Breeze (Cloudways), Godaddy Managed WordPress Hosting and WP Engine and fully compatible with WordPress Version 5.2 and beyond and also compatible with any WordPress theme.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Community support via the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fwp-auto-republish\" rel=\"ugc\">support forums\u003C\u002Fa> at WordPress.org.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Contribute\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Active development of this plugin is handled \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fiamsayan\u002Fwp-auto-republish\u002F\" rel=\"nofollow ugc\">on GitHub\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Feel free to \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fiamsayan\u002Fwp-auto-republish\u002F\" rel=\"nofollow ugc\">fork the project on GitHub\u003C\u002Fa> and submit your contributions via pull request.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Simplified Chinese (zh_CN) by \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fcmhello\" rel=\"nofollow ugc\">Changmeng Hu\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","RevivePress, the all-in-one tool for republishing & cloning old posts and pages which push old posts to your front page, the top of archive pages, &hellip;",6000,235036,92,115,"2024-12-27T15:56:00.000Z","6.7.5","5.2","7.3",[73,74,75,22,23],"old-post","old-posts","repost","https:\u002F\u002Fwprevivepress.com?utm_source=landing&utm_medium=plugin","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-auto-republish.1.5.8.zip","2024-03-19 00:00:00",{"slug":80,"name":81,"version":82,"author":83,"author_profile":84,"description":85,"short_description":86,"active_installs":87,"downloaded":88,"rating":28,"num_ratings":28,"last_updated":89,"tested_up_to":90,"requires_at_least":17,"requires_php":91,"tags":92,"homepage":93,"download_link":94,"security_score":66,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"update-posts-date","Update Posts Date","1.1","edckwt","https:\u002F\u002Fprofiles.wordpress.org\u002Fedckwt\u002F","\u003Cp>** WARNING: DON’T USE THIS PLUGIN IF YOUR PERMALINKS INCLUDE DATES **\u003C\u002Fp>\n\u003Cp>Why would you want to do this? Here are a few reasons:\u003C\u002Fp>\n\u003Col>\n\u003Cli>New visitors to your site haven’t seen your old content. This will help them discover it.\u003C\u002Fli>\n\u003Cli>Old content won’t show up in date-based searches on search engines, but resetting the date can make them look fresh again.\u003C\u002Fli>\n\u003Cli>People like to share and link to new content and they determine that by looking at the publication date.\u003C\u002Fli>\n\u003C\u002Fol>\n","Update posts date automatically by setting the date to the current date.",40,2017,"2024-05-12T08:41:00.000Z","6.5.8","7.4",[73,74,22,23],"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fupdate-posts-date\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fupdate-posts-date.1.1.zip",{"slug":96,"name":97,"version":98,"author":99,"author_profile":100,"description":101,"short_description":102,"active_installs":103,"downloaded":104,"rating":13,"num_ratings":14,"last_updated":105,"tested_up_to":16,"requires_at_least":106,"requires_php":91,"tags":107,"homepage":18,"download_link":112,"security_score":26,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"content-update-scheduler","Content Update Scheduler","4.0.2","Constantin Oesterling","https:\u002F\u002Fprofiles.wordpress.org\u002Finfinitnet\u002F","\u003Cp>WordPress lacks the ability to schedule content updates. Keeping your posts and pages up to date manually can often be a waste of valuable time, especially when you know you’ll need to update the same page again soon.\u003C\u002Fp>\n\u003Ch3>Use Cases\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Promotions:\u003C\u002Fstrong> Automatically publish versions of your pages that contain temporary promotions and schedule content updates that remove these promotions once they expire.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Events:\u003C\u002Fstrong> Schedule content updates for pages that list events. Automatically publish an updated version of the page after an event ends.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SEO:\u003C\u002Fstrong> Schedule series of content updates to keep your pages and publishing dates current and satisfy the freshness algorithm.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Updates page content and publishing date\u003C\u002Fli>\n\u003Cli>Compatible with any post type\u003C\u002Fli>\n\u003Cli>Compatible with Elementor and Oxygen Builder\u003C\u002Fli>\n\u003Cli>Nested content updates (multiple updates of the same page scheduled in a row)\u003C\u002Fli>\n\u003Cli>Lightweight code\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>Developed by \u003Ca href=\"https:\u002F\u002Finfinitnet.io\u002F\" rel=\"nofollow ugc\">Infinitnet\u003C\u002Fa> and based on the abandoned \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftao-software\u002Ftao-schedule-update\" rel=\"nofollow ugc\">tao-schedule-update\u003C\u002Fa> plugin. Major contributions by \u003Ca href=\"https:\u002F\u002Fimmediate.co.uk\u002F\" rel=\"nofollow ugc\">Immediate Media\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Github:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Finfinitnet\u002Fcontent-update-scheduler\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Finfinitnet\u002Fcontent-update-scheduler\u002F\u003C\u002Fa>\u003C\u002Fp>\n","Schedule content updates for any WordPress page or post type.",2000,38242,"2025-12-27T19:45:00.000Z","6.0",[108,22,109,110,111],"publication","schedule","scheduling","update","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontent-update-scheduler.4.0.2.zip",{"slug":114,"name":115,"version":116,"author":117,"author_profile":118,"description":119,"short_description":120,"active_installs":121,"downloaded":122,"rating":123,"num_ratings":124,"last_updated":125,"tested_up_to":16,"requires_at_least":126,"requires_php":127,"tags":128,"homepage":18,"download_link":131,"security_score":123,"vuln_count":132,"unpatched_count":28,"last_vuln_date":133,"fetched_at":30},"revive-so","Revive.so – Bulk Rewrite and Republish Blog Posts","2.0.8","WP Chill","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpchill\u002F","\u003Cp>Revive.so is the ultimate WordPress plugin for content rejuvenation. Republish and recirculate evergreen posts with a simple click. This will boost your content’s visibility, engagement, and SEO rankings. Don’t let your valuable content fade into obscurity.\u003C\u002Fp>\n","Revive.so is the ultimate WordPress plugin for content rejuvenation. Republish and recirculate evergreen posts with a simple click.",1000,13879,98,22,"2026-03-04T12:26:00.000Z","5.4","5.6",[129,22,130],"posts","republish-posts","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frevive-so.2.0.8.zip",2,"2025-09-22 00:00:00",{"slug":135,"name":136,"version":137,"author":138,"author_profile":139,"description":140,"short_description":141,"active_installs":142,"downloaded":143,"rating":26,"num_ratings":27,"last_updated":144,"tested_up_to":145,"requires_at_least":146,"requires_php":18,"tags":147,"homepage":151,"download_link":152,"security_score":26,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"oik-batchmove","oik batchmove","2.5.3","bobbingwide","https:\u002F\u002Fprofiles.wordpress.org\u002Fbobbingwide\u002F","\u003Cp>This plugin enables you to filter posts in a particular category and then apply mass updates to selected posts.\u003C\u002Fp>\n\u003Cp>Actions supported:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Update to selected category – Delete the currently filtered category and set a new Target Category for the selected posts\u003C\u002Fli>\n\u003Cli>Add selected category – Adds the Target Category to the selected posts\u003C\u002Fli>\n\u003Cli>Delete selected category – Deletes the currently filtered category from the selected posts\u003C\u002Fli>\n\u003Cli>Republish – update the post date to the current time stamp.\u003C\u002Fli>\n\u003Cli>Republish – alter the post date by adding or subtracting defined amounts\u003C\u002Fli>\n\u003Cli>Update post meta – set the values for simple post meta fields\u003C\u002Fli>\n\u003Cli>WordPress SEO hide – update WordPress SEO post meta to “hide” posts\u003C\u002Fli>\n\u003Cli>WordPress SEO unhide – update WordPress SEO post meta to “unhide” posts\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Scheduled republishing:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Scheduled republishing using WordPress CRON\u003C\u002Fli>\n\u003Cli>Category republishing of the oldest post in selected Categories\u003C\u002Fli>\n\u003Cli>Tag republishing of the oldest post with selected Tags\u003C\u002Fli>\n\u003Cli>Republicizing using Jetpack publicize.\u003C\u002Fli>\n\u003C\u002Ful>\n","The oik-batchmove plugin enables you to perform mass updates to the categories assigned to posts. It also enables you to republish posts.",70,8111,"2025-08-14T15:50:00.000Z","6.8.5","3.9",[148,149,22,150],"category","change","scheduled-republish","https:\u002F\u002Fwww.oik-plugins.com\u002Foik-plugins\u002Foik-batchmove","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Foik-batchmove.2.5.3.zip",{"attackSurface":154,"codeSignals":180,"taintFlows":196,"riskAssessment":236,"analyzedAt":247},{"hooks":155,"ajaxHandlers":176,"restRoutes":177,"shortcodes":178,"cronEvents":179,"entryPointCount":28,"unprotectedCount":28},[156,162,166,171],{"type":157,"name":158,"callback":159,"file":160,"line":161},"action","init","rop","republish-old-posts.php",52,{"type":157,"name":163,"callback":164,"file":160,"line":165},"admin_menu","rop_options_setup",53,{"type":167,"name":168,"callback":169,"file":160,"line":170},"filter","the_content","rop_the_content",54,{"type":167,"name":172,"callback":173,"priority":174,"file":160,"line":175},"plugin_row_meta","rop_plugin_meta",10,55,[],[],[],[],{"dangerousFunctions":181,"sqlUsage":182,"outputEscaping":185,"fileOperations":28,"externalRequests":28,"nonceChecks":27,"capabilityChecks":28,"bundledLibraries":195},[],{"prepared":183,"raw":28,"locations":184},3,[],{"escaped":186,"rawEcho":183,"locations":187},14,[188,191,193],{"file":160,"line":189,"context":190},294,"raw output",{"file":160,"line":192,"context":190},335,{"file":160,"line":194,"context":190},428,[],[197,225],{"entryPoint":198,"graph":199,"unsanitizedCount":28,"severity":224},"rop_options_page (republish-old-posts.php:238)",{"nodes":200,"edges":220},[201,206,212,216],{"id":202,"type":203,"label":204,"file":160,"line":205},"n0","source","$_POST (x7)",248,{"id":207,"type":208,"label":209,"file":160,"line":210,"wp_function":211},"n1","sink","update_option() [Settings Manipulation]",250,"update_option",{"id":213,"type":203,"label":214,"file":160,"line":215},"n2","$_SERVER['REQUEST_URI']",343,{"id":217,"type":208,"label":218,"file":160,"line":192,"wp_function":219},"n3","echo() [XSS]","echo",[221,223],{"from":202,"to":207,"sanitized":222},true,{"from":213,"to":217,"sanitized":222},"low",{"entryPoint":226,"graph":227,"unsanitizedCount":28,"severity":224},"\u003Crepublish-old-posts> (republish-old-posts.php:0)",{"nodes":228,"edges":233},[229,230,231,232],{"id":202,"type":203,"label":204,"file":160,"line":205},{"id":207,"type":208,"label":209,"file":160,"line":210,"wp_function":211},{"id":213,"type":203,"label":214,"file":160,"line":215},{"id":217,"type":208,"label":218,"file":160,"line":192,"wp_function":219},[234,235],{"from":202,"to":207,"sanitized":222},{"from":213,"to":217,"sanitized":222},{"summary":237,"deductions":238},"The \"republish-old-posts\" plugin v1.27 demonstrates a generally good security posture based on the static analysis. The absence of dangerous functions, file operations, and external HTTP requests are positive signs. All SQL queries are properly prepared, and the plugin utilizes nonce checks, which are crucial for preventing CSRF attacks. The taint analysis also indicates no critical or high severity issues with unsanitized paths. However, a concerning aspect is the complete lack of capability checks and the limited output escaping (82%). While the attack surface is currently reported as zero entry points, this could be misleading if new functionality is added without proper security considerations.\n\nThe vulnerability history reveals one known medium-severity vulnerability, specifically Cross-Site Request Forgery (CSRF), which was last addressed on December 28, 2023. The fact that it is currently unpatched is a significant concern and suggests that users might still be exposed if they haven't updated to a fixed version. While the current static analysis doesn't reveal an *active* CSRF vulnerability, the history of such an issue warrants caution.\n\nIn conclusion, the plugin has several strong security practices in place, particularly regarding SQL and data sanitization. The primary weaknesses lie in the complete absence of capability checks, the percentage of unescaped output, and the historical presence of a CSRF vulnerability that remains unpatched. These factors necessitate careful consideration for users, especially if the plugin is to be updated or expanded.",[239,242,244],{"reason":240,"points":241},"Unpatched CVE found",15,{"reason":243,"points":174},"Capability checks are missing",{"reason":245,"points":246},"Output escaping is not 100%",5,"2026-03-16T18:26:15.170Z",{"wat":249,"direct":254},{"assetPaths":250,"generatorPatterns":251,"scriptPaths":252,"versionParams":253},[],[],[],[],{"cssClasses":255,"htmlComments":256,"htmlAttributes":257,"restEndpoints":258,"jsGlobals":259,"shortcodeOutput":260},[159],[],[],[],[],[]]