[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f1XcB2q4eM8nB4OyEkaloJI2hf_BjRk7mXkQ2S3eDZ5s":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":21,"download_link":22,"security_score":23,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":25,"vulnerabilities":26,"developer":27,"crawl_stats":24,"alternatives":33,"analysis":134,"fingerprints":190},"auto-expire-posts","Auto Expire Posts","1.0.0","lerougeliet","https:\u002F\u002Fprofiles.wordpress.org\u002Flerougeliet\u002F","\u003Cp>Easily configure posts to expire at a certain date and time. After posts expire, they can become drafts, private, deleted, or in the trash. Works without Cron enabled.\u003C\u002Fp>\n","Automatically expire posts at a given date",0,1320,"2019-03-21T02:45:00.000Z","5.1.22","4.0","",[18,19,20],"expire","posts","trash","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fauto-expire-posts\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fauto-expire-posts.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":28,"total_installs":29,"avg_security_score":23,"avg_patch_time_days":30,"trust_score":31,"computed_at":32},5,230,30,84,"2026-04-05T20:36:27.082Z",[34,55,73,93,117],{"slug":35,"name":36,"version":37,"author":38,"author_profile":39,"description":40,"short_description":41,"active_installs":42,"downloaded":43,"rating":44,"num_ratings":45,"last_updated":46,"tested_up_to":47,"requires_at_least":48,"requires_php":16,"tags":49,"homepage":16,"download_link":54,"security_score":23,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":25},"wp-post-expires","WP Post Expires","1.2.5","X-NicON","https:\u002F\u002Fprofiles.wordpress.org\u002Fx-nicon\u002F","\u003Cp>A simple plugin that allows to set the date for the posts, after which will be performed one of 3 actions: “Add prefix to title”, “Move to drafts”, “Move to trash”.\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Set post expire date and time\u003C\u002Fli>\n\u003Cli>Support custom post type (post and pages by default)\u003C\u002Fli>\n\u003Cli>Action for expired posts: move to drafts, move to trash or add custom prefix for title\u003C\u002Fli>\n\u003Cli>Adds class “post-expired” to post that expired on the site and in admin interface (for custom styles in theme)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Use in theme:\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>XNPostExpires::isExpired($post_id)\n\nXNPostExpires::dateExpiration($post_id, $date_format)\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Plugin adds post expires time after which will be performed actions: add prefix to title, move to drafts or trash.",2000,35993,66,14,"2020-11-02T17:13:00.000Z","5.5.18","5.0",[50,18,51,52,53],"expiration","expired-post","posts-expiring","wordpress-post-expiry","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-post-expires.zip",{"slug":56,"name":57,"version":58,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":63,"downloaded":64,"rating":65,"num_ratings":66,"last_updated":67,"tested_up_to":68,"requires_at_least":69,"requires_php":16,"tags":70,"homepage":16,"download_link":72,"security_score":23,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":25},"expire-sticky-posts","Expire Sticky Posts","1.0","Andy von Dohren","https:\u002F\u002Fprofiles.wordpress.org\u002Favondohren\u002F","\u003Cp>A simple plugin that allows you to set an expiration date on posts. Once a post is expired, it will no longer be sticky.\u003C\u002Fp>\n\u003Cp>Have you found a bug or have a suggestion or improvement you’d like to submit? This plugin is available on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Favondohren\u002FExpire-Sticky-Posts\" rel=\"nofollow ugc\">Github\u003C\u002Fa> and pull requests are welcome!\u003C\u002Fp>\n","A simple plugin that allows you to set an expiration date on posts. Once a post is expired, it will no longer be sticky.",1000,14012,100,2,"2014-12-20T00:00:00.000Z","4.0.38","3.6",[50,18,19,71],"sticky","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fexpire-sticky-posts.1.0.zip",{"slug":74,"name":75,"version":76,"author":77,"author_profile":78,"description":79,"short_description":80,"active_installs":63,"downloaded":81,"rating":82,"num_ratings":66,"last_updated":83,"tested_up_to":84,"requires_at_least":85,"requires_php":86,"tags":87,"homepage":91,"download_link":92,"security_score":23,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":25},"expiring-posts","Expiring Posts","1.3","Ivan","https:\u002F\u002Fprofiles.wordpress.org\u002Fivankk\u002F","\u003Cp>This plugin adds functionality to expire a post on a given date.\u003C\u002Fp>\n\u003Cp>This plugin currently only works with the classical editor.\u003C\u002Fp>\n\u003Cp>It does this by adding a new “Expires” date field in the Publish box.\u003C\u002Fp>\n\u003Cp>By default posts don’t expire, but you can add a date instead.\u003C\u002Fp>\n\u003Cp>Once that date is reached, the post is marked as expired and is no longer visible to the end user.\u003C\u002Fp>\n\u003Ch3>Dev Notes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Dev occurs via https:\u002F\u002Fgithub.com\u002Fivankruchkoff\u002Fwp-expiring-posts\u003C\u002Fli>\n\u003Cli>the new post status is \u003Ccode>expired\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>a filter called \u003Ccode>exp_disable_expiration_for_this_post\u003C\u002Fcode> exists to disable this feature on a per-post basis.\u003C\u002Fli>\n\u003C\u002Ful>\n","This plugin adds functionality to expire a post on a given date.",5499,70,"2022-01-23T23:52:00.000Z","5.9.13","3.0.1","5.3",[18,88,89,74,90],"expire-posts","expiring","post-expiry","https:\u002F\u002Fgithub.com\u002Fivankruchkoff\u002Fwp-expiring-posts","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fexpiring-posts.1.3.zip",{"slug":94,"name":95,"version":96,"author":97,"author_profile":98,"description":99,"short_description":100,"active_installs":63,"downloaded":101,"rating":102,"num_ratings":103,"last_updated":104,"tested_up_to":105,"requires_at_least":106,"requires_php":107,"tags":108,"homepage":112,"download_link":113,"security_score":114,"vuln_count":115,"unpatched_count":11,"last_vuln_date":116,"fetched_at":25},"post-lockdown","Post Lockdown","4.0.5","andyexeter","https:\u002F\u002Fprofiles.wordpress.org\u002Fandyexeter\u002F","\u003Cp>Post Lockdown protects your site-critical pages and posts by disabling all non-admin users’ ability to trash or delete them.\u003Cbr \u002F>\nIt can also lock pages and posts, which will disable editing of the post as well as disabling trashing\u002Fdeleting.\u003C\u002Fp>\n\u003Cp>The plugin adds a new options page under the Settings menu in your WordPress admin panel which allows you to quickly search and\u003Cbr \u002F>\nselect for all pages and posts of any post type. When you find the item you want to select, simply click it to move it to the right\u003Cbr \u002F>\nbox and click Save Changes.\u003C\u002Fp>\n\u003Cp>See the screenshots for an example of what an Editor would see when they view a list of posts with some locked and protected.\u003C\u002Fp>\n","Allows admins to protect selected posts and pages so they cannot be trashed or deleted by non-admin users.",22411,92,9,"2026-01-12T15:32:00.000Z","6.9.4","4.6","7.4",[109,110,19,111,20],"delete","lock","protect","https:\u002F\u002Fgithub.com\u002Fandyexeter\u002Fpost-lockdown","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost-lockdown.4.0.5.zip",99,1,"2025-03-07 00:00:00",{"slug":118,"name":119,"version":120,"author":121,"author_profile":122,"description":123,"short_description":124,"active_installs":125,"downloaded":126,"rating":102,"num_ratings":127,"last_updated":128,"tested_up_to":129,"requires_at_least":69,"requires_php":16,"tags":130,"homepage":16,"download_link":131,"security_score":132,"vuln_count":115,"unpatched_count":115,"last_vuln_date":133,"fetched_at":25},"simple-post-expiration","Simple Post Expiration","1.0.1","Syed Balkhi","https:\u002F\u002Fprofiles.wordpress.org\u002Fsmub\u002F","\u003Cp>A simple plugin that allows you to set an expiration date on posts. Once a post is expired, “Expired” will be prefixed to the post title.\u003C\u002Fp>\n\u003Cp>You can show the expiration status of a post using the [expires] short code.\u003C\u002Fp>\n\u003Cp>The [expires] short code accepts 5 optional parameters:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>expires_on – The text to be shown when a post has not yet expired. Default: \u003Ccode>This item expires on: %s\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>expired – The text to be shown when a post is expired. Default: \u003Ccode>This item expired on: %s\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>date_format – The format the expiration date should be displayed in\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>class – The class or classes given to the DIV element\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>id – The ID given to the DIV element\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The \u003Ccode>%s\u003C\u002Fcode> will be replaced with the expiration date.\u003C\u002Fp>\n\u003Cp>Have you found a bug or have a suggestion or improvement you’d like to submit? This plugin is available on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpippinsplugins\u002FSimple-Post-Expiration\" rel=\"nofollow ugc\">Github\u003C\u002Fa> and pull requests are welcome!\u003C\u002Fp>\n","A simple plugin that allows you to set an expiration date on posts. Once a post is expired, \"Expired\" will be prefixed to the post title.",500,16297,7,"2016-10-10T15:26:00.000Z","4.7.32",[50,18,19],"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-post-expiration.zip",64,"2025-04-01 00:00:00",{"attackSurface":135,"codeSignals":164,"taintFlows":182,"riskAssessment":183,"analyzedAt":189},{"hooks":136,"ajaxHandlers":157,"restRoutes":158,"shortcodes":159,"cronEvents":160,"entryPointCount":11,"unprotectedCount":11},[137,143,145,148,151,154],{"type":138,"name":139,"callback":140,"file":141,"line":142},"action","admin_enqueue_scripts","anonymous","includes\\class-main.php",135,{"type":138,"name":139,"callback":140,"file":141,"line":144},136,{"type":138,"name":146,"callback":140,"file":141,"line":147},"plugin_action_links_auto-expire-posts\u002Fauto-expire-posts.php",138,{"type":138,"name":149,"callback":140,"file":141,"line":150},"add_meta_boxes",139,{"type":138,"name":152,"callback":140,"file":141,"line":153},"save_post",140,{"type":138,"name":155,"callback":140,"file":141,"line":156},"auto_expire_posts_cron",153,[],[],[],[161],{"hook":155,"callback":155,"file":162,"line":163},"admin\\class-admin.php",158,{"dangerousFunctions":165,"sqlUsage":166,"outputEscaping":168,"fileOperations":11,"externalRequests":11,"nonceChecks":115,"capabilityChecks":115,"bundledLibraries":181},[],{"prepared":11,"raw":11,"locations":167},[],{"escaped":169,"rawEcho":170,"locations":171},8,3,[172,176,178],{"file":173,"line":174,"context":175},"admin\\partials\\metabox.php",10,"raw output",{"file":173,"line":177,"context":175},13,{"file":179,"line":180,"context":175},"admin\\partials\\options.php",38,[],[],{"summary":184,"deductions":185},"The auto-expire-posts plugin version 1.0.0 exhibits a generally strong security posture based on the static analysis provided. The absence of AJAX handlers, REST API routes, shortcodes, and external HTTP requests significantly limits its attack surface.  Furthermore, the code signals indicate good development practices, with all SQL queries utilizing prepared statements, a single nonce check, and a single capability check in place.  The fact that there are no known vulnerabilities or CVEs associated with this plugin is also a positive indicator.\n\nHowever, a potential area of concern lies in the output escaping. With 73% of outputs properly escaped, it means that 27% of the 11 total outputs are not. While this might not immediately translate to a critical vulnerability, it represents a weakness where unescaped output could potentially lead to cross-site scripting (XSS) vulnerabilities if user-controlled data is involved in these unsanitized outputs. The taint analysis reporting zero flows is a positive sign, suggesting no immediately obvious exploitable data flows were detected.  The plugin's history of zero vulnerabilities is commendable, implying either good coding from the start or that it hasn't been targeted or thoroughly analyzed for complex vulnerabilities.\n\nIn conclusion, auto-expire-posts v1.0.0 appears to be a relatively secure plugin with a minimal attack surface and good handling of sensitive operations like database queries. The primary weakness identified is the incomplete output escaping, which, while not a critical flaw in isolation, warrants attention to prevent potential XSS issues. Its vulnerability history is excellent, further bolstering confidence in its current security state.",[186],{"reason":187,"points":188},"Unescaped output detected",4,"2026-03-17T07:20:53.813Z",{"wat":191,"direct":200},{"assetPaths":192,"generatorPatterns":194,"scriptPaths":195,"versionParams":197},[193],"\u002Fwp-content\u002Fplugins\u002Fauto-expire-posts\u002Fadmin\u002Fmain.css",[],[196],"\u002Fwp-content\u002Fplugins\u002Fauto-expire-posts\u002Fadmin\u002Fmain.js",[198,199],"auto-expire-posts\u002Fmain.css?ver=","auto-expire-posts\u002Fmain.js?ver=",{"cssClasses":201,"htmlComments":202,"htmlAttributes":203,"restEndpoints":208,"jsGlobals":209,"shortcodeOutput":210},[],[],[204,205,206,207],"name=\"auto_expire_posts_date\"","name=\"auto_expire_posts_time\"","name=\"auto_expire_posts_timezone\"","name=\"auto_expire_posts_status\"",[],[],[]]