[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fmd9qm8A1LG3IhcK73I9RsA2VLfo4gnc577C7I27jz1E":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":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":40,"analysis":131,"fingerprints":205},"m1miniweather","m1.MiniWeather","0.5","maennchen1.de","https:\u002F\u002Fprofiles.wordpress.org\u002Fmaennchen1de\u002F","\u003Cp>This plugin easily displays a weather widget with a destination of your choice. No PHP or Shortcode, just a widget.\u003Cbr \u002F>\nIt caches the requests to the weather database in given intervals.\u003Cbr \u002F>\nYou will need a free account at https:\u002F\u002Fhome.openweathermap.org\u002Fusers\u002Fsign_up .\u003C\u002Fp>\n\u003Cp>Font-Icons by Erik Flowers: https:\u002F\u002Ferikflowers.github.io\u002Fweather-icons\u002F\u003C\u002Fp>\n","This plugin easily displays a weather widget (icon + temperature) with a destination of your choice.",400,11194,100,3,"2024-07-16T05:23:00.000Z","6.6.5","4.0","5.4",[20,21,22,23,24],"cloud","conditions","temperature","weather","widget","http:\u002F\u002Fmaennchen1.de","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fm1miniweather.0.5.zip",92,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":36,"avg_patch_time_days":37,"trust_score":38,"computed_at":39},"maennchen1de",5,1500,90,68,81,"2026-04-04T19:06:40.240Z",[41,61,80,98,114],{"slug":42,"name":43,"version":44,"author":42,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":50,"num_ratings":14,"last_updated":51,"tested_up_to":52,"requires_at_least":53,"requires_php":54,"tags":55,"homepage":59,"download_link":60,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"meteoart","Meteo","1.0.0","https:\u002F\u002Fprofiles.wordpress.org\u002Fmeteoart\u002F","\u003Cp>The best French weather forecast widget plugin!\u003C\u002Fp>\n\u003Cp>MeteoArt.com offers an accurate weather forecast for all cities around the world.\u003Cbr \u002F>\nSet the city and country and embed the widget in your website\u002Fblog.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Widgets are free of charge\u003C\u002Fli>\n\u003Cli>Widget style can be customized\u003C\u002Fli>\n\u003Cli>Responsive weather widget\u003C\u002Fli>\n\u003Cli>No development skills are needed\u003C\u002Fli>\n\u003Cli>High performance and lightweight code\u003C\u002Fli>\n\u003Cli>SEO friendly – no iframes\u003C\u002Fli>\n\u003Cli>Select your display language – French\u002FEnglish\u003C\u002Fli>\n\u003Cli>Block editor \u002F Shortcode support \u002F Classic Widgets \u002F Legacy widgets\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>** For special customization requests, please contact this mail -> contact@meteoart.com\u003C\u002Fp>\n\u003Cp>The Meteo plugin is relying on a 3rd party as a service, the widget is using weather services provided by MeteoArt.com.\u003Cbr \u002F>\n* Service provider link – \u003Ca href=\"https:\u002F\u002Fwww.meteo.com\" rel=\"nofollow ugc\">Meteo Art\u003C\u002Fa>\u003Cbr \u002F>\n* Service provider terms of use link – https:\u002F\u002Fwww.meteo.com\u002Fterms\u003Cbr \u002F>\n* Service privacy policy link – https:\u002F\u002Fwww.meteo.com\u002Fprivacy\u003C\u002Fp>\n\u003Ch3>Easy Installation\u003C\u002Fh3>\n\u003Cp>There are several options for installation\u003C\u002Fp>\n\u003Ch3>Block Editor\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Open the Block Editor for the post or page where you want the widget.\u003C\u002Fli>\n\u003Cli>Add the “MeteoArt Widget” block.\u003C\u002Fli>\n\u003Cli>Customize the widget settings as desired.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Shortcode\u003C\u002Fh3>\n\u003Cp>Insert \u003Ccode>[meteo city=\"Paris\" country=\"France\"]\u003C\u002Fcode> into your content, replacing \u003Ccode>CityName\u003C\u002Fcode> and \u003Ccode>CountryName\u003C\u002Fcode> with your location.\u003C\u002Fp>\n\u003Ch3>Classic Widgets\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to \u003Ccode>Appearance > Widgets\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Add the “MeteoArt Widget” to your sidebar.\u003C\u002Fli>\n\u003Cli>Configure the settings and save.\u003C\u002Fli>\n\u003C\u002Fol>\n","Add an accurate French weather forecast to your site. Choose any city and country, then embed the customizable MeteoArt widget.",800,9393,80,"2025-05-13T05:04:00.000Z","6.8.5","4.0.1","",[56,57,22,58],"meteo","previsions","weather-widget","https:\u002F\u002Fwww.meteoart.com\u002Fwidgets","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmeteoart.1.0.0.zip",{"slug":62,"name":63,"version":44,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":68,"downloaded":69,"rating":13,"num_ratings":70,"last_updated":71,"tested_up_to":72,"requires_at_least":53,"requires_php":54,"tags":73,"homepage":77,"download_link":78,"security_score":79,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"vejret-widget","Vejret Widget","vejret","https:\u002F\u002Fprofiles.wordpress.org\u002Fvejret\u002F","\u003Cp>The only Danish weather forecast widget plugin!\u003C\u002Fp>\n\u003Cp>Vejreti.com offers an accurate weather forecast for all cities around the world.\u003Cbr \u002F>\nJust set the city and country and embed the widget in your website\u002Fblog.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Widgets are free of charge\u003C\u002Fli>\n\u003Cli>Widget style can be customized\u003C\u002Fli>\n\u003Cli>Responsive weather widget\u003C\u002Fli>\n\u003Cli>No development skills are needed\u003C\u002Fli>\n\u003Cli>High performance and lightweight code\u003C\u002Fli>\n\u003Cli>SEO friendly – no iframes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>** For customization requests please contact this mail contact@vejreti.com\u003C\u002Fp>\n","This is a Danish weather forecast widget, Just select your location and you are good to go!",40,1618,1,"2024-02-29T15:10:00.000Z","6.4.8",[74,64,75,76,58],"temperaturer","vejrudsigt","vind","https:\u002F\u002Fwww.vejreti.com\u002Fwidgets","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fvejret-widget.zip",85,{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":28,"downloaded":88,"rating":28,"num_ratings":28,"last_updated":89,"tested_up_to":90,"requires_at_least":91,"requires_php":92,"tags":93,"homepage":96,"download_link":97,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"30yearweather-widget","30YearWeather Widget","1.0.2","30yearweather","https:\u002F\u002Fprofiles.wordpress.org\u002F30yearweather\u002F","\u003Cp>\u003Cstrong>30YearWeather Widget\u003C\u002Fstrong> allows you to embed stunning, data-driven weather widgets on your WordPress site. Perfect for travel blogs, tourism websites, and destination guides.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>470+ Cities Worldwide\u003C\u002Fstrong> – From Paris to Tokyo, Bali to New York\u003C\u002Fli>\n\u003Cli>\u003Cstrong>30 Years of Data\u003C\u002Fstrong> – Based on NASA satellite historical records\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Best Time to Visit\u003C\u002Fstrong> – Help your readers plan their trips\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Temperature Charts\u003C\u002Fstrong> – Visual yearly temperature overview\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Two Themes\u003C\u002Fstrong> – Dark and light mode to match your site\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Two Layouts\u003C\u002Fstrong> – Classic (data-focused) or Visual (photo card)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gutenberg Block\u003C\u002Fstrong> – Easy drag-and-drop in the new editor\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode Support\u003C\u002Fstrong> – Works in classic editor too\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Responsive\u003C\u002Fstrong> – Looks great on mobile devices\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No API Key Required\u003C\u002Fstrong> – Just install and use\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Use Cases\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Travel blogs showcasing destination weather\u003C\u002Fli>\n\u003Cli>Tourism websites helping visitors plan\u003C\u002Fli>\n\u003Cli>Hotel and resort websites\u003C\u002Fli>\n\u003Cli>Study abroad information pages\u003C\u002Fli>\n\u003Cli>Wedding planning resources\u003C\u002Fli>\n\u003Cli>Photography location guides\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How It Works\u003C\u002Fh4>\n\u003Cp>The plugin embeds an iframe from 30yearweather.com that displays real-time weather data pulled from our servers. The data is based on 30 years of NASA POWER satellite observations, providing reliable historical averages.\u003C\u002Fp>\n\u003Ch4>Shortcode Usage\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[30yearweather city=\"prague\" theme=\"dark\" width=\"400\" height=\"450\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Parameters:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>city\u003C\u002Fcode> – City slug (e.g., “paris”, “new-york”, “tokyo”)\u003Cbr \u002F>\n* \u003Ccode>theme\u003C\u002Fcode> – “dark” or “light”\u003Cbr \u002F>\n* \u003Ccode>layout\u003C\u002Fcode> – “classic” or “visual”\u003Cbr \u002F>\n* \u003Ccode>content\u003C\u002Fcode> – Comma-separated sections: “bestMonths,climate,temperatures,rain,humidity,tourism”\u003Cbr \u002F>\n* \u003Ccode>width\u003C\u002Fcode> – Widget width in pixels (200-800)\u003Cbr \u002F>\n* \u003Ccode>height\u003C\u002Fcode> – Widget height in pixels (150-800)\u003C\u002Fp>\n\u003Ch4>Privacy\u003C\u002Fh4>\n\u003Cp>This plugin embeds content from 30yearweather.com via iframe. No personal data from your visitors is collected or transmitted. The embedded widget does not use cookies or tracking scripts.\u003C\u002Fp>\n\u003Cp>For more information, see our \u003Ca href=\"https:\u002F\u002F30yearweather.com\u002Fprivacy\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>.\u003C\u002Fp>\n","Embed beautiful weather widgets showing 30 years of historical climate data for 470+ destinations worldwide.",122,"2026-01-20T07:38:00.000Z","6.9.4","5.8","7.4",[94,22,95,23,24],"climate","travel","https:\u002F\u002F30yearweather.com\u002Fwidgets","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002F30yearweather-widget.1.0.2.zip",{"slug":99,"name":100,"version":44,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":28,"downloaded":105,"rating":28,"num_ratings":28,"last_updated":54,"tested_up_to":106,"requires_at_least":107,"requires_php":92,"tags":108,"homepage":111,"download_link":112,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":113},"custom-location-weather","Custom Location Weather","paulanunobi","https:\u002F\u002Fprofiles.wordpress.org\u002Fpaulanunobi\u002F","\u003Cp>Custom Location Weather Plugin is a versatile WordPress plugin that displays real-time weather information and local time for any location worldwide. Perfect for travel websites, local businesses, or any site needing to display weather information.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Real-time weather data display using OpenWeatherMap API\u003C\u002Fli>\n\u003Cli>Customizable location settings\u003C\u002Fli>\n\u003Cli>Temperature unit toggle (Celsius\u002FFahrenheit)\u003C\u002Fli>\n\u003Cli>Custom weather icons\u003C\u002Fli>\n\u003Cli>Responsive design\u003C\u002Fli>\n\u003Cli>Cached data to minimize API calls\u003C\u002Fli>\n\u003Cli>Easy implementation via shortcode\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Basic Usage\u003C\u002Fh4>\n\u003Cp>Simply use the shortcode \u003Ccode>[custom_weather_time]\u003C\u002Fcode> to display weather information on any post or page.\u003C\u002Fp>\n\u003Ch4>Display Options\u003C\u002Fh4>\n\u003Cp>The weather display includes:\u003Cbr \u002F>\n* Current temperature\u003Cbr \u002F>\n* Weather condition\u003Cbr \u002F>\n* Humidity level\u003Cbr \u002F>\n* Wind speed\u003Cbr \u002F>\n* Current date and time\u003Cbr \u002F>\n* Temperature unit toggle button\u003C\u002Fp>\n\u003Ch3>Technical Details\u003C\u002Fh3>\n\u003Ch4>File Structure\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>`\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>custom-location-weather\u002F\u003Cbr \u002F>\n├── custom-location-weather.php (Main plugin file)\u003Cbr \u002F>\n├── templates\u002F\u003Cbr \u002F>\n│   ├── admin-settings.php (Admin interface template)\u003Cbr \u002F>\n│   └── weather-display.php (Frontend display template)\u003Cbr \u002F>\n├── assets\u002F\u003Cbr \u002F>\n│   ├── css\u002F\u003Cbr \u002F>\n│   │   └── style.css (Plugin styles)\u003Cbr \u002F>\n│   ├── js\u002F\u003Cbr \u002F>\n│   │   └── script.js (Frontend functionality)\u003Cbr \u002F>\n│   └── images\u002F\u003Cbr \u002F>\n│       └── [weather icons]\u003Cbr \u002F>\n    `\u003C\u002Fp>\n\u003Ch4>API Integration\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Provider: OpenWeatherMap\u003C\u002Fli>\n\u003Cli>Endpoint: api.openweathermap.org\u002Fdata\u002F2.5\u002Fweather\u003C\u002Fli>\n\u003Cli>Method: GET\u003C\u002Fli>\n\u003Cli>Cache Duration: 30 minutes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Security\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Direct file access prevention\u003C\u002Fli>\n\u003Cli>Data sanitization\u003C\u002Fli>\n\u003Cli>XSS prevention\u003C\u002Fli>\n\u003Cli>CSRF protection\u003C\u002Fli>\n\u003Cli>Secure API key storage\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support queries, please email hello@paulanunobi.com or visit our support page at https:\u002F\u002Fpaulanunobi.com\u002Fcustom-location-weather.\u003C\u002Fp>\n\u003Ch3>Future Updates\u003C\u002Fh3>\n\u003Cp>Planned features for upcoming releases:\u003Cbr \u002F>\n* Multiple location support\u003Cbr \u002F>\n* Extended forecast display\u003Cbr \u002F>\n* Additional customization options\u003Cbr \u002F>\n* Widget implementation\u003Cbr \u002F>\n* Weather alerts integration\u003C\u002Fp>\n","Display current weather conditions and local time for any specified location using OpenWeatherMap API.",477,"6.7.5","6.0",[109,110,22,23,58],"location","openweathermap","https:\u002F\u002Fpaulanunobi.com\u002Fcustom-location-weather","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-location-weather.1.0.0.zip","2026-03-15T10:48:56.248Z",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":28,"downloaded":122,"rating":28,"num_ratings":28,"last_updated":54,"tested_up_to":123,"requires_at_least":18,"requires_php":124,"tags":125,"homepage":129,"download_link":130,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":113},"windycoat","WindyCoat","1.3.0","Nicholas Mercer","https:\u002F\u002Fprofiles.wordpress.org\u002Fkittabit\u002F","\u003Ch3>CSS Overrides\u003C\u002Fh3>\n\u003Cp>Global Overrides:\u003Cbr \u002F>\n* .windycoat_container\u003Cbr \u002F>\n* .windycoat_loading\u003C\u002Fp>\n\u003Cp>Basic Theme Overrides:\u003Cbr \u002F>\n* .windycoat_container.windycoat-theme-basic\u003Cbr \u002F>\n* .windycoat_current_container\u003Cbr \u002F>\n* .windycoat_current_container_left\u003Cbr \u002F>\n* .windycoat_current_description\u003Cbr \u002F>\n* .windycoat_50_50_grid\u003Cbr \u002F>\n* .windycoat_50_50_grid_column\u003Cbr \u002F>\n* .windycoat_grid_column_title\u003Cbr \u002F>\n* .windycoat_grid_column_value\u003Cbr \u002F>\n* .windycoat_current_container_right\u003Cbr \u002F>\n* .windycoat_33_grid\u003Cbr \u002F>\n* .windycoat_33_grid_column\u003Cbr \u002F>\n* .windycoat-subtitle\u003Cbr \u002F>\n* .windycoat_hourly_container\u003Cbr \u002F>\n* .windycoat_hourly_single\u003Cbr \u002F>\n* .windycoat_hourly-temp\u003Cbr \u002F>\n* .windycoat_hourly-icon\u003Cbr \u002F>\n* .windycoat_hourly-time\u003Cbr \u002F>\n* .windycoat_hourly-period\u003Cbr \u002F>\n* .windycoat_daily_container\u003Cbr \u002F>\n* .windycoat_daily_single\u003Cbr \u002F>\n* .windycoat_daily-temp\u003Cbr \u002F>\n* .windycoat_daily-icon\u003Cbr \u002F>\n* .windycoat_daily-label\u003Cbr \u002F>\n* .windycoat_footer\u003Cbr \u002F>\n* .windycoat_powered\u003C\u002Fp>\n\u003Cp>FlatUI Theme Overrides:\u003Cbr \u002F>\n* .windycoat_container.windycoat-theme-flat\u003Cbr \u002F>\n* .windycoat_flat_primary_container\u003Cbr \u002F>\n* .windycoat_flat_primary_upper\u003Cbr \u002F>\n* .windycoat_flat_primary_upper img\u003Cbr \u002F>\n* .windycoat_flat_primary_lower\u003Cbr \u002F>\n* .windycoat_flat_primary_lower_grid_single\u003Cbr \u002F>\n* .windycoat_flat_primary_upper .windycoat_current_description\u003Cbr \u002F>\n* .windycoat_current_date\u003Cbr \u002F>\n* .windycoat_low_and_high\u003Cbr \u002F>\n* .windycoat_low_and_high strong\u003Cbr \u002F>\n* .windycoat_low_and_high em\u003Cbr \u002F>\n* .windycoat_flat_primary_lower_grid_single_forecast\u003Cbr \u002F>\n* .windycoat_flat_primary_lower_grid_single_forecast img\u003Cbr \u002F>\n* .windycoat_forecast_label\u003Cbr \u002F>\n* .windycoat_forecast_low_high\u003Cbr \u002F>\n* .windycoat_current_temp\u003Cbr \u002F>\n* .windycoat_low_and_high_inner\u003Cbr \u002F>\n* .windycoat_flat_secondary_container\u003Cbr \u002F>\n* .windycoat_flat_hourly_single\u003Cbr \u002F>\n* .windycoat_flat_hourly_single_item\u003Cbr \u002F>\n* .windycoat_flat_hourly_single_icon\u003Cbr \u002F>\n* .windycoat_flat_hourly_single_icon img\u003Cbr \u002F>\n* .windycoat_flat_hourly_single_time\u003Cbr \u002F>\n* .windycoat_flat_hourly_single_humidity\u003Cbr \u002F>\n* .windycoat_flat_hourly_single_pressure\u003Cbr \u002F>\n* .windycoat_flat_hourly_single_wind\u003Cbr \u002F>\n* .windycoat_hourly_label\u003C\u002Fp>\n\u003Ch3>Coming Soon\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Design Options\u002FThemes & Tweaks\u003C\u002Fli>\n\u003Cli>Documentation & Filters\u003C\u002Fli>\n\u003Cli>Further 3rd Party Weather API Support\u003C\u002Fli>\n\u003C\u002Ful>\n","CSS Overrides",732,"5.9.13","7.0",[126,127,23,58,128],"current-conditions","location-weather","wordpress-weather-plugin","https:\u002F\u002Fwindycoat.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwindycoat.1.3.0.zip",{"attackSurface":132,"codeSignals":148,"taintFlows":191,"riskAssessment":192,"analyzedAt":204},{"hooks":133,"ajaxHandlers":144,"restRoutes":145,"shortcodes":146,"cronEvents":147,"entryPointCount":28,"unprotectedCount":28},[134,140],{"type":135,"name":136,"callback":137,"file":138,"line":139},"action","wp_enqueue_scripts","wp_enqueue_style","index.php",190,{"type":135,"name":141,"callback":142,"file":138,"line":143},"widgets_init","widget_init",191,[],[],[],[],{"dangerousFunctions":149,"sqlUsage":154,"outputEscaping":156,"fileOperations":28,"externalRequests":70,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":190},[150],{"fn":151,"file":138,"line":152,"context":153},"unserialize",88,"$m1mw_data = unserialize ( get_option( 'm1_miniweather_openweathermap' ));",{"prepared":28,"raw":28,"locations":155},[],{"escaped":28,"rawEcho":157,"locations":158},15,[159,162,164,166,168,170,172,174,176,178,180,182,184,186,188],{"file":138,"line":160,"context":161},103,"raw output",{"file":138,"line":163,"context":161},104,{"file":138,"line":165,"context":161},105,{"file":138,"line":167,"context":161},106,{"file":138,"line":169,"context":161},108,{"file":138,"line":171,"context":161},112,{"file":138,"line":173,"context":161},114,{"file":138,"line":175,"context":161},133,{"file":138,"line":177,"context":161},134,{"file":138,"line":179,"context":161},137,{"file":138,"line":181,"context":161},138,{"file":138,"line":183,"context":161},139,{"file":138,"line":185,"context":161},141,{"file":138,"line":187,"context":161},142,{"file":138,"line":189,"context":161},144,[],[],{"summary":193,"deductions":194},"The m1miniweather v0.5 plugin presents a mixed security picture. On the positive side, it has a clean vulnerability history with no recorded CVEs, indicating a potentially well-maintained codebase or limited exposure to known attack vectors.  The absence of an attack surface through AJAX, REST API, shortcodes, or cron events is also a significant strength, limiting direct entry points for attackers.  Furthermore, all SQL queries are properly prepared, which is a crucial security practice.\n\nHowever, several critical concerns emerge from the static analysis. The presence of the `unserialize` function without any apparent sanitization or checks is a major red flag, as it can lead to Remote Code Execution (RCE) if controlled by an attacker.  The fact that 100% of output is not properly escaped is another significant weakness, exposing the site to Cross-Site Scripting (XSS) vulnerabilities.  The lack of any nonce or capability checks across all identified entry points (even though there are none currently exposed) suggests a potential oversight in security implementation that could become a problem if functionality is added later.\n\nIn conclusion, while the plugin benefits from a lack of known vulnerabilities and a limited attack surface, the identified dangerous function (`unserialize`) and widespread unescaped output represent serious security risks that require immediate attention. The absence of security checks on potential future entry points also warrants consideration for a more robust security posture.",[195,198,200,202],{"reason":196,"points":197},"Unsanitized unserialize function",18,{"reason":199,"points":157},"0% of output properly escaped",{"reason":201,"points":34},"No nonce checks",{"reason":203,"points":34},"No capability checks","2026-03-16T19:51:43.907Z",{"wat":206,"direct":212},{"assetPaths":207,"generatorPatterns":209,"scriptPaths":210,"versionParams":211},[208],"\u002Fwp-content\u002Fplugins\u002Fm1miniweather\u002Fcss\u002Fweather-icons.min.css",[],[],[],{"cssClasses":213,"htmlComments":215,"htmlAttributes":216,"restEndpoints":218,"jsGlobals":219,"shortcodeOutput":220},[214],"m1mw_temp",[],[217],"id=\"m1_miniweather_widget\"",[],[],[]]