[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fbd7OMiVyyjEI87if-8AJn5YMlAuEaqJuuQMuxHiMNOA":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":39,"analysis":132,"fingerprints":798},"call-tracking-metrics","CallTrackingMetrics","2.1.8","taf2","https:\u002F\u002Fprofiles.wordpress.org\u002Ftaf2\u002F","\u003Cp>CallTrackingMetrics integrates with your WordPress site to provide powerful call tracking and attribution.\u003C\u002Fp>\n","CallTrackingMetrics integrates with your WordPress site to provide powerful call tracking and attribution.",3000,125043,74,3,"2026-02-16T14:22:00.000Z","6.9.4","6.5","8.2",[20,21,22,23,24],"advertising","call-tracking","conversation-analytics","google-ads","marketing-attribution","https:\u002F\u002Fcalltrackingmetrics.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcall-tracking-metrics.2.1.8.zip",100,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":35,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},2,3010,93,30,89,"2026-04-04T02:50:36.382Z",[40,63,80,98,113],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":27,"num_ratings":50,"last_updated":51,"tested_up_to":52,"requires_at_least":53,"requires_php":54,"tags":55,"homepage":60,"download_link":61,"security_score":62,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"rp-ads-manager","RedPic ADS Manager Lite","1.6.1","Vladimir","https:\u002F\u002Fprofiles.wordpress.org\u002Fsadikoff\u002F","\u003Cp>This is an Ads management WordPress plugin. It offers unlimited count of code blocks, which can be easily customized and placed wherever you want.\u003C\u002Fp>\n\u003Cp>Main \u003Cstrong>features\u003C\u002Fstrong>:\u003Cbr \u002F>\n1. Unlimited ads\u002Fwidgets creation\u003Cbr \u002F>\n2. A lot of default places for blocks (Top\u002FMiddle\u002FBottom\u002FAfter some tags\u002FAfter Post)\u003Cbr \u002F>\n3. Simple native interface\u003Cbr \u002F>\n4. Support any Ads code (HTML\u002FJS)\u003Cbr \u002F>\n5. Deffered js ads initialization in footer\u003Cbr \u002F>\n6. Include\u002FExclude ID policy\u003Cbr \u002F>\n7. Group ads for faster management\u003Cbr \u002F>\n8. Import from other ads management plugins\u003C\u002Fp>\n","JS\u002FHTML ads block manager. Allows you to create and insert blocks of code anywhere on the blog.",40,2782,1,"2021-10-13T06:08:00.000Z","5.8.13","4.0","5.6",[56,57,58,20,59],"ad","ad-manager","adsense","google-adsense","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Frp-ads-manager\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frp-ads-manager.1.6.1.zip",85,{"slug":64,"name":65,"version":66,"author":67,"author_profile":68,"description":69,"short_description":70,"active_installs":71,"downloaded":72,"rating":13,"num_ratings":14,"last_updated":73,"tested_up_to":74,"requires_at_least":75,"requires_php":69,"tags":76,"homepage":69,"download_link":79,"security_score":62,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"adngin-your-adsense-your-traffic-maximized-revenue-for-free","AdNgin-Adsense Revenue Optimization","1.0.1","yayabobi","https:\u002F\u002Fprofiles.wordpress.org\u002Fyayabobi\u002F","","Your AdSense, Your Traffic, Maximized Revenue",10,3863,"2016-03-24T11:11:00.000Z","4.3.34","3.0.1",[77,58,78,20,23],"ads","adsense-plugin","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadngin-your-adsense-your-traffic-maximized-revenue-for-free.0.6.zip",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":71,"downloaded":88,"rating":27,"num_ratings":14,"last_updated":89,"tested_up_to":16,"requires_at_least":90,"requires_php":91,"tags":92,"homepage":96,"download_link":97,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"adscale-ai","AdScale AI Ads Meta\u002FGoogle Ads","2.2.17","adscale","https:\u002F\u002Fprofiles.wordpress.org\u002Fassafadscale\u002F","\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\u002FDIEXblNblus?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\u003Ch4>AI ads for WooCommerce stores – trusted by thousands and built on 300M+ verified orders.\u003C\u002Fh4>\n\u003Cp>AdScale helps online stores grow faster with AI-powered advertising across multiple channels — all from one platform.\u003Cbr \u002F>\nSince 2018, AdScale has been transforming eCommerce advertising through advanced AI and proprietary data signals that even Google and Meta can’t access. This gives our users a clear advantage: more accurate targeting, smarter campaigns, and better results.\u003Cbr \u002F>\nOur AI is trained on insights from over 200 million eCommerce orders, giving online retailers a smarter way to scale through better data, automation, and results.\u003Cbr \u002F>\nIn addition to paid ads, AdScale makes it easy to run Email and SMS marketing — either within the platform or by integrating with your existing systems. Flexibility built in, so you can work the way you prefer.\u003Cbr \u002F>\nTrusted by 7,000+ online stores in 120+ countries, and proudly maintaining a top-rated score on the Shopify App Store, AdScale helps brands simplify their marketing, improve ROI, and grow profitably.\u003C\u002Fp>\n\u003Cp>⸻\u003C\u002Fp>\n\u003Cp>Shopify App Rating: ★★★★★ 4.8\u002F5\u003Cbr \u002F>\nGoogle & Meta partners.\u003C\u002Fp>\n","Scale WooCommerce sales with AI advertising. AI that builds audiences, Creating winning ads, launches Google & Meta ads, and optimizes ROAS 24\u002F7.",401,"2026-03-15T15:11:00.000Z","6.2","7.4",[20,93,94,23,95],"ecommerce","facebook-ads","woocommerce","https:\u002F\u002Fwww.adscale.com\u002Fintegration\u002F#woocommerce","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadscale-ai.zip",{"slug":99,"name":100,"version":101,"author":102,"author_profile":103,"description":104,"short_description":105,"active_installs":71,"downloaded":106,"rating":27,"num_ratings":33,"last_updated":107,"tested_up_to":108,"requires_at_least":53,"requires_php":69,"tags":109,"homepage":111,"download_link":112,"security_score":62,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"lh-multisite-ads","LH Multisite Ads","1.26","shawfactor","https:\u002F\u002Fprofiles.wordpress.org\u002Fshawfactor\u002F","\u003Cp>LH Multisite Ads allow you to automatically insert ads after paragraphs of your post content throughout your multisite network. This saves you the hassle of manually entering ads in each of your post, or installing a plugin on each inidivual site. This plugin is a for of the original \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Finsert-post-ads\u002F\" title=\"WordPress Insert Post Ads\" rel=\"friend ugc\">WordPress Insert Post Ads\u003C\u002Fa> plugin, but was forked to allow ads to be added in one place and displayed throughout the network.\u003C\u002Fp>\n\u003Cp>Inline content ads get the best click through rate. If you want to increase your CTR and Ad revenue, then you need to start adding ads within your post content.\u003C\u002Fp>\n\u003Cp>Major features of LH Multisite Ads\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**Set ads once that are displayed throughout your network\u003C\u002Fli>\n\u003Cli>**Whitelist sites to not have adverts\u003C\u002Fli>\n\u003Cli>**Caching of Ads via site transients to maintain performance\u003C\u002Fli>\n\u003C\u002Ful>\n","Allows you to insert ads after paragraphs of your post content, throughout your multisite network.",4396,"2019-09-08T03:22:00.000Z","5.2.24",[77,58,20,59,110],"multisite","https:\u002F\u002Flhero.org\u002Fportfolio\u002Flh-multisite-ads\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flh-multisite-ads.zip",{"slug":114,"name":115,"version":116,"author":117,"author_profile":118,"description":119,"short_description":120,"active_installs":71,"downloaded":121,"rating":27,"num_ratings":50,"last_updated":122,"tested_up_to":123,"requires_at_least":53,"requires_php":69,"tags":124,"homepage":129,"download_link":130,"security_score":62,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":131},"rexadz-monetization","REXADZ Monetization","1.0","rexdirectnet","https:\u002F\u002Fprofiles.wordpress.org\u002Frexdirectnet\u002F","\u003Cp>REXADZ is a WordPress plugin that allows you to monetize your website visitors, similar to Adsense, but with more control over appearance and targeting.  REXADZ automatically optimizes ads to ensure the most profitable results for your visitors. Receive payments monthly via PayPal, ACH, Wire or Check.\u003C\u002Fp>\n\u003Cp>To get started \u003Ca href=\"http:\u002F\u002Fwww.rexadz.com\u002F\" rel=\"nofollow ugc\">sign up\u003C\u002Fa> for a REXADZ account to pull WordPress shortcode.\u003C\u002Fp>\n\u003Ch4>Hassle free\u003C\u002Fh4>\n\u003Cp>We deal with the advertisers and offer a wide range of brand safe ads (i.e. no adult, no downloads, etc.). It’s free and easy to install.\u003Cbr \u002F>\n= Regular payouts=\u003Cbr \u002F>\nThe money you earn will be sent to you automatically, once a month. Payments are made via PayPal, ACH, Wire or Check.\u003C\u002Fp>\n\u003Ch4>Full control\u003C\u002Fh4>\n\u003Cp>You decide the format of the ads and how many you want to show.  Also, you can select categories of interest. It takes just minutes to implement and seconds to uninstall if you are not pleased with results.\u003C\u002Fp>\n\u003Ch4>Safe and secure\u003C\u002Fh4>\n\u003Cp>All your personal data is safe. Your websites will only be available to our trusted advertisers.\u003Cbr \u002F>\n= Real time reporting=\u003Cbr \u002F>\nFind out how much revenue you earned in real time.  Track websites separately as well as up to 2 additional variables.  This is particularly handy if you want to know earnings by traffic sources.\u003C\u002Fp>\n\u003Ch4>REXADZ integration support\u003C\u002Fh4>\n\u003Cp>REXADZ supports several different inventory \u002F placement options. Typically, those include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>New Member Registration\u003C\u002Fli>\n\u003Cli>Newsletter\u002FEmail Alert Sign Up\u003C\u002Fli>\n\u003Cli>Contest Entry\u003C\u002Fli>\n\u003Cli>Post-Purchase\u003C\u002Fli>\n\u003Cli>Banners, Tex Ads, in-line newsfeed\u003C\u002Fli>\n\u003Cli>And More…\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>The end result? Better engagement and a better user experience since the right ads are targeted to right audience at the right time on your website.\u003C\u002Fh4>\n","REXADZ is a simple and user-friendly ad solution that makes you money by automatically displaying targeted ads to your website visitors.",1406,"2016-11-22T22:14:00.000Z","4.6.30",[20,125,126,127,128],"earn-money-online","google-adsense-alternative","rexadz","website-monetization","http:\u002F\u002Fwww.rexadz.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frexadz-monetization.zip","2026-03-15T14:54:45.397Z",{"attackSurface":133,"codeSignals":373,"taintFlows":631,"riskAssessment":788,"analyzedAt":797},{"hooks":134,"ajaxHandlers":224,"restRoutes":370,"shortcodes":371,"cronEvents":372,"entryPointCount":48,"unprotectedCount":14},[135,141,144,147,151,155,159,162,165,169,172,175,177,181,185,190,194,198,200,202,205,208,213,216,218,220,222],{"type":136,"name":137,"callback":138,"file":139,"line":140},"action","admin_notices","closure","call-tracking-metrics.php",60,{"type":136,"name":142,"callback":138,"file":139,"line":143},"init",220,{"type":136,"name":137,"callback":145,"file":139,"line":146},"showPhoneNumberWarnings",253,{"type":136,"name":148,"callback":149,"file":139,"line":150},"admin_init","registerSettings",267,{"type":136,"name":152,"callback":153,"file":139,"line":154},"admin_menu","registerSettingsPage",268,{"type":136,"name":156,"callback":157,"file":139,"line":158},"wp_head","printTrackingScript",281,{"type":136,"name":142,"callback":160,"file":139,"line":161},"formInit",284,{"type":136,"name":152,"callback":163,"file":139,"line":164},"attachDashboard",287,{"type":136,"name":166,"callback":167,"priority":71,"file":139,"line":168},"wp_footer","cf7Confirmation",290,{"type":136,"name":166,"callback":170,"priority":71,"file":139,"line":171},"gfSessionTracking",291,{"type":136,"name":173,"callback":138,"file":139,"line":174},"admin_enqueue_scripts",295,{"type":136,"name":173,"callback":138,"file":139,"line":176},309,{"type":136,"name":178,"callback":179,"file":139,"line":180},"wp_dashboard_setup","maybeAddDashboardWidget",467,{"type":136,"name":182,"callback":183,"priority":71,"file":139,"line":184},"wpcf7_before_send_mail","submitCF7",574,{"type":186,"name":187,"callback":188,"priority":71,"file":139,"line":189},"filter","gform_validation","validateGFDuplicate",580,{"type":136,"name":191,"callback":192,"priority":71,"file":139,"line":193},"gform_after_submission","submitGF",582,{"type":186,"name":195,"callback":196,"priority":71,"file":139,"line":197},"gform_validation_message","customizeGFValidationMessage",584,{"type":136,"name":148,"callback":138,"file":139,"line":199},1680,{"type":136,"name":137,"callback":138,"file":139,"line":201},1706,{"type":136,"name":203,"callback":138,"file":139,"line":204},"admin_footer",1718,{"type":136,"name":148,"callback":138,"file":206,"line":207},"ctm.php",12,{"type":136,"name":209,"callback":210,"file":211,"line":212},"admin_head","addMenuIconCSS","src\\Admin\\Options.php",211,{"type":136,"name":137,"callback":214,"file":211,"line":215},"displaySettingsNotices",214,{"type":136,"name":137,"callback":138,"file":211,"line":217},942,{"type":136,"name":137,"callback":138,"file":211,"line":219},971,{"type":136,"name":137,"callback":138,"file":211,"line":221},1094,{"type":136,"name":137,"callback":138,"file":211,"line":223},1115,[225,231,235,239,243,247,252,255,259,263,267,272,276,280,284,288,292,297,301,303,305,307,311,315,319,323,327,331,334,337,340,343,346,350,354,357,361,362,365,368],{"action":226,"nopriv":227,"callback":228,"hasNonce":229,"hasCapCheck":227,"file":139,"line":230},"ctm_get_form_logs",false,"ajaxGetFormLogs",true,1169,{"action":232,"nopriv":227,"callback":233,"hasNonce":229,"hasCapCheck":227,"file":139,"line":234},"ctm_clear_form_logs","ajaxClearFormLogs",1170,{"action":236,"nopriv":227,"callback":237,"hasNonce":229,"hasCapCheck":227,"file":139,"line":238},"ctm_get_form_log_stats","ajaxGetFormLogStats",1171,{"action":240,"nopriv":227,"callback":241,"hasNonce":229,"hasCapCheck":227,"file":139,"line":242},"ctm_load_more_logs","ajaxLoadMoreLogs",1194,{"action":244,"nopriv":227,"callback":245,"hasNonce":229,"hasCapCheck":227,"file":139,"line":246},"ctm_load_more_days","ajaxLoadMoreDays",1195,{"action":248,"nopriv":227,"callback":249,"hasNonce":229,"hasCapCheck":227,"file":250,"line":251},"ctm_test_api_connection","ajaxTestApiConnection","src\\Admin\\Ajax\\ApiAjax.php",73,{"action":253,"nopriv":227,"callback":254,"hasNonce":229,"hasCapCheck":227,"file":250,"line":13},"ctm_simulate_api_request","ajaxSimulateApiRequest",{"action":256,"nopriv":227,"callback":257,"hasNonce":229,"hasCapCheck":229,"file":250,"line":258},"ctm_change_api_keys","ajaxChangeApiKeys",76,{"action":260,"nopriv":227,"callback":261,"hasNonce":229,"hasCapCheck":229,"file":250,"line":262},"ctm_disable_api","ajaxDisableApi",78,{"action":264,"nopriv":227,"callback":265,"hasNonce":229,"hasCapCheck":229,"file":250,"line":266},"ctm_fetch_tracking_script","ajaxFetchTrackingScript",80,{"action":268,"nopriv":227,"callback":269,"hasNonce":229,"hasCapCheck":229,"file":270,"line":271},"ctm_get_available_forms","getAvailableForms","src\\Admin\\Ajax\\FormImportAjax.php",67,{"action":273,"nopriv":227,"callback":274,"hasNonce":229,"hasCapCheck":229,"file":270,"line":275},"ctm_import_form","importForm",68,{"action":277,"nopriv":227,"callback":278,"hasNonce":229,"hasCapCheck":229,"file":270,"line":279},"ctm_preview_form","previewForm",69,{"action":281,"nopriv":227,"callback":282,"hasNonce":229,"hasCapCheck":229,"file":270,"line":283},"ctm_sync_form","syncForm",70,{"action":285,"nopriv":227,"callback":286,"hasNonce":229,"hasCapCheck":229,"file":270,"line":287},"ctm_update_form","updateForm",71,{"action":289,"nopriv":227,"callback":290,"hasNonce":229,"hasCapCheck":229,"file":270,"line":291},"ctm_preview_wp_form","previewWPForm",72,{"action":293,"nopriv":227,"callback":294,"hasNonce":229,"hasCapCheck":227,"file":295,"line":296},"ctm_get_form_usage","ajaxGetFormUsage","src\\Admin\\Ajax\\FormUsageAjax.php",42,{"action":298,"nopriv":227,"callback":299,"hasNonce":229,"hasCapCheck":227,"file":295,"line":300},"ctm_clear_form_usage_cache","ajaxClearFormUsageCache",43,{"action":226,"nopriv":227,"callback":228,"hasNonce":229,"hasCapCheck":227,"file":302,"line":36},"src\\Admin\\Ajax\\LogAjax.php",{"action":232,"nopriv":227,"callback":233,"hasNonce":229,"hasCapCheck":227,"file":302,"line":304},31,{"action":236,"nopriv":227,"callback":237,"hasNonce":229,"hasCapCheck":227,"file":302,"line":306},32,{"action":308,"nopriv":227,"callback":309,"hasNonce":229,"hasCapCheck":229,"file":302,"line":310},"ctm_clear_all_logs","ajaxClearAllLogs",33,{"action":312,"nopriv":227,"callback":313,"hasNonce":229,"hasCapCheck":227,"file":302,"line":314},"ctm_get_recent_errors","ajaxGetRecentErrors",34,{"action":316,"nopriv":227,"callback":317,"hasNonce":229,"hasCapCheck":227,"file":302,"line":318},"ctm_get_error_rate_stats","ajaxGetErrorRateStats",35,{"action":320,"nopriv":227,"callback":321,"hasNonce":229,"hasCapCheck":229,"file":302,"line":322},"ctm_update_log_settings","ajaxUpdateLogSettings",36,{"action":324,"nopriv":227,"callback":325,"hasNonce":229,"hasCapCheck":229,"file":302,"line":326},"ctm_load_more_group_entries","ajaxLoadMoreGroupEntries",37,{"action":328,"nopriv":227,"callback":329,"hasNonce":229,"hasCapCheck":227,"file":330,"line":306},"ctm_health_check","ajaxHealthCheck","src\\Admin\\Ajax\\SystemAjax.php",{"action":332,"nopriv":227,"callback":333,"hasNonce":229,"hasCapCheck":227,"file":330,"line":310},"ctm_analyze_issue","ajaxAnalyzeIssue",{"action":335,"nopriv":227,"callback":336,"hasNonce":229,"hasCapCheck":227,"file":330,"line":314},"ctm_email_system_info","ajaxEmailSystemInfo",{"action":338,"nopriv":227,"callback":339,"hasNonce":229,"hasCapCheck":227,"file":330,"line":318},"ctm_refresh_system_info","ajaxRefreshSystemInfo",{"action":341,"nopriv":227,"callback":342,"hasNonce":229,"hasCapCheck":227,"file":330,"line":322},"ctm_auto_fix_issues","ajaxAutoFixIssues",{"action":344,"nopriv":227,"callback":345,"hasNonce":229,"hasCapCheck":227,"file":330,"line":326},"ctm_full_diagnostic","ajaxFullDiagnostic",{"action":347,"nopriv":227,"callback":348,"hasNonce":229,"hasCapCheck":227,"file":330,"line":349},"ctm_security_scan","ajaxSecurityScan",38,{"action":351,"nopriv":227,"callback":352,"hasNonce":229,"hasCapCheck":227,"file":330,"line":353},"ctm_performance_analysis","ajaxPerformanceAnalysis",39,{"action":355,"nopriv":227,"callback":356,"hasNonce":229,"hasCapCheck":227,"file":330,"line":48},"ctm_export_diagnostic_report","ajaxExportDiagnosticReport",{"action":358,"nopriv":227,"callback":359,"hasNonce":227,"hasCapCheck":227,"file":360,"line":304},"ctm_get_performance_metrics","ajaxGetPerformanceMetrics","src\\Admin\\Ajax\\SystemPerformanceAjax.php",{"action":351,"nopriv":227,"callback":352,"hasNonce":229,"hasCapCheck":227,"file":360,"line":306},{"action":363,"nopriv":227,"callback":364,"hasNonce":227,"hasCapCheck":227,"file":360,"line":310},"ctm_test_performance","ajaxTestPerformance",{"action":366,"nopriv":227,"callback":367,"hasNonce":227,"hasCapCheck":227,"file":360,"line":314},"wp_ajax_test","ajaxTestWordPressAjax",{"action":347,"nopriv":227,"callback":348,"hasNonce":229,"hasCapCheck":227,"file":369,"line":304},"src\\Admin\\Ajax\\SystemSecurityAjax.php",[],[],[],{"dangerousFunctions":374,"sqlUsage":383,"outputEscaping":403,"fileOperations":624,"externalRequests":625,"nonceChecks":48,"capabilityChecks":626,"bundledLibraries":627},[375,380],{"fn":376,"file":377,"line":378,"context":379},"unserialize","src\\Service\\GFService.php",461,"$urls = is_array($fieldValue) ? $fieldValue : (is_serialized($fieldValue) ? unserialize($fieldValue)",{"fn":376,"file":377,"line":381,"context":382},491,"$arrayValue = is_array($fieldValue) ? $fieldValue : (is_serialized($fieldValue) ? unserialize($field",{"prepared":384,"raw":385,"locations":386},17,6,[387,390,393,396,398,400],{"file":330,"line":388,"context":389},1402,"$wpdb->get_var() with variable interpolation",{"file":391,"line":392,"context":389},"src\\Admin\\LoggingSystem.php",569,{"file":391,"line":394,"context":395},572,"$wpdb->query() with variable interpolation",{"file":391,"line":397,"context":395},588,{"file":391,"line":399,"context":395},591,{"file":391,"line":401,"context":402},611,"$wpdb->get_col() with variable interpolation",{"escaped":404,"rawEcho":405,"locations":406},382,110,[407,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,445,447,449,451,453,455,457,459,461,463,465,467,469,471,473,475,477,479,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,517,518,520,522,524,526,527,530,531,533,535,537,539,541,543,545,547,549,551,553,555,557,560,563,565,566,568,570,572,574,576,578,580,582,584,585,586,588,590,592,594,595,597,599,601,603,605,606,608,610,612,614,616,618,620,622],{"file":139,"line":408,"context":409},61,"raw output",{"file":139,"line":411,"context":409},555,{"file":139,"line":413,"context":409},1478,{"file":139,"line":415,"context":409},1483,{"file":270,"line":417,"context":409},507,{"file":270,"line":419,"context":409},510,{"file":270,"line":421,"context":409},520,{"file":211,"line":423,"context":409},394,{"file":211,"line":425,"context":409},943,{"file":211,"line":427,"context":409},972,{"file":211,"line":429,"context":409},1095,{"file":211,"line":431,"context":409},1116,{"file":211,"line":433,"context":409},1231,{"file":211,"line":435,"context":409},1242,{"file":211,"line":437,"context":409},1245,{"file":439,"line":287,"context":409},"src\\Admin\\SettingsRenderer.php",{"file":439,"line":441,"context":409},90,{"file":443,"line":444,"context":409},"views\\api-tab.php",161,{"file":443,"line":446,"context":409},182,{"file":443,"line":448,"context":409},188,{"file":443,"line":450,"context":409},222,{"file":443,"line":452,"context":409},329,{"file":443,"line":454,"context":409},335,{"file":443,"line":456,"context":409},439,{"file":443,"line":458,"context":409},440,{"file":443,"line":460,"context":409},441,{"file":443,"line":462,"context":409},443,{"file":464,"line":27,"context":409},"views\\debug-includes\\daily-logs.php",{"file":464,"line":466,"context":409},106,{"file":464,"line":468,"context":409},112,{"file":464,"line":470,"context":409},118,{"file":464,"line":472,"context":409},125,{"file":464,"line":474,"context":409},131,{"file":464,"line":476,"context":409},138,{"file":464,"line":478,"context":409},148,{"file":464,"line":478,"context":409},{"file":464,"line":481,"context":409},158,{"file":464,"line":483,"context":409},193,{"file":464,"line":485,"context":409},194,{"file":464,"line":487,"context":409},198,{"file":464,"line":489,"context":409},242,{"file":464,"line":491,"context":409},243,{"file":464,"line":493,"context":409},278,{"file":464,"line":495,"context":409},349,{"file":464,"line":497,"context":409},355,{"file":464,"line":499,"context":409},360,{"file":464,"line":501,"context":409},442,{"file":464,"line":503,"context":409},446,{"file":464,"line":505,"context":409},668,{"file":464,"line":507,"context":409},691,{"file":464,"line":509,"context":409},700,{"file":464,"line":511,"context":409},769,{"file":464,"line":513,"context":409},775,{"file":515,"line":516,"context":409},"views\\debug-includes\\debug-header.php",26,{"file":515,"line":310,"context":409},{"file":515,"line":519,"context":409},41,{"file":515,"line":521,"context":409},49,{"file":515,"line":523,"context":409},57,{"file":515,"line":525,"context":409},65,{"file":515,"line":291,"context":409},{"file":528,"line":529,"context":409},"views\\debug-includes\\health-check.php",251,{"file":528,"line":146,"context":409},{"file":532,"line":300,"context":409},"views\\debug-includes\\log-settings.php",{"file":532,"line":534,"context":409},145,{"file":532,"line":536,"context":409},152,{"file":532,"line":538,"context":409},159,{"file":532,"line":540,"context":409},165,{"file":532,"line":542,"context":409},172,{"file":532,"line":544,"context":409},255,{"file":532,"line":546,"context":409},257,{"file":532,"line":548,"context":409},292,{"file":532,"line":550,"context":409},294,{"file":532,"line":552,"context":409},376,{"file":532,"line":554,"context":409},399,{"file":532,"line":556,"context":409},408,{"file":558,"line":559,"context":409},"views\\debug-includes\\performance-monitor.php",454,{"file":561,"line":562,"context":409},"views\\form-import-tab.php",269,{"file":564,"line":287,"context":409},"views\\forms-tab.php",{"file":564,"line":485,"context":409},{"file":564,"line":567,"context":409},340,{"file":564,"line":569,"context":409},378,{"file":564,"line":571,"context":409},476,{"file":564,"line":573,"context":409},860,{"file":564,"line":575,"context":409},904,{"file":564,"line":577,"context":409},983,{"file":564,"line":579,"context":409},1042,{"file":564,"line":581,"context":409},1081,{"file":583,"line":48,"context":409},"views\\general-tab.php",{"file":583,"line":13,"context":409},{"file":583,"line":266,"context":409},{"file":583,"line":587,"context":409},174,{"file":583,"line":589,"context":409},180,{"file":583,"line":591,"context":409},233,{"file":583,"line":593,"context":409},237,{"file":583,"line":150,"context":409},{"file":583,"line":596,"context":409},271,{"file":583,"line":598,"context":409},282,{"file":583,"line":600,"context":409},288,{"file":583,"line":602,"context":409},293,{"file":583,"line":604,"context":409},315,{"file":583,"line":495,"context":409},{"file":583,"line":607,"context":409},387,{"file":583,"line":609,"context":409},388,{"file":583,"line":611,"context":409},389,{"file":583,"line":613,"context":409},390,{"file":615,"line":326,"context":409},"views\\settings-page.php",{"file":615,"line":617,"context":409},46,{"file":615,"line":619,"context":409},150,{"file":615,"line":621,"context":409},245,{"file":623,"line":50,"context":409},"views\\test-view.php",13,5,14,[628],{"name":629,"version":29,"knownCves":630},"Guzzle",[],[632,655,666,679,687,700,708,717,727,742,762,774],{"entryPoint":633,"graph":634,"unsanitizedCount":28,"severity":654},"ajaxLoadMoreLogs (call-tracking-metrics.php:1275)",{"nodes":635,"edges":651},[636,641,645],{"id":637,"type":638,"label":639,"file":139,"line":640},"n0","source","$_POST",1290,{"id":642,"type":643,"label":644,"file":139,"line":640},"n1","transform","→ getLogsForDate()",{"id":646,"type":647,"label":648,"file":391,"line":649,"wp_function":650},"n2","sink","get_results() [SQLi]",332,"get_results",[652,653],{"from":637,"to":642,"sanitized":227},{"from":642,"to":646,"sanitized":229},"low",{"entryPoint":656,"graph":657,"unsanitizedCount":28,"severity":654},"\u003Ccall-tracking-metrics> (call-tracking-metrics.php:0)",{"nodes":658,"edges":663},[659,661,662],{"id":637,"type":638,"label":660,"file":139,"line":640},"$_POST (x2)",{"id":642,"type":643,"label":644,"file":139,"line":640},{"id":646,"type":647,"label":648,"file":391,"line":649,"wp_function":650},[664,665],{"from":637,"to":642,"sanitized":227},{"from":642,"to":646,"sanitized":229},{"entryPoint":667,"graph":668,"unsanitizedCount":28,"severity":654},"ajaxTestApiConnection (src\\Admin\\Ajax\\ApiAjax.php:99)",{"nodes":669,"edges":677},[670,673],{"id":637,"type":638,"label":671,"file":250,"line":672},"$_POST (x3)",103,{"id":642,"type":647,"label":674,"file":250,"line":675,"wp_function":676},"update_option() [Settings Manipulation]",190,"update_option",[678],{"from":637,"to":642,"sanitized":229},{"entryPoint":680,"graph":681,"unsanitizedCount":28,"severity":654},"\u003CApiAjax> (src\\Admin\\Ajax\\ApiAjax.php:0)",{"nodes":682,"edges":685},[683,684],{"id":637,"type":638,"label":671,"file":250,"line":672},{"id":642,"type":647,"label":674,"file":250,"line":675,"wp_function":676},[686],{"from":637,"to":642,"sanitized":229},{"entryPoint":688,"graph":689,"unsanitizedCount":28,"severity":654},"ajaxGetFields (src\\Admin\\Ajax\\FormAjax.php:130)",{"nodes":690,"edges":698},[691,694],{"id":637,"type":638,"label":660,"file":692,"line":693},"src\\Admin\\Ajax\\FormAjax.php",134,{"id":642,"type":647,"label":695,"file":692,"line":696,"wp_function":697},"call_user_func() [RCE]",141,"call_user_func",[699],{"from":637,"to":642,"sanitized":229},{"entryPoint":701,"graph":702,"unsanitizedCount":28,"severity":654},"\u003CFormAjax> (src\\Admin\\Ajax\\FormAjax.php:0)",{"nodes":703,"edges":706},[704,705],{"id":637,"type":638,"label":660,"file":692,"line":693},{"id":642,"type":647,"label":695,"file":692,"line":696,"wp_function":697},[707],{"from":637,"to":642,"sanitized":229},{"entryPoint":709,"graph":710,"unsanitizedCount":28,"severity":654},"ajaxUpdateLogSettings (src\\Admin\\Ajax\\LogAjax.php:182)",{"nodes":711,"edges":715},[712,713],{"id":637,"type":638,"label":660,"file":302,"line":483},{"id":642,"type":647,"label":674,"file":302,"line":714,"wp_function":676},202,[716],{"from":637,"to":642,"sanitized":229},{"entryPoint":718,"graph":719,"unsanitizedCount":28,"severity":654},"ajaxLoadMoreGroupEntries (src\\Admin\\Ajax\\LogAjax.php:225)",{"nodes":720,"edges":724},[721,722,723],{"id":637,"type":638,"label":639,"file":302,"line":621},{"id":642,"type":643,"label":644,"file":302,"line":621},{"id":646,"type":647,"label":648,"file":391,"line":649,"wp_function":650},[725,726],{"from":637,"to":642,"sanitized":227},{"from":642,"to":646,"sanitized":229},{"entryPoint":728,"graph":729,"unsanitizedCount":28,"severity":654},"\u003CLogAjax> (src\\Admin\\Ajax\\LogAjax.php:0)",{"nodes":730,"edges":738},[731,732,733,734,736],{"id":637,"type":638,"label":660,"file":302,"line":483},{"id":642,"type":647,"label":674,"file":302,"line":714,"wp_function":676},{"id":646,"type":638,"label":639,"file":302,"line":621},{"id":735,"type":643,"label":644,"file":302,"line":621},"n3",{"id":737,"type":647,"label":648,"file":391,"line":649,"wp_function":650},"n4",[739,740,741],{"from":637,"to":642,"sanitized":229},{"from":646,"to":735,"sanitized":227},{"from":735,"to":737,"sanitized":229},{"entryPoint":743,"graph":744,"unsanitizedCount":28,"severity":654},"handleFormSubmission (src\\Admin\\Options.php:775)",{"nodes":745,"edges":758},[746,748,750,752,754],{"id":637,"type":638,"label":639,"file":211,"line":747},817,{"id":642,"type":647,"label":674,"file":211,"line":749,"wp_function":676},821,{"id":646,"type":638,"label":639,"file":211,"line":751},808,{"id":735,"type":643,"label":753,"file":211,"line":751},"→ clearDayLog()",{"id":737,"type":647,"label":755,"file":391,"line":756,"wp_function":757},"query() [SQLi]",546,"query",[759,760,761],{"from":637,"to":642,"sanitized":229},{"from":646,"to":735,"sanitized":227},{"from":735,"to":737,"sanitized":229},{"entryPoint":763,"graph":764,"unsanitizedCount":773,"severity":654},"saveGeneralSettings (src\\Admin\\Options.php:905)",{"nodes":765,"edges":771},[766,769],{"id":637,"type":638,"label":767,"file":211,"line":768},"$_POST (x16)",909,{"id":642,"type":647,"label":674,"file":211,"line":770,"wp_function":676},987,[772],{"from":637,"to":642,"sanitized":227},16,{"entryPoint":775,"graph":776,"unsanitizedCount":28,"severity":654},"\u003COptions> (src\\Admin\\Options.php:0)",{"nodes":777,"edges":784},[778,780,781,782,783],{"id":637,"type":638,"label":779,"file":211,"line":747},"$_POST (x17)",{"id":642,"type":647,"label":674,"file":211,"line":749,"wp_function":676},{"id":646,"type":638,"label":639,"file":211,"line":751},{"id":735,"type":643,"label":753,"file":211,"line":751},{"id":737,"type":647,"label":755,"file":391,"line":756,"wp_function":757},[785,786,787],{"from":637,"to":642,"sanitized":229},{"from":646,"to":735,"sanitized":227},{"from":735,"to":737,"sanitized":229},{"summary":789,"deductions":790},"The 'call-tracking-metrics' plugin v2.1.8 exhibits a generally positive security posture, with a strong emphasis on prepared statements for SQL queries and a high percentage of properly escaped output. The absence of known CVEs and recorded vulnerability history suggests a proactive approach to security by the developers or a lack of historical exposure. However, the plugin is not without its risks. The presence of three AJAX handlers without authentication checks represents a significant attack surface that could potentially be exploited. The use of the dangerous `unserialize` function, while not directly tied to a taint flow in this analysis, always carries inherent risks of deserialization vulnerabilities if not handled with extreme caution and strict input validation.  While the current taint analysis shows no critical or high severity issues, the single flow with unsanitized paths warrants attention as it could be a precursor to more severe vulnerabilities in future versions or under different attack vectors. In conclusion, the plugin demonstrates good core security practices but requires immediate attention to the unprotected AJAX endpoints and careful monitoring of the `unserialize` function's usage.",[791,793,795],{"reason":792,"points":71},"Unprotected AJAX handlers detected",{"reason":794,"points":625},"Use of dangerous unserialize function",{"reason":796,"points":625},"Flow with unsanitized paths found","2026-03-16T18:21:51.875Z",{"wat":799,"direct":808},{"assetPaths":800,"generatorPatterns":803,"scriptPaths":804,"versionParams":805},[801,802],"\u002Fwp-content\u002Fplugins\u002Fcall-tracking-metrics\u002Fassets\u002Fjs\u002Fctm-script.js","\u002Fwp-content\u002Fplugins\u002Fcall-tracking-metrics\u002Fassets\u002Fcss\u002Fctm-styles.css",[],[801],[806,807],"call-tracking-metrics\u002Fassets\u002Fjs\u002Fctm-script.js?ver=","call-tracking-metrics\u002Fassets\u002Fcss\u002Fctm-styles.css?ver=",{"cssClasses":809,"htmlComments":813,"htmlAttributes":815,"restEndpoints":819,"jsGlobals":822,"shortcodeOutput":827},[810,811,812],"ctm-field-mapping","ctm-log-table","ctm-admin-options",[814],"\u003C!-- CTMS: Plugin active -->",[816,817,818],"data-ctm-id","data-ctm-phone-field","data-ctm-form-id",[820,821],"\u002Fwp-json\u002Fcall-tracking-metrics\u002Fv1\u002Flog","\u002Fwp-json\u002Fcall-tracking-metrics\u002Fv1\u002Fusage",[823,824,825,826],"window.ctm_ajax_object","ctm_ajax_object.ajax_url","ctm_ajax_object.nonce","ctm_ajax_object.ctm_api_url",[828],"[ctm_tracking_script]"]