[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fjdoieIJimQEnzSU40e-xRHbxGMpLU7XIg1CwrZNn9GA":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":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":36,"analysis":134,"fingerprints":265},"trail-passion","Trail-Passion","1.0","trail-passion.net","https:\u002F\u002Fprofiles.wordpress.org\u002Ftrail-passionnet\u002F","\u003Cp>\u003Ca href=\"http:\u002F\u002Ftrail-passion.net\" rel=\"nofollow ugc\">Trail-Passion\u003C\u002Fa> is a web site dedicated to outdoor sports. It provides easy ways to show GPS tracks on flat maps, elevation graphs and event 3D views.\u003Cbr \u002F>\nIf you want to show your last hicking or race in your blog, this plug-in is made for you.\u003C\u002Fp>\n\u003Cp>Not only can you add maps on wordpress, but also put markers on your maps based on the GeoMashup localization of your posts and medias.\u003C\u002Fp>\n","Add 2d and 3d maps into your posts. And place posts and medias onto the maps.",10,2295,0,"2014-12-12T22:35:00.000Z","4.0.38","4.0.1","",[19,20,21,22,23],"hicking","outdoor","running","trail","trailpassion","http:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftrail-passion\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftrail-passion.0.3.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":11,"avg_security_score":26,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"trail-passionnet",1,30,84,"2026-04-05T02:29:54.943Z",[37,58,76,91,115],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":11,"downloaded":45,"rating":13,"num_ratings":13,"last_updated":46,"tested_up_to":47,"requires_at_least":48,"requires_php":49,"tags":50,"homepage":55,"download_link":56,"security_score":57,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"trail-status","Trail Status","2.2.1","Chris - On the Grid Web Design LLC","https:\u002F\u002Fprofiles.wordpress.org\u002Ffalcon13\u002F","\u003Cp>This plugin allows you to display the status of trails on your website. Any user with author or higher permissions can update the status, while only editors and admin can add and update the trails and status names. The trails can have links to pages with more information about them. Both the shortcodes and widget are customizable. Widgets and shortcode can have different sets of trails and notes.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Widget\u003C\u002Fli>\n\u003Cli>Shortcode for showing the trails in a list format\u003C\u002Fli>\n\u003Cli>A second shortcode for showing the trails in a block format\u003C\u002Fli>\n\u003Cli>Add images to trails for display in the shortcode\u003C\u002Fli>\n\u003Cli>Placeholder images for trails without images\u003C\u002Fli>\n\u003Cli>Add links to the trails\u003C\u002Fli>\n\u003Cli>Set up to 10 statuses including their color\u003C\u002Fli>\n\u003Cli>Trail name and status can be the status color\u003C\u002Fli>\n\u003Cli>The order of both trails and statuses can be set\u003C\u002Fli>\n\u003Cli>Notes can be added at the end which can include embedded videos\u003C\u002Fli>\n\u003Cli>Separate notes for the shortcode and widget\u003C\u002Fli>\n\u003Cli>Initial set of trail conditions\u003C\u002Fli>\n\u003Cli>Admin that allows authors and higher users to update the current conditions, while editors and higher users can create and edit the trails and statuses\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>DISCLAIMER: Under no circumstances do we release this plugin with any warranty, implied or otherwise. We cannot be held responsible for any damage that might arise from the use of this plugin. Back up your WordPress database and files before installation.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>Released under the terms of the GNU General Public License.\u003C\u002Fp>\n","Display the status of trails on your website.",1513,"2026-01-17T22:41:00.000Z","6.9.4","5.8","5.6",[51,52,53,22,54],"biking","hiking","outdoors","trails","http:\u002F\u002Fonthegridwebdesign.com\u002Fsoftware\u002Ftrail-status","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftrail-status.zip",100,{"slug":59,"name":60,"version":61,"author":62,"author_profile":63,"description":64,"short_description":65,"active_installs":13,"downloaded":66,"rating":13,"num_ratings":13,"last_updated":67,"tested_up_to":68,"requires_at_least":69,"requires_php":70,"tags":71,"homepage":74,"download_link":75,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"sanremo-trails","Sanremo Trails","1.1.0","andreaduemetri","https:\u002F\u002Fprofiles.wordpress.org\u002Fandreaduemetri\u002F","\u003Cp>Plugin of Sanremo Outdoor about trails and outdoor\u003C\u002Fp>\n\u003Cp>This plugin contains shortcodes to add one of your pages for showing everyone the trails maintained in Sanremo by Bignone Outdoor.\u003C\u002Fp>\n","Here is a short description of the plugin.  This should be no more than 150 characters.  No markup here.",7798,"2021-08-03T19:27:00.000Z","5.7.15","3.0.1","4.0",[72,20,73,54],"bignone","sanremo","https:\u002F\u002Fbignoneoutdoor.it","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsanremo-trails.1.1.zip",{"slug":77,"name":78,"version":79,"author":80,"author_profile":81,"description":82,"short_description":44,"active_installs":13,"downloaded":83,"rating":13,"num_ratings":13,"last_updated":84,"tested_up_to":47,"requires_at_least":85,"requires_php":86,"tags":87,"homepage":89,"download_link":90,"security_score":57,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"vstm-trail-monitor","Trail Monitor","1.11","Mark Vejvoda","https:\u002F\u002Fprofiles.wordpress.org\u002Fsoftcoder\u002F","\u003Cp>This plugin allows you to display the status of trails on your website. Any user can add a trail status (for review), while only editors and admin can add and update the trails and status names. The trails can have links to pages with more information about them. Both the shortcodes and widget are customizable. Widgets and shortcode can have different sets of trails and notes.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Widget\u003C\u002Fli>\n\u003Cli>Shortcode for showing:\u003C\u002Fli>\n\u003Cli>\n\u003Cul>\n\u003Cli>Trails in a list format\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cul>\n\u003Cli>Trails in a block format\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cul>\n\u003Cli>Add trail status (with optional anti spam google recaptcha)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Add images to trails for display in the shortcode\u003C\u002Fli>\n\u003Cli>Placeholder images for trails without images\u003C\u002Fli>\n\u003Cli>Add links to the trails\u003C\u002Fli>\n\u003Cli>Support for embedded youtube video in the comment field\u003C\u002Fli>\n\u003Cli>Set up statuses including their color\u003C\u002Fli>\n\u003Cli>Trail name and status can be the status color\u003C\u002Fli>\n\u003Cli>The order of both trails and statuses can be set\u003C\u002Fli>\n\u003Cli>Notes can be added at the end which can include embedded videos\u003C\u002Fli>\n\u003Cli>Separate notes for the shortcode and widget\u003C\u002Fli>\n\u003Cli>Initial set of trail conditions\u003C\u002Fli>\n\u003Cli>Admin that allows authors and higher users to update the current conditions\u003C\u002Fli>\n\u003Cli>Every Trail can show a list of the last X trail updates submitted by users\u003C\u002Fli>\n\u003Cli>Every Trail can show a list of links to a) weather forecasts b) forest fire smoke forecasts c) Avalanche forecasts\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>DISCLAIMER: Under no circumstances do we release this plugin with any warranty, implied or otherwise. We cannot be held responsible for any damage that might arise from the use of this plugin. Back up your WordPress database and files before installation.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>Released under the terms of the GNU General Public License.\u003C\u002Fp>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>This plugin connects to a Google API to protect trail updates from spam attacks, it’s needed to provide anti-spam detection in the plugin.\u003C\u002Fp>\n\u003Cp>It sends a unique key every time the widget is loaded.\u003Cbr \u002F>\nThis service is provided by “Google”: terms of use, privacy policy.\u003Cbr \u002F>\nhttps:\u002F\u002Fdevelopers.google.com\u002Frecaptcha\u002Fdocs\u002Ffaq\u003C\u002Fp>\n",548,"2025-11-28T15:46:00.000Z","6.2","8.2",[52,53,88,22,54],"status","https:\u002F\u002Fhiking.princegeorge.tech\u002Fsoftware\u002Ftrail-monitor-wordpress-plugin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fvstm-trail-monitor.1.11.zip",{"slug":92,"name":93,"version":94,"author":95,"author_profile":96,"description":97,"short_description":98,"active_installs":99,"downloaded":100,"rating":101,"num_ratings":102,"last_updated":103,"tested_up_to":47,"requires_at_least":48,"requires_php":104,"tags":105,"homepage":110,"download_link":111,"security_score":112,"vuln_count":113,"unpatched_count":13,"last_vuln_date":114,"fetched_at":28},"breadcrumb-navxt","Breadcrumb NavXT","7.5.1","John Havlik","https:\u002F\u002Fprofiles.wordpress.org\u002Fmtekk\u002F","\u003Cp>Breadcrumb NavXT, the successor to the popular WordPress plugin Breadcrumb Navigation XT, was written from the ground up to be better than its ancestor. This plugin generates locational breadcrumb trails for your WordPress powered blog or website. These breadcrumb trails are highly customizable to suit the needs of just about any website running WordPress. The Administrative interface makes setting options easy, while a direct class access is available for theme developers and more adventurous users.\u003C\u002Fp>\n\u003Ch4>PHP Requirements\u003C\u002Fh4>\n\u003Cp>Breadcrumb NavXT 7.0 and newer require PHP7.0\u003Cbr \u002F>\nBreadcrumb NavXT 5.2 and newer require PHP5.3\u003Cbr \u002F>\nBreadcrumb NavXT 5.1.1 and older require PHP5.2\u003C\u002Fp>\n\u003Ch4>Features (non-exhaustive)\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>RDFa format Schema.org BreadcrumbList compatible breadcrumb generation.\u003C\u002Fli>\n\u003Cli>Extensive breadcrumb customization control via a settings page with appropriate default values for most use cases.\u003C\u002Fli>\n\u003Cli>Network admin settings page for managing breadcrumb settings for all subsites with \u003Ca href=\"http:\u002F\u002Fmtekk.us\u002Farchives\u002Fguides\u002Fcontrolling-breadcrumb-navxt-settings-from-the-network-settings-page\u002F\" title=\"Go to the article on configuring the network settings priority.\" rel=\"nofollow ugc\">configurable global priority\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Built in WordPress Widget.\u003C\u002Fli>\n\u003Cli>Extensible via OOP and provided \u003Ca href=\"http:\u002F\u002Fmtekk.us\u002Fcode\u002Fbreadcrumb-navxt\u002Fbreadcrumb-navxt-doc\u002F2\u002F#action_reference\" title=\"Go to the Breadcrumb NavXT Documentation's action reference.\" rel=\"nofollow ugc\">actions\u003C\u002Fa> and \u003Ca href=\"http:\u002F\u002Fmtekk.us\u002Fcode\u002Fbreadcrumb-navxt\u002Fbreadcrumb-navxt-doc\u002F2\u002F#filter_reference\" title=\"Go to the Breadcrumb NavXT Documentation's filter reference.\" rel=\"nofollow ugc\">filters\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>WPML compatible (enhanced compatibility with WPML extensions plugin).\u003C\u002Fli>\n\u003Cli>Polylang compatible (enhanced compatibility with Polylang extensions plugin).\u003C\u002Fli>\n\u003Cli>bbPress compatible (enhanced compatibility with bbPress extensions plugin).\u003C\u002Fli>\n\u003Cli>BuddyPress compatible (enhanced compatibility with BuddyPress extensions plugin).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cp>Breadcrumb NavXT now supports WordPress.org language packs. Want to translate Breadcrumb NavXT? Visit \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fbreadcrumb-navxt\u002F\" rel=\"nofollow ugc\">Breadcrumb NavXT’s WordPress.org translation project\u003C\u002Fa>.\u003C\u002Fp>\n","Adds breadcrumb navigation showing the visitor's path to their current location.",800000,17023337,92,132,"2025-12-22T03:18:00.000Z","7.0",[106,107,108,109,22],"block","breadcrumb","breadcrumbs","navigation","http:\u002F\u002Fmtekk.us\u002Fcode\u002Fbreadcrumb-navxt\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbreadcrumb-navxt.7.5.1.zip",98,2,"2026-02-18 00:00:00",{"slug":107,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":122,"downloaded":123,"rating":124,"num_ratings":125,"last_updated":126,"tested_up_to":47,"requires_at_least":127,"requires_php":17,"tags":128,"homepage":131,"download_link":132,"security_score":57,"vuln_count":32,"unpatched_count":13,"last_vuln_date":133,"fetched_at":28},"Breadcrumb –  Breadcrumb for WooCommerce and Custom Post Types","1.5.54","PickPlugins","https:\u002F\u002Fprofiles.wordpress.org\u002Fpickplugins\u002F","\u003Cp>Breadcrumb is easy and light-weight plugin to display breadcrumb navigation to your WordPress site, easy to customize and change style for breadcrumb. You can use filter hook and action hook to rewrite the plugin without editing the plugin code. This plugin almost working on all WordPress pages like archive, category, tags, custom taxonomies, custom post types, defult post, date, year, month, author and search page to display breadcrumb dynamically. ###\u003C\u002Fp>\n\u003Ch3>Breadcrumb by http:\u002F\u002Fpickplugins.com\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fpickplugins.com\u002Fbreadcrumb\u002F\" rel=\"nofollow ugc\">Buy Premium &raquo;\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.pickplugins.com\u002Fdemo\u002Fbreadcrumb\u002F\" rel=\"nofollow ugc\">Live Demo &raquo;\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.pickplugins.com\u002Fsupport\u002F\" rel=\"nofollow ugc\">Support &raquo;\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.pickplugins.com\u002Fdocumentation\u002Fbreadcrumb\u002F\" rel=\"nofollow ugc\">Documentation &raquo;\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Tutorials\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=HTbEIOEcc0c&list=PL0QP7T2SN94bnUjguNbBXAjW1yJjjeLtb\" rel=\"nofollow ugc\">Install & setup\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=jc1EzF_5kxs&list=PL0QP7T2SN94bnUjguNbBXAjW1yJjjeLtb&index=2\" rel=\"nofollow ugc\">Limit link text\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=91fC7hOl6W0&list=PL0QP7T2SN94bnUjguNbBXAjW1yJjjeLtb&index=3\" rel=\"nofollow ugc\">Customize home text\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=7mYp27fzXY0&list=PL0QP7T2SN94bnUjguNbBXAjW1yJjjeLtb&index=8\" rel=\"nofollow ugc\">Change style\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=B3xpe9BZWWI&list=PL0QP7T2SN94bnUjguNbBXAjW1yJjjeLtb&index=4\" rel=\"nofollow ugc\">Install pro and setup (Premium)\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=xdPiM7UlNTs&list=PL0QP7T2SN94bnUjguNbBXAjW1yJjjeLtb&index=5\" rel=\"nofollow ugc\"> Hide on archives (Premium)\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=l1LA5m6HaRQ&list=PL0QP7T2SN94bnUjguNbBXAjW1yJjjeLtb&index=6\" rel=\"nofollow ugc\"> Hide by post types (Premium)\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=LJg_d7UUTEA&list=PL0QP7T2SN94bnUjguNbBXAjW1yJjjeLtb&index=7\" rel=\"nofollow ugc\">Hide by post ids (Premium)\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Plugin Features\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Use via short-codes\u003C\u002Fstrong>\u003Cbr \u002F>\nYou can display breadcrumb anywhere via shortcodes.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Display anywhere\u003C\u002Fstrong>\u003Cbr \u002F>\nBreadcrumb display on home page, any post type, page, parent pages, author page, archive page, tag page, custom taxonomy page, search page, woocommerce shop, product pages.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Custom front text\u003C\u002Fstrong>\u003Cbr \u002F>\nYou can display custom prefix text before breadcrumb start.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Custom separator text\u003C\u002Fstrong>\u003Cbr \u002F>\nYou can set custom separator text as you need and match with your theme. you can also hide the last separator if you want.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Limit word link text\u003C\u002Fstrong>\u003Cbr \u002F>\nYou can limit word count or character count on link text and use set custom ending text.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Hide “Home” text\u003C\u002Fstrong>\u003Cbr \u002F>\nyou can hide or display “Home” elements on breadcrumb\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Custom font size for link text\u003C\u002Fstrong>\u003Cbr \u002F>\nyou can set custom font size for link text\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Container padding margin\u003C\u002Fstrong>\u003Cbr \u002F>\nSet custom margin and padding for breadcrumb container.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Custom color\u003C\u002Fstrong>\u003Cbr \u002F>\nyou can set custom text color for link text, separator and link background color\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Override via filter hook\u003C\u002Fstrong>\u003Cbr \u002F>\nYou can override breadcrumb element via filter hook.\u003C\u002Fp>\n\u003Ch3>Premium features\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Hide on archives\u003C\u002Fstrong>\u003Cbr \u002F>\nYou can dynamically hide breadcrumb on archive pages like Front page, Home page, Blog, Author, Search, Year, Month, Date, Categories, Tags\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Hide by post types\u003C\u002Fstrong>\u003Cbr \u002F>\nHide breadcrumb based on different post types.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Hide by post ids\u003C\u002Fstrong>\u003Cbr \u002F>\nHide breadcrumb based on post ids, you can use any post ids to hide breadcrumb to hide any specific post, Custom post types also supported.\u003C\u002Fp>\n\u003Ch3>Translation\u003C\u002Fh3>\n\u003Cp>Plugin is translation ready default default-en.po file inlcuded under following directory\u003C\u002Fp>\n\u003Cpre>\u003Ccode>breadcrumb\\languages\\\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>you can add your own translation , if you need some help please feel free to contact.\u003C\u002Fp>\n","Super light weight & easy breadcrumb navigation for wordpress site.",20000,405021,90,35,"2025-12-17T15:40:00.000Z","3.8",[107,129,108,22,130],"breadcrumb-nav","woocommerce-breadcrumb","https:\u002F\u002Fpickplugins.com\u002Fbreadcrumb\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbreadcrumb.1.5.54.zip","2023-01-11 00:00:00",{"attackSurface":135,"codeSignals":166,"taintFlows":194,"riskAssessment":252,"analyzedAt":264},{"hooks":136,"ajaxHandlers":159,"restRoutes":160,"shortcodes":161,"cronEvents":165,"entryPointCount":113,"unprotectedCount":13},[137,143,147,151,154,156,157,158],{"type":138,"name":139,"callback":140,"file":141,"line":142},"filter","mce_external_plugins","trailpassion_add_buttons","trail-passion.php",87,{"type":138,"name":144,"callback":145,"file":141,"line":146},"mce_buttons","trailpassion_register_buttons",88,{"type":148,"name":149,"callback":150,"file":141,"line":57},"action","init","trailpassion_buttons",{"type":138,"name":149,"callback":152,"file":141,"line":153},"trailpassion_css",106,{"type":138,"name":139,"callback":140,"file":155,"line":142},"trunk\\trail-passion.php",{"type":138,"name":144,"callback":145,"file":155,"line":146},{"type":148,"name":149,"callback":150,"file":155,"line":57},{"type":138,"name":149,"callback":152,"file":155,"line":153},[],[],[162,164],{"tag":4,"callback":163,"file":141,"line":34},"trailpassion_parse",{"tag":4,"callback":163,"file":155,"line":34},[],{"dangerousFunctions":167,"sqlUsage":168,"outputEscaping":170,"fileOperations":13,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":193},[],{"prepared":113,"raw":13,"locations":169},[],{"escaped":13,"rawEcho":171,"locations":172},12,[173,177,179,181,182,184,186,188,189,190,191,192],{"file":174,"line":175,"context":176},"tfw\\svc.php",40,"raw output",{"file":174,"line":178,"context":176},41,{"file":174,"line":180,"context":176},63,{"file":174,"line":153,"context":176},{"file":174,"line":183,"context":176},115,{"file":174,"line":185,"context":176},122,{"file":187,"line":175,"context":176},"trunk\\tfw\\svc.php",{"file":187,"line":178,"context":176},{"file":187,"line":180,"context":176},{"file":187,"line":153,"context":176},{"file":187,"line":183,"context":176},{"file":187,"line":185,"context":176},[],[195,235],{"entryPoint":196,"graph":197,"unsanitizedCount":233,"severity":234},"\u003Csvc> (tfw\\svc.php:0)",{"nodes":198,"edges":227},[199,204,209,212,216,219,221,225],{"id":200,"type":201,"label":202,"file":174,"line":203},"n0","source","$_SERVER['HTTP_ORIGIN']",15,{"id":205,"type":206,"label":207,"file":174,"line":203,"wp_function":208},"n1","sink","header() [Header Injection]","header",{"id":210,"type":201,"label":211,"file":174,"line":178},"n2","$_SERVER['REMOTE_ADDR']",{"id":213,"type":206,"label":214,"file":174,"line":178,"wp_function":215},"n3","echo() [XSS]","echo",{"id":217,"type":201,"label":218,"file":174,"line":180},"n4","$_REQUEST['i']",{"id":220,"type":206,"label":214,"file":174,"line":180,"wp_function":215},"n5",{"id":222,"type":201,"label":223,"file":174,"line":224},"n6","$_REQUEST (x2)",64,{"id":226,"type":206,"label":214,"file":174,"line":183,"wp_function":215},"n7",[228,230,231,232],{"from":200,"to":205,"sanitized":229},false,{"from":210,"to":213,"sanitized":229},{"from":217,"to":220,"sanitized":229},{"from":222,"to":226,"sanitized":229},5,"medium",{"entryPoint":236,"graph":237,"unsanitizedCount":233,"severity":234},"\u003Csvc> (trunk\\tfw\\svc.php:0)",{"nodes":238,"edges":247},[239,240,241,242,243,244,245,246],{"id":200,"type":201,"label":202,"file":187,"line":203},{"id":205,"type":206,"label":207,"file":187,"line":203,"wp_function":208},{"id":210,"type":201,"label":211,"file":187,"line":178},{"id":213,"type":206,"label":214,"file":187,"line":178,"wp_function":215},{"id":217,"type":201,"label":218,"file":187,"line":180},{"id":220,"type":206,"label":214,"file":187,"line":180,"wp_function":215},{"id":222,"type":201,"label":223,"file":187,"line":224},{"id":226,"type":206,"label":214,"file":187,"line":183,"wp_function":215},[248,249,250,251],{"from":200,"to":205,"sanitized":229},{"from":210,"to":213,"sanitized":229},{"from":217,"to":220,"sanitized":229},{"from":222,"to":226,"sanitized":229},{"summary":253,"deductions":254},"The \"trail-passion\" v1.0 plugin exhibits a concerning security posture primarily due to a complete lack of output escaping. While the plugin demonstrates good practices by using prepared statements for all SQL queries and has no recorded vulnerability history, the absence of output escaping presents a significant risk. Any data displayed by the plugin, whether user-submitted or otherwise, is not properly sanitized, opening the door to cross-site scripting (XSS) vulnerabilities. Attackers could potentially inject malicious scripts through these unescaped outputs, leading to session hijacking, defacement, or credential theft. The presence of two taint flows with unsanitized paths further reinforces this concern, indicating that data originating from untrusted sources is not being adequately processed before being used or displayed. Although the attack surface appears small with no unprotected entry points and no known CVEs, the critical flaw in output handling overshadows these positive aspects.",[255,257,260,262],{"reason":256,"points":11},"No output escaping",{"reason":258,"points":259},"Taint flows with unsanitized paths",8,{"reason":261,"points":233},"No nonce checks",{"reason":263,"points":233},"No capability checks","2026-03-17T00:47:53.184Z",{"wat":266,"direct":273},{"assetPaths":267,"generatorPatterns":269,"scriptPaths":270,"versionParams":272},[268],"\u002Fwp-content\u002Fplugins\u002Ftrail-passion\u002Ftrail-passion-plugin.css",[],[271],"\u002Fwp-content\u002Fplugins\u002Ftrail-passion\u002Ftrail-passion-plugin.js",[],{"cssClasses":274,"htmlComments":276,"htmlAttributes":277,"restEndpoints":278,"jsGlobals":279,"shortcodeOutput":280},[23,275],"fullscreen",[],[],[],[],[281,282],"\u003Cdiv class=\"trailpassion\"","\u003Cdiv class=\"fullscreen\""]