[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f7TICLcx81kn3YdFNBQqA36XJwTfbpps7wXS2ZN3Z6vQ":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":116,"fingerprints":299},"admiral-adblock-suite","Admiral Adblock Analytics","1.11.6","Admiral","https:\u002F\u002Fprofiles.wordpress.org\u002Fgetadmiral\u002F","\u003Cp>Admiral is the advertising industry’s most advanced platform to help publishers understand how adblocking affects them. With Admiral you can see how much revenue you are losing to adblockers and then start recovering that revenue automatically.\u003C\u002Fp>\n\u003Cp>The Admiral WordPress plugin is simple, free and easy. It takes less than 5 minutes to integrate into any existing WordPress site. Anyone earning ad revenue with their site needs a solution like Admiral.\u003C\u002Fp>\n\u003Ch4>Installation steps\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Install and activate the plugin\u003C\u002Fli>\n\u003Cli>Signup at \u003Ca href=\"https:\u002F\u002Fwww.getadmiral.com\u002Fsignup\" rel=\"nofollow ugc\">getadmiral.com\u002Fsignup\u003C\u002Fa> and create an account\u003C\u002Fli>\n\u003Cli>Copy your Property ID provided after signup or by navigating to the property settings page.\u003C\u002Fli>\n\u003Cli>Go to Settings > Admiral in WordPress and paste the Property ID that begins with \u003Ccode>A-\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Save Changes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Advanced Adblock Analytics\u003C\u002Fh4>\n\u003Cp>Admiral offers the most advanced adblock analytics on the planet — down to the impression level — for publishers curious about their adblock losses or measuring their efforts to recover lost revenues. We even offer DFP integration for large publishers looking for actionable intelligence for their adblock problem.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Easy to view and understand website and ad analytics\u003C\u002Fli>\n\u003Cli>Track active website visitors with adblockers\u003C\u002Fli>\n\u003Cli>Measure lost revenue from visitors with adblockers\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Advanced Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Engage with visitors to have your website whitelisted\u003C\u002Fli>\n\u003Cli>Start recovering lost revenue from visitors with adblockers\u003C\u002Fli>\n\u003Cli>Help and Support from our dedicated staff\u003C\u002Fli>\n\u003C\u002Ful>\n","Detect adblock, measure adblock and block adblock on your site. Help users of adblock plus, ublock and other adblockers whitelist your site.",300,24857,70,12,"2026-01-20T13:49:00.000Z","6.9.4","4.0","",[20,21,22,23,24],"adblock-analytics","adblock-blocker","block-adblock","detect-adblock","measure-adblock","http:\u002F\u002Fgetadmiral.com\u002Fwordpress","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadmiral-adblock-suite.1.11.6.zip",100,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},"getadmiral",3,440,90,30,87,"2026-04-04T09:53:57.579Z",[41,58,79,98],{"slug":42,"name":43,"version":44,"author":7,"author_profile":8,"description":45,"short_description":46,"active_installs":27,"downloaded":47,"rating":13,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":18,"tags":52,"homepage":18,"download_link":56,"security_score":57,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"kill-adblock","Block AdBlock","1.4","\u003Cp>Installing the Block AdBlock plugin allows publishers to lock their content until users disable their adblock add-ons. Locked content remains SEO friendly.\u003C\u002Fp>\n\u003Cp>For advanced analytics and revenue recovery solutions install: \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadmiral-adblock-suite\u002F\" rel=\"ugc\">Admiral Adblock Analytics\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Block AdBlock Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Random class naming to make it harder for Block AdBlock to be blocked\u003C\u002Fli>\n\u003Cli>The ability to customize your message across 3 different display units\u002Flayouts\u003C\u002Fli>\n\u003Cli>Message delay in seconds\u003C\u002Fli>\n\u003Cli>Hidden\u002FUnhidden “close button on custom message OR close message automatically after a few seconds\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Valid on\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Google Chrome\u003C\u002Fli>\n\u003Cli>Mozilla Firefox\u003C\u002Fli>\n\u003Cli>Internet Explorer (8+)\u003C\u002Fli>\n\u003Cli>Safari\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Opera\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=N9qeS9Iy4Ws\" rel=\"nofollow ugc\">Demo Video\u003C\u002Fa>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For more information regarding adblock detecting and revenue recovery, please visit \u003Ca href=\"https:\u002F\u002Fgetadmiral.com\u002F\" rel=\"nofollow ugc\">www.getadmiral.com\u003C\u002Fa>.\u003C\u002Fp>\n","Block AdBlock detects site visitors who have enabled adblocking software, and allows publishers to engage these users via customized display messages.",26190,26,"2018-07-02T19:31:00.000Z","4.9.29","3.2",[53,21,54,55,22],"adblock","anti-adblocker","block-ad-block","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fkill-adblock.1.4.zip",85,{"slug":59,"name":60,"version":61,"author":62,"author_profile":63,"description":64,"short_description":65,"active_installs":66,"downloaded":67,"rating":68,"num_ratings":69,"last_updated":70,"tested_up_to":16,"requires_at_least":71,"requires_php":72,"tags":73,"homepage":18,"download_link":75,"security_score":76,"vuln_count":77,"unpatched_count":28,"last_vuln_date":78,"fetched_at":30},"gotham-block-extra-light","Gotham Block Extra Light","1.6.0","Kapsule Corp","https:\u002F\u002Fprofiles.wordpress.org\u002Fgothamdev\u002F","\u003Cp>This plugin detects if the user’s browser has AdBlock software activated and displays a popup if this is the case (screenshot 1). The popup is 100% customizable.\u003C\u002Fp>\n\u003Cp>In addition, the aggressiveness of this popup is adjustable:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>LEVEL 1: The popup will inform the user that blocking ads kills your buisness model and invites them to deactivate their adblocker. The message will only be displayed once every x minutes\u002Fhours\u002Fdays, as long as the user has Adblock software activated, but the user can close the popup and continue browsing your site normally (even with Adblock activated)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>LEVEL 2: The popup will inform the user that blocking ads kills your buisness model and invites him to deactivate his adblocker. The message will appear on each page load, as long as the user has Adblock software activated, however the user can each time close the popup and continue browsing your site normally (even with Adblock activated)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>LEVEL 3: The popup will inform the user that blocking ads kills your buisness model and invites them to deactivate their adblocker. The message will appear on each page load, and the user will not be able to navigate on your site as long as he has Adblock software activated.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin is 100% Responsive and compatible with PC – Mac – Tablets and Smartphones on iOS – Android – Windows. It is compatible with Edge, Firefox, Google Chrome, Safari browsers.\u003C\u002Fp>\n\u003Cp>You can also easily customize the popup message and the close button in the setting page of this plugin (screenshot 2). It’s up to you to find the right words to make the Internet user feel guilty by adapting the message to your audience.\u003C\u002Fp>\n\u003Cp>This plugin is by default in English and French. But as you can customize the text in the admin, you can adapt the popup in the language of your choice.\u003C\u002Fp>\n\u003Cp>⭐ PREMIUM VERSION ⭐\u003C\u002Fp>\n\u003Cp>Add Unblock Ads Banners Widget for Premium. Are you tired of seeing your banners hidden by Adblock? With PREMIUM mode, configure in a shortcode or in a widget in 30 seconds: the url of the advertisement, the url of the image (and optionally its dimensions, its alt tag, its way of opening, if the url will be cloaked or not) to pass through Adblock. The advertising banner will be stored on your server and will be updated every 24 hours to always be in line with the advertiser’s offers, and never to become an old has-been banner!\u003C\u002Fp>\n\u003Cp>\u002F\u002F\u002F\u002F\u002F\u002F\u002F IN FRENCH \u002F\u002F\u002F\u002F\u003C\u002Fp>\n\u003Cp>Ce plugin détecte si le navigateur de l’internaute a un logiciel AdBlock d’activé et affiche une popup si c’est le cas (screenshot 1). La popup est 100% customisable.\u003C\u002Fp>\n\u003Cp>De plus, l’agressivité de cette popup est réglable :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>NIVEAU 1: La popup informera l’internaute que bloquer les publicités tue votre buisness model et l’invite à désactiver son adblocker. Le message ne s’affichera qu’une fois tous les x minutes\u002Fheures\u002Fjours, tant que l’internaute aura un logiciel Adblock activé, mais l’internaute pourra fermer la popup et continuer à naviguer sur votre site normalement (même avec Adblock activé)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>NIVEAU 2 : La popup informera l’internaute que bloquer les publicités tue votre buisness model et l’invite à désactiver son adblocker. Le message s’affichera à chaque chargement de page, tant que l’internaute aura un logiciel Adblock activé, cependant l’internaute pourra à chaque fois fermer la popup et continuer à naviguer sur votre site normalement (même avec Adblock activé)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>NIVEAU 3 : La popup informera l’internaute que bloquer les publicités tue votre buisness model et l’invite à désactiver son adblocker. Le message s’affichera à chaque chargement de page, et l’internaute ne pourra pas naviguer sur votre site tant qu’il aura un logiciel Adblock activé.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Ce plugin est 100% Responsive et compatible PC – Mac – Tablettes et Smartphones sous iOS – Android – Windows. Il est compatible avec les navigateurs Edge, Firefox, Google Chrome, Safari.\u003C\u002Fp>\n\u003Cp>Vous pourrez par ailleurs personnaliser très facilement le message de la popup ainsi que le bouton de fermeture dans la page de réglage de ce plugin (screenshot 2) . A vous de trouver les bons mots pour faire culpabiliser l’internaute en adaptant le message à votre public.\u003C\u002Fp>\n\u003Cp>Ce plugin est par défaut en Anglais et en Français. Mais comme vous pouvez personnaliser le texte dans l’admin, vous pourrez donc adapter la popup dans la langue de votre choix.\u003C\u002Fp>\n\u003Cp>⭐ PREMIUM VERSION ⭐\u003C\u002Fp>\n\u003Cp>Vous en avez marre de voir vos bannières masquées par Adblock ? Avec le mode PREMIUM, paramétrez dans un shortcode ou dans un widget en 30 secondes : l’url de la publicité, l’url de l’image ( et en option ses dimensions, sa balise alt, sa façon de s’ouvrir, si l’url sera cloaké ou non) pour passer à travers Adblock. La bannière publicitaire sera stocké sur votre serveur et sera mise à jour toutes les 24H pour être toujours en adéquation avec les offres de l’annonceur, et ne jamais devenir une vieille bannière has-been !\u003C\u002Fp>\n\u003Ch3>Bonus\u003C\u002Fh3>\n\u003Cp>Here’s a link to \u003Ca href=\"https:\u002F\u002Fwww.fournisseur-acces-internet.com\u002F\" title=\"Meilleur FAI\" rel=\"nofollow ugc\">Fournisseur Acces Internet\u003C\u002Fa> and one to \u003Ca href=\"https:\u002F\u002Fwww.balisemeta.com\u002F\" title=\"Balise HTML\" rel=\"nofollow ugc\">Balise META\u003C\u002Fa> ! It’s my gift for you !\u003C\u002Fp>\n","This plugin detects if the user's browser has AdBlock software activated and displays a popup if this is the case (screenshot 1).",50,6502,64,11,"2026-01-13T08:01:00.000Z","6.0","7.4.0",[53,74,22,23],"ads","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgotham-block-extra-light.zip",98,2,"2026-01-13 17:17:36",{"slug":80,"name":81,"version":82,"author":83,"author_profile":84,"description":85,"short_description":86,"active_installs":87,"downloaded":88,"rating":89,"num_ratings":90,"last_updated":18,"tested_up_to":91,"requires_at_least":92,"requires_php":93,"tags":94,"homepage":18,"download_link":96,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":97},"ns-adblock-blocker","NS AdBlock Blocker","1.1.0","NsThemes","https:\u002F\u002Fprofiles.wordpress.org\u002Fnsthemes\u002F","\u003Cp>NS AdBlock Blocker helps you to detect site visitors who have installed and activated adBlocking extensions.\u003Cbr \u002F>\nYou can require users to turn off their ad blocker before allowing them into the site.\u003Cbr \u002F>\nSubstantially this plugin, if adBlock is activated, redirect users into blocked page.\u003C\u002Fp>\n\u003Ch4>OTHER FEATURES\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Default page fully customizable\u003C\u002Fli>\n\u003Cli>Use your custom page \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>TESTED ON\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Google Chrome\u003C\u002Fli>\n\u003Cli>Mozilla Firefox\u003C\u002Fli>\n\u003Cli>Internet Explorer (8+)\u003C\u002Fli>\n\u003Cli>Safari\u003C\u002Fli>\n\u003Cli>Opera\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cem>With many adBlocker type. If you find incompatibility with one specific adBlocker or browser version, please inform us at \u003Ca href=\"mailto:adblockblocker@nsthemes.com\" rel=\"nofollow ugc\">report@nsthemes.com\u003C\u002Fa>.\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch3>PREMIUM FEATURES\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Choose where display message (page, modal, sticky bar)\u003C\u002Fli>\n\u003Cli>Modal fully customizable.\u003C\u002Fli>\n\u003Cli>Choose Modal header text, color and background color.\u003C\u002Fli>\n\u003Cli>Choose Modal body text, font-awesome, color and background color.\u003C\u002Fli>\n\u003Cli>Choose sticky bar text.\u003C\u002Fli>\n\u003Cli>Choose sticky bar color.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>See more info about premium version at \u003Ca href=\"https:\u002F\u002Fwww.nsthemes.com\u002Fproduct\u002Fadblock-blocker\u002F\" rel=\"nofollow ugc\">NsThemes Store.\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\u002FUcMn0Et9d7s?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\u003Cp>\u003Cem>We test our plugins with many other. If you find incompatibility with one specific plugin, please inform us at \u003Ca href=\"mailto:report@nsthemes.com\" rel=\"nofollow ugc\">report@nsthemes.com\u003C\u002Fa>.\u003C\u002Fem>\u003C\u002Fp>\n","Allows you to lock site display to users with ad Blockers installed and increase your earns.",10,5162,20,1,"5.9.13","5.0","5.3.29",[53,95,74,22,23],"adblock-block","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fns-adblock-blocker.1.1.0.zip","2026-03-15T10:48:56.248Z",{"slug":23,"name":99,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":89,"downloaded":105,"rating":106,"num_ratings":107,"last_updated":108,"tested_up_to":50,"requires_at_least":109,"requires_php":18,"tags":110,"homepage":114,"download_link":115,"security_score":57,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"Detect AdBlock","1.0.0","Alobaidi","https:\u002F\u002Fprofiles.wordpress.org\u002Falobaidi\u002F","\u003Ch3>Detect AdBlock\u003C\u002Fh3>\n\u003Cp>Detect AdBlock and prevent browsing when the visitor has AdBlock in the browser.\u003C\u002Fp>\n\u003Ch3>The Features\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Easy to use and fast.\u003C\u002Fli>\n\u003Cli>SEO Friendly, no affected with SEO.\u003C\u002Fli>\n\u003Cli>Prevent website browsing using PHP Cookie and Session.\u003C\u002Fli>\n\u003Cli>Custom message with Preview.\u003C\u002Fli>\n\u003Cli>Translate the message to your language easily (in settings page).\u003C\u002Fli>\n\u003Cli>Prevent Detect AdBlock from some users (for example disable detect adblock if the user is admin or editor, etc).\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Live Demo & Explanation of Use\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwp-plugins.in\u002FDetectAdBlock\" rel=\"nofollow ugc\">http:\u002F\u002Fwp-plugins.in\u002FDetectAdBlock\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Rate The Plugin\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fview\u002Fplugin-reviews\u002Fdetect-adblock#postform\" rel=\"ugc\">Please rate Detect AdBlock plugin\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>More Plugins\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Falobaidi#content-plugins\" rel=\"nofollow ugc\">My Plugins\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Detect AdBlock and prevent browsing when the visitor has AdBlock in the browser! Easy to use, just install it and activate it.",5992,68,5,"2018-02-10T22:33:00.000Z","3.1.0",[111,112,53,113,23],"ad-blocker","ad-blocking","block","http:\u002F\u002Fwp-plugins.in\u002FDetectAdBlock","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdetect-adblock.zip",{"attackSurface":117,"codeSignals":166,"taintFlows":238,"riskAssessment":289,"analyzedAt":298},{"hooks":118,"ajaxHandlers":162,"restRoutes":163,"shortcodes":164,"cronEvents":165,"entryPointCount":28,"unprotectedCount":28},[119,125,128,131,134,137,140,144,147,150,154,157,160],{"type":120,"name":121,"callback":122,"file":123,"line":124},"action","admin_init","closure","adminHooks.php",9,{"type":120,"name":126,"callback":122,"file":123,"line":127},"admin_post_refresh_admiral_embed",17,{"type":120,"name":129,"callback":122,"file":123,"line":130},"admin_menu",34,{"type":120,"name":132,"callback":122,"file":123,"line":133},"init",285,{"type":120,"name":135,"callback":122,"file":123,"line":136},"admin_notices",295,{"type":120,"name":138,"callback":122,"priority":87,"file":123,"line":139},"upgrader_process_complete",312,{"type":120,"name":141,"callback":122,"file":142,"line":143},"wp_print_scripts","index.php",40,{"type":120,"name":132,"callback":122,"file":145,"line":146},"protectHooks.php",14,{"type":120,"name":148,"callback":122,"file":145,"line":149},"template_redirect",63,{"type":151,"name":152,"callback":122,"file":145,"line":153},"filter","wp_headers",364,{"type":151,"name":155,"callback":122,"file":145,"line":156},"wp_head",379,{"type":151,"name":158,"callback":122,"priority":90,"file":145,"line":159},"the_content",391,{"type":120,"name":132,"callback":122,"file":161,"line":107},"proxyHooks.php",[],[],[],[],{"dangerousFunctions":167,"sqlUsage":168,"outputEscaping":170,"fileOperations":90,"externalRequests":77,"nonceChecks":77,"capabilityChecks":77,"bundledLibraries":237},[],{"prepared":28,"raw":28,"locations":169},[],{"escaped":171,"rawEcho":172,"locations":173},7,33,[174,176,178,179,181,183,185,187,189,191,193,195,197,199,201,203,205,207,209,211,213,215,217,219,221,223,225,226,228,230,232,234,236],{"file":123,"line":13,"context":175},"raw output",{"file":123,"line":177,"context":175},77,{"file":123,"line":57,"context":175},{"file":123,"line":180,"context":175},95,{"file":123,"line":182,"context":175},116,{"file":123,"line":184,"context":175},122,{"file":123,"line":186,"context":175},132,{"file":123,"line":188,"context":175},138,{"file":123,"line":190,"context":175},145,{"file":123,"line":192,"context":175},156,{"file":123,"line":194,"context":175},166,{"file":123,"line":196,"context":175},176,{"file":123,"line":198,"context":175},189,{"file":123,"line":200,"context":175},193,{"file":123,"line":202,"context":175},206,{"file":123,"line":204,"context":175},214,{"file":123,"line":206,"context":175},223,{"file":123,"line":208,"context":175},231,{"file":123,"line":210,"context":175},235,{"file":123,"line":212,"context":175},240,{"file":123,"line":214,"context":175},244,{"file":123,"line":216,"context":175},257,{"file":123,"line":218,"context":175},271,{"file":123,"line":220,"context":175},303,{"file":142,"line":222,"context":175},44,{"file":145,"line":224,"context":175},19,{"file":145,"line":37,"context":175},{"file":145,"line":227,"context":175},38,{"file":145,"line":229,"context":175},55,{"file":145,"line":231,"context":175},384,{"file":145,"line":233,"context":175},437,{"file":161,"line":235,"context":175},42,{"file":161,"line":222,"context":175},[],[239,259,267,280],{"entryPoint":240,"graph":241,"unsanitizedCount":90,"severity":258},"updatePropertyIDByPOST (AdmiralAdBlockAnalytics.php:192)",{"nodes":242,"edges":255},[243,249],{"id":244,"type":245,"label":246,"file":247,"line":248},"n0","source","$_POST","AdmiralAdBlockAnalytics.php",194,{"id":250,"type":251,"label":252,"file":247,"line":253,"wp_function":254},"n1","sink","update_option() [Settings Manipulation]",200,"update_option",[256],{"from":244,"to":250,"sanitized":257},false,"low",{"entryPoint":260,"graph":261,"unsanitizedCount":90,"severity":258},"\u003CAdmiralAdBlockAnalytics> (AdmiralAdBlockAnalytics.php:0)",{"nodes":262,"edges":265},[263,264],{"id":244,"type":245,"label":246,"file":247,"line":248},{"id":250,"type":251,"label":252,"file":247,"line":253,"wp_function":254},[266],{"from":244,"to":250,"sanitized":257},{"entryPoint":268,"graph":269,"unsanitizedCount":28,"severity":258},"\u003CprotectHooks> (protectHooks.php:0)",{"nodes":270,"edges":277},[271,274],{"id":244,"type":245,"label":272,"file":145,"line":273},"$_GET",36,{"id":250,"type":251,"label":275,"file":145,"line":227,"wp_function":276},"echo() [XSS]","echo",[278],{"from":244,"to":250,"sanitized":279},true,{"entryPoint":281,"graph":282,"unsanitizedCount":90,"severity":258},"\u003CproxyHooks> (proxyHooks.php:0)",{"nodes":283,"edges":287},[284,286],{"id":244,"type":245,"label":285,"file":161,"line":130},"$_SERVER",{"id":250,"type":251,"label":275,"file":161,"line":222,"wp_function":276},[288],{"from":244,"to":250,"sanitized":257},{"summary":290,"deductions":291},"The static analysis of 'admiral-adblock-suite' v1.11.6 reveals a generally strong security posture, with no identified entry points like AJAX handlers, REST API routes, or shortcodes that lack authentication. The plugin also demonstrates good practices by utilizing prepared statements for all SQL queries. However, a significant concern arises from the output escaping, with only 18% of outputs being properly escaped. This indicates a potential for Cross-Site Scripting (XSS) vulnerabilities, especially given the presence of file operations and external HTTP requests which can sometimes lead to unsanitized data being outputted.\n\nThe taint analysis further highlights this concern, showing 3 flows with unsanitized paths out of 4 analyzed. While no critical or high severity taint flows were detected, the presence of unsanitized paths is a red flag that needs careful investigation. The lack of any recorded CVEs in the vulnerability history is a positive sign, suggesting a history of responsible development or fewer past security issues. However, it's crucial to remember that a clean history doesn't guarantee future security, especially with the identified output escaping and taint flow issues.\n\nIn conclusion, while the plugin has several strengths, particularly in its limited attack surface and SQL handling, the insufficient output escaping and the presence of unsanitized paths in the taint analysis present a notable risk. The plugin would benefit from a thorough review of its output handling mechanisms to mitigate potential XSS vulnerabilities. The lack of historical vulnerabilities is a good sign, but the current code analysis warrants attention.",[292,295],{"reason":293,"points":294},"Insufficient output escaping",8,{"reason":296,"points":297},"Unsanitized paths in taint analysis",6,"2026-03-16T20:02:05.581Z",{"wat":300,"direct":309},{"assetPaths":301,"generatorPatterns":304,"scriptPaths":305,"versionParams":306},[302,303],"\u002Fwp-content\u002Fplugins\u002Fadmiral-adblock-suite\u002Fassets\u002Fjs\u002Fadmiral-adblock-suite.js","\u002Fwp-content\u002Fplugins\u002Fadmiral-adblock-suite\u002Fassets\u002Fcss\u002Fadmiral-adblock-suite.css",[],[302],[307,308],"admiral-adblock-suite\u002Fassets\u002Fjs\u002Fadmiral-adblock-suite.js?ver=","admiral-adblock-suite\u002Fassets\u002Fcss\u002Fadmiral-adblock-suite.css?ver=",{"cssClasses":310,"htmlComments":312,"htmlAttributes":314,"restEndpoints":316,"jsGlobals":318,"shortcodeOutput":320},[311],"adm-auth-message",[313],"EOF",[315],"data-admiral-property-id",[317],"\u002Fwp-json\u002Fadmiral\u002Fv1\u002Fapi",[319],"admiralAdBlockAnalyticsConfig",[]]