[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fhTep0cbe-WpykRfHy3lCrV-T72xFdoOHtkHVQFBQ7G4":3,"$fbSHB_huRZn_WPXmU7yTzCRmU4ydyyVEE9HyXUdz93u0":430,"$fr34r_9Rrgl7X2CkeS_A6phMxGmch4ld0S8piv6Oeh3o":434},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":19,"download_link":20,"security_score":21,"vuln_count":11,"unpatched_count":11,"last_vuln_date":22,"fetched_at":23,"discovery_status":24,"vulnerabilities":25,"developer":26,"crawl_stats":22,"alternatives":32,"analysis":33,"fingerprints":385},"smarttags-ai-for-woocommerce","SmartTags AI – WooCommerce Product Tags & SEO Automation","1.0.7","Webdirection","https:\u002F\u002Fprofiles.wordpress.org\u002Fzaiyiqi0604\u002F","\u003Cp>\u003Cstrong>SmartTags AI for WooCommerce\u003C\u002Fstrong> automatically generates high-quality, SEO-friendly product tags for your WooCommerce store using \u003Cstrong>real Google search suggestions\u003C\u002Fstrong> and optional AI models.\u003C\u002Fp>\n\u003Cp>Instead of manually guessing keywords or maintaining tags by hand, SmartTags helps you discover \u003Cstrong>long-tail search terms customers actually use\u003C\u002Fstrong>, improving product discoverability while saving hours of manual work.\u003C\u002Fp>\n\u003Cp>The plugin works out of the box with \u003Cstrong>Google Search Suggestions (no API key required)\u003C\u002Fstrong> and supports optional AI-based tag generation using your own API keys.\u003C\u002Fp>\n\u003Ch4>Why Use SmartTags?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Discover real search terms based on Google autocomplete data\u003C\u002Fli>\n\u003Cli>Improve product discoverability with relevant long-tail tags\u003C\u002Fli>\n\u003Cli>Reduce manual tagging work across large product catalogs\u003C\u002Fli>\n\u003Cli>Keep product tags consistent and up to date\u003C\u002Fli>\n\u003Cli>Maintain full control over when and how tags are applied\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>SEO-Friendly Tag Generation\u003C\u002Fstrong> – Generate product tags based on real Google search suggestions\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No API Key Required\u003C\u002Fstrong> – Works immediately using Google Search Suggestions\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Optional AI Tag Generation\u003C\u002Fstrong> – Use your own API keys (Google Gemini, Groq, OpenAI)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Two Automation Modes\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Semi-automatic mode – Review generated tags before applying\u003C\u002Fli>\n\u003Cli>Fully automatic mode – Apply tags automatically using WordPress cron\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Category Filtering\u003C\u002Fstrong> – Select which product categories should be processed\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Tag Limits\u003C\u002Fstrong> – Set a maximum number of tags per product (configurable between 3 and 30)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Tag Quality Management\u003C\u002Fstrong> – Automatically replace low-quality tags when limits are reached\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Stopwords Filtering\u003C\u002Fstrong> – Built-in filtering removes unwanted or low-quality terms\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Scheduling\u003C\u002Fstrong> – Run automation on a weekly or monthly schedule\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Testing Tools\u003C\u002Fstrong> – Test tag generation on individual or sample products\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Review Queue\u003C\u002Fstrong> – Review and approve tags before publishing (semi-automatic mode)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Free vs Pro\u003C\u002Fh4>\n\u003Cp>The free version includes everything you need to start:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Google Search Suggestions (no API key required)\u003C\u002Fli>\n\u003Cli>Local automation using WordPress cron\u003C\u002Fli>\n\u003Cli>Optional AI-powered tag generation using your own API keys\u003C\u002Fli>\n\u003Cli>Semi-automatic and fully automatic modes\u003C\u002Fli>\n\u003Cli>Category filters, tag limits, and review tools\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Pro Version\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>SmartTags Pro\u003C\u002Fstrong> is an optional upgrade designed for stores that require \u003Cstrong>hands-free automation and higher reliability\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>The Pro version adds:\u003Cbr \u002F>\n* Cloud-based fully automatic mode (not dependent on WordPress cron)\u003Cbr \u002F>\n* Reliable scheduling and execution monitoring\u003Cbr \u002F>\n* Job execution logs and status tracking\u003Cbr \u002F>\n* Improved reliability for large catalogs\u003Cbr \u002F>\n* Priority support\u003C\u002Fp>\n\u003Cp>The free version remains fully functional without Pro.\u003C\u002Fp>\n\u003Ch4>How It Works\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Test tag generation on individual or sample products\u003C\u002Fli>\n\u003Cli>Configure tag limits, filters, and product categories\u003C\u002Fli>\n\u003Cli>Choose semi-automatic or fully automatic mode\u003C\u002Fli>\n\u003Cli>Schedule automation\u003C\u002Fli>\n\u003Cli>Review and approve results (if using semi-automatic mode)\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Use Cases\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Generate product tags based on real Google search suggestions\u003C\u002Fli>\n\u003Cli>Improve WooCommerce SEO with long-tail keywords\u003C\u002Fli>\n\u003Cli>Maintain consistent tagging across large product catalogs\u003C\u002Fli>\n\u003Cli>Reduce repetitive manual tagging work\u003C\u002Fli>\n\u003Cli>Replace outdated or low-quality tags automatically\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 5.8 or higher\u003C\u002Fli>\n\u003Cli>WooCommerce 5.0 or higher\u003C\u002Fli>\n\u003Cli>PHP 7.4 or higher\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Telemetry & Privacy\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Telemetry is \u003Cstrong>disabled by default\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>When disabled, the plugin operates locally and does not contact external services except Google Search Suggestions and selected AI providers.\u003C\u002Fli>\n\u003Cli>When enabled, the plugin may contact \u003Ccode>webdirection.com.au\u003C\u002Fcode> to:\n\u003Cul>\n\u003Cli>Fetch shared AI model lists and prompt templates\u003C\u002Fli>\n\u003Cli>Sync license status for SmartTags Pro\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Data sent (only when telemetry is enabled):\n\u003Cul>\n\u003Cli>Site URL\u003C\u002Fli>\n\u003Cli>Domain fingerprint\u003C\u002Fli>\n\u003Cli>Plugin version and license status\u003C\u002Fli>\n\u003Cli>Anonymous usage counters\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>No customer, order, or personal data is transmitted.\u003C\u002Fli>\n\u003Cli>Telemetry can be disabled at any time in the plugin settings.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin connects to the following external services:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>webdirection.com.au\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Purpose\u003C\u002Fstrong>: License validation for SmartTags Pro, cloud-based scheduling, shared AI model configuration, and prompt template updates\u003Cbr \u002F>\n* \u003Cstrong>Data sent\u003C\u002Fstrong> (only when telemetry is enabled):\u003Cbr \u002F>\n  * Site URL and domain fingerprint\u003Cbr \u002F>\n  * Plugin version and license status\u003Cbr \u002F>\n  * Anonymous usage counters\u003Cbr \u002F>\n* \u003Cstrong>Terms of Service\u003C\u002Fstrong>: https:\u002F\u002Fwebdirection.com.au\u002Fterms-of-service\u002F\u003Cbr \u002F>\n* \u003Cstrong>Privacy Policy\u003C\u002Fstrong>: https:\u002F\u002Fwebdirection.com.au\u002Fprivacy-policy\u002F\u003Cbr \u002F>\n* \u003Cstrong>Note\u003C\u002Fstrong>: No customer, order, or product data is transmitted\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Google Search Suggestions API (suggestqueries.google.com)\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Purpose\u003C\u002Fstrong>: Fetch real-time search suggestions for tag generation\u003Cbr \u002F>\n* \u003Cstrong>Data sent\u003C\u002Fstrong>: Product titles and keywords\u003Cbr \u002F>\n* \u003Cstrong>Authentication\u003C\u002Fstrong>: None (public API)\u003Cbr \u002F>\n* \u003Cstrong>Terms of Service\u003C\u002Fstrong>: https:\u002F\u002Fpolicies.google.com\u002Fterms\u003Cbr \u002F>\n* \u003Cstrong>Privacy Policy\u003C\u002Fstrong>: https:\u002F\u002Fpolicies.google.com\u002Fprivacy\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Optional AI Service Providers\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>These services are used only if AI features are enabled and the corresponding provider is selected.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Google Gemini API\u003C\u002Fstrong> (generativelanguage.googleapis.com)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Data sent: Product titles and descriptions\u003C\u002Fli>\n\u003Cli>Terms: https:\u002F\u002Fai.google.dev\u002Fterms\u003C\u002Fli>\n\u003Cli>Privacy: https:\u002F\u002Fpolicies.google.com\u002Fprivacy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Groq API\u003C\u002Fstrong> (api.groq.com)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Data sent: Product titles and descriptions\u003C\u002Fli>\n\u003Cli>Terms: https:\u002F\u002Fgroq.com\u002Fterms-of-service\u002F\u003C\u002Fli>\n\u003Cli>Privacy: https:\u002F\u002Fgroq.com\u002Fprivacy-policy\u002F\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>OpenAI API\u003C\u002Fstrong> (api.openai.com)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Data sent: Product titles and descriptions\u003C\u002Fli>\n\u003Cli>Terms: https:\u002F\u002Fopenai.com\u002Fapi\u002Fpolicies\u002Fterms\u002F\u003C\u002Fli>\n\u003Cli>Privacy: https:\u002F\u002Fopenai.com\u002Fapi\u002Fpolicies\u002Fprivacy-policy\u002F\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>Support and bug reports:\u003Cbr \u002F>\nhttps:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fsmarttags-for-woocommerce\u002F\u003C\u002Fp>\n","Automatically generate AI-powered WooCommerce product tags to improve product SEO and search visibility. Discover real Google long-tail keywords, bulk &hellip;",0,391,"2026-02-25T03:08:00.000Z","6.9.4","5.8","7.4",[18],"woocommerce-woocommerce-seo-ai-seo-product-tags-auto-product-tags-bulk-product-tags-long-tail-keywords","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsmarttags-ai-for-woocommerce\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsmarttags-ai-for-woocommerce.1.0.7.zip",100,null,"2026-04-06T09:54:40.288Z","no_bundle",[],{"slug":27,"display_name":7,"profile_url":8,"plugin_count":28,"total_installs":11,"avg_security_score":21,"avg_patch_time_days":29,"trust_score":30,"computed_at":31},"zaiyiqi0604",1,30,94,"2026-05-20T04:33:32.043Z",[],{"attackSurface":34,"codeSignals":203,"taintFlows":252,"riskAssessment":376,"analyzedAt":384},{"hooks":35,"ajaxHandlers":153,"restRoutes":191,"shortcodes":200,"cronEvents":201,"entryPointCount":202,"unprotectedCount":28},[36,42,45,49,53,56,59,62,65,69,74,79,82,85,88,92,96,100,103,107,111,113,116,119,122,124,129,133,137,140,143,147,149],{"type":37,"name":38,"callback":39,"priority":28,"file":40,"line":41},"action","admin_init","disable_emoji_conversion","includes\u002Fclass-admin.php",27,{"type":37,"name":43,"callback":39,"priority":28,"file":40,"line":44},"admin_head",28,{"type":37,"name":38,"callback":46,"priority":47,"file":40,"line":48},"start_output_buffer",999,31,{"type":37,"name":50,"callback":51,"priority":47,"file":40,"line":52},"admin_footer","end_output_buffer",34,{"type":37,"name":54,"callback":51,"priority":47,"file":40,"line":55},"shutdown",35,{"type":37,"name":57,"callback":57,"file":40,"line":58},"admin_menu",38,{"type":37,"name":57,"callback":60,"priority":47,"file":40,"line":61},"maybe_hide_job_logs_menu",39,{"type":37,"name":38,"callback":63,"file":40,"line":64},"register_settings",40,{"type":37,"name":66,"callback":67,"file":40,"line":68},"admin_enqueue_scripts","enqueue",41,{"type":37,"name":70,"callback":71,"priority":72,"file":40,"line":73},"updated_option","handle_cloud_job_sync",10,44,{"type":75,"name":76,"callback":77,"file":40,"line":78},"filter","emoji_svg_url","__return_false",169,{"type":75,"name":80,"callback":77,"priority":28,"file":40,"line":81},"wp_staticize_emoji",172,{"type":75,"name":83,"callback":77,"file":40,"line":84},"option_use_smilies",175,{"type":37,"name":43,"callback":86,"priority":47,"file":40,"line":87},"closure",1059,{"type":37,"name":89,"callback":90,"file":91,"line":68},"admin_post_smarttags_apply","handle_apply","includes\u002Fclass-ajax.php",{"type":37,"name":93,"callback":94,"file":91,"line":95},"admin_post_smarttags_apply_selected","handle_apply_selected",42,{"type":37,"name":97,"callback":98,"file":91,"line":99},"admin_post_smarttags_toggle_optout","handle_toggle_optout",43,{"type":37,"name":101,"callback":102,"file":91,"line":73},"admin_post_smarttags_refresh_queue","handle_refresh_queue",{"type":75,"name":104,"callback":104,"file":105,"line":106},"cron_schedules","includes\u002Fclass-cron.php",32,{"type":37,"name":57,"callback":108,"priority":47,"file":109,"line":110},"add_license_page","includes\u002Fclass-dlm-license.php",29,{"type":37,"name":66,"callback":112,"file":109,"line":106},"enqueue_styles",{"type":75,"name":114,"callback":115,"file":109,"line":55},"smarttags_is_pro","is_license_valid",{"type":37,"name":117,"callback":118,"file":109,"line":58},"admin_post_smarttags_dlm_activate","handle_activate",{"type":37,"name":120,"callback":121,"file":109,"line":61},"admin_post_smarttags_dlm_deactivate","handle_deactivate",{"type":37,"name":38,"callback":86,"file":109,"line":123},963,{"type":37,"name":125,"callback":126,"file":127,"line":128},"add_meta_boxes_product","add_product_metabox","includes\u002Fclass-frontend.php",21,{"type":37,"name":130,"callback":131,"file":127,"line":132},"save_post_product","save_product_metabox",22,{"type":37,"name":134,"callback":86,"file":135,"line":136},"before_woocommerce_init","smarttags-ai-for-woocommerce.php",74,{"type":37,"name":138,"callback":86,"file":135,"line":139},"plugins_loaded",84,{"type":37,"name":141,"callback":86,"file":135,"line":142},"smarttags_initial_user_sync",127,{"type":37,"name":144,"callback":145,"file":135,"line":146},"rest_api_init","register_rest_routes",174,{"type":75,"name":104,"callback":104,"file":135,"line":148},394,{"type":37,"name":138,"callback":150,"priority":151,"file":135,"line":152},"smarttags_init_shared_keys",5,465,[154,159,162,165,168,172,175,178,182,186,189],{"action":155,"nopriv":156,"callback":157,"hasNonce":158,"hasCapCheck":158,"file":91,"line":110},"smarttags_apply_selected_ajax",false,"ajax_apply_selected",true,{"action":160,"nopriv":156,"callback":161,"hasNonce":158,"hasCapCheck":158,"file":91,"line":29},"smarttags_remove_tag","ajax_remove_tag",{"action":163,"nopriv":156,"callback":164,"hasNonce":158,"hasCapCheck":158,"file":91,"line":48},"smarttags_regenerate_single_product","ajax_regenerate_single_product",{"action":166,"nopriv":156,"callback":167,"hasNonce":158,"hasCapCheck":158,"file":91,"line":106},"smarttags_get_product_suggestions","ajax_get_product_suggestions",{"action":169,"nopriv":156,"callback":170,"hasNonce":158,"hasCapCheck":158,"file":91,"line":171},"smarttags_test_ai_token","ajax_test_ai_token",33,{"action":173,"nopriv":156,"callback":174,"hasNonce":158,"hasCapCheck":158,"file":91,"line":52},"smarttags_refresh_ai_config","ajax_refresh_ai_config",{"action":176,"nopriv":156,"callback":177,"hasNonce":158,"hasCapCheck":158,"file":91,"line":55},"smarttags_test_single","test_single_product",{"action":179,"nopriv":156,"callback":180,"hasNonce":158,"hasCapCheck":158,"file":91,"line":181},"smarttags_test_batch","test_batch_products",36,{"action":183,"nopriv":156,"callback":184,"hasNonce":158,"hasCapCheck":158,"file":91,"line":185},"smarttags_test_google","test_google_suggest",37,{"action":187,"nopriv":156,"callback":188,"hasNonce":158,"hasCapCheck":158,"file":91,"line":58},"smarttags_run_now","ajax_run_now",{"action":187,"nopriv":156,"callback":86,"hasNonce":156,"hasCapCheck":156,"file":135,"line":190},138,[192],{"namespace":193,"route":194,"methods":195,"callback":197,"permissionCallback":198,"file":135,"line":199},"smarttags\u002Fv1","\u002Fcloud-execute",[196],"POST","handle_cloud_execute","cloud_execute_permission",181,[],[],12,{"dangerousFunctions":204,"sqlUsage":205,"outputEscaping":208,"fileOperations":72,"externalRequests":250,"nonceChecks":106,"capabilityChecks":48,"bundledLibraries":251},[],{"prepared":206,"raw":11,"locations":207},14,[],{"escaped":209,"rawEcho":210,"locations":211},966,18,[212,215,217,219,221,223,225,227,229,231,234,236,238,240,242,244,246,248],{"file":40,"line":213,"context":214},910,"raw output",{"file":40,"line":216,"context":214},911,{"file":40,"line":218,"context":214},1442,{"file":40,"line":220,"context":214},1791,{"file":40,"line":222,"context":214},1814,{"file":40,"line":224,"context":214},1821,{"file":91,"line":226,"context":214},1135,{"file":109,"line":228,"context":214},623,{"file":127,"line":230,"context":214},57,{"file":232,"line":233,"context":214},"templates\u002Freview-queue.php",156,{"file":232,"line":235,"context":214},161,{"file":232,"line":237,"context":214},237,{"file":232,"line":239,"context":214},247,{"file":232,"line":241,"context":214},277,{"file":232,"line":243,"context":214},285,{"file":232,"line":245,"context":214},291,{"file":232,"line":247,"context":214},376,{"file":232,"line":249,"context":214},936,19,[],[253,271,282,293,306,317,336,352,363],{"entryPoint":254,"graph":255,"unsanitizedCount":11,"severity":270},"render_job_logs (includes\u002Fclass-admin.php:1890)",{"nodes":256,"edges":268},[257,262],{"id":258,"type":259,"label":260,"file":40,"line":261},"n0","source","$_GET",1972,{"id":263,"type":264,"label":265,"file":40,"line":266,"wp_function":267},"n1","sink","echo() [XSS]",2188,"echo",[269],{"from":258,"to":263,"sanitized":158},"low",{"entryPoint":272,"graph":273,"unsanitizedCount":11,"severity":270},"\u003Cclass-admin> (includes\u002Fclass-admin.php:0)",{"nodes":274,"edges":280},[275,278],{"id":258,"type":259,"label":276,"file":40,"line":277},"$_GET (x18)",1276,{"id":263,"type":264,"label":265,"file":40,"line":279,"wp_function":267},1368,[281],{"from":258,"to":263,"sanitized":158},{"entryPoint":283,"graph":284,"unsanitizedCount":11,"severity":270},"ajax_get_product_suggestions (includes\u002Fclass-ajax.php:402)",{"nodes":285,"edges":291},[286,289],{"id":258,"type":259,"label":287,"file":91,"line":288},"$_POST (x20)",416,{"id":263,"type":264,"label":265,"file":91,"line":290,"wp_function":267},490,[292],{"from":258,"to":263,"sanitized":158},{"entryPoint":294,"graph":295,"unsanitizedCount":11,"severity":270},"ajax_refresh_ai_config (includes\u002Fclass-ajax.php:755)",{"nodes":296,"edges":304},[297,300],{"id":258,"type":259,"label":298,"file":91,"line":299},"$_POST",764,{"id":263,"type":264,"label":301,"file":91,"line":302,"wp_function":303},"wp_remote_get() [SSRF]",818,"wp_remote_get",[305],{"from":258,"to":263,"sanitized":158},{"entryPoint":307,"graph":308,"unsanitizedCount":11,"severity":270},"test_single_product (includes\u002Fclass-ajax.php:950)",{"nodes":309,"edges":315},[310,313],{"id":258,"type":259,"label":311,"file":91,"line":312},"$_GET (x3)",962,{"id":263,"type":264,"label":265,"file":91,"line":314,"wp_function":267},1020,[316],{"from":258,"to":263,"sanitized":158},{"entryPoint":318,"graph":319,"unsanitizedCount":11,"severity":270},"\u003Cclass-ajax> (includes\u002Fclass-ajax.php:0)",{"nodes":320,"edges":332},[321,322,323,325,327,330],{"id":258,"type":259,"label":287,"file":91,"line":288},{"id":263,"type":264,"label":265,"file":91,"line":290,"wp_function":267},{"id":324,"type":259,"label":298,"file":91,"line":299},"n2",{"id":326,"type":264,"label":301,"file":91,"line":302,"wp_function":303},"n3",{"id":328,"type":259,"label":329,"file":91,"line":312},"n4","$_GET (x7)",{"id":331,"type":264,"label":265,"file":91,"line":314,"wp_function":267},"n5",[333,334,335],{"from":258,"to":263,"sanitized":158},{"from":324,"to":326,"sanitized":158},{"from":328,"to":331,"sanitized":158},{"entryPoint":337,"graph":338,"unsanitizedCount":28,"severity":270},"handle_activate (includes\u002Fclass-dlm-license.php:487)",{"nodes":339,"edges":349},[340,342,345],{"id":258,"type":259,"label":298,"file":109,"line":341},495,{"id":263,"type":343,"label":344,"file":109,"line":341},"transform","→ activate_license()",{"id":324,"type":264,"label":346,"file":109,"line":347,"wp_function":348},"update_option() [Settings Manipulation]",333,"update_option",[350,351],{"from":258,"to":263,"sanitized":156},{"from":263,"to":324,"sanitized":156},{"entryPoint":353,"graph":354,"unsanitizedCount":11,"severity":270},"render_license_page (includes\u002Fclass-dlm-license.php:573)",{"nodes":355,"edges":361},[356,359],{"id":258,"type":259,"label":357,"file":109,"line":358},"$_GET (x2)",601,{"id":263,"type":264,"label":265,"file":109,"line":360,"wp_function":267},604,[362],{"from":258,"to":263,"sanitized":158},{"entryPoint":364,"graph":365,"unsanitizedCount":28,"severity":270},"\u003Cclass-dlm-license> (includes\u002Fclass-dlm-license.php:0)",{"nodes":366,"edges":372},[367,368,369,370,371],{"id":258,"type":259,"label":357,"file":109,"line":358},{"id":263,"type":264,"label":265,"file":109,"line":360,"wp_function":267},{"id":324,"type":259,"label":298,"file":109,"line":341},{"id":326,"type":343,"label":344,"file":109,"line":341},{"id":328,"type":264,"label":346,"file":109,"line":347,"wp_function":348},[373,374,375],{"from":258,"to":263,"sanitized":158},{"from":324,"to":326,"sanitized":156},{"from":326,"to":328,"sanitized":156},{"summary":377,"deductions":378},"The \"smarttags-ai-for-woocommerce\" plugin v1.0.7 demonstrates a generally good security posture, with strong adherence to secure coding practices in several areas. The extensive use of prepared statements for all SQL queries and a high percentage of properly escaped output are significant strengths, mitigating common injection and cross-site scripting risks.  The plugin also correctly implements nonce and capability checks for a substantial majority of its entry points, and lacks any known historical vulnerabilities.\n\nHowever, a critical concern arises from the presence of one unprotected AJAX handler, which represents a direct attack vector if not properly secured. While the taint analysis did not reveal critical or high-severity issues, the presence of two flows with unsanitized paths warrants attention, as even low-severity taint issues can sometimes be chained into more impactful vulnerabilities. The plugin's attack surface is relatively small, but the unprotected AJAX handler significantly outweighs the positive aspects of its otherwise robust security implementation.\n\nIn conclusion, the plugin has a solid foundation in secure coding, but the single unprotected AJAX handler is a notable weakness that requires immediate remediation. The lack of historical vulnerabilities is positive, suggesting a responsible development team, but it does not negate the immediate risks identified in the static analysis. Addressing the unprotected AJAX handler is paramount to improving the plugin's security.",[379,382],{"reason":380,"points":381},"1 unprotected AJAX handler",8,{"reason":383,"points":151},"2 flows with unsanitized paths","2026-04-16T12:59:32.975Z",{"wat":386,"direct":401},{"assetPaths":387,"generatorPatterns":393,"scriptPaths":394,"versionParams":395},[388,389,390,391,392],"\u002Fwp-content\u002Fplugins\u002Fsmarttags-ai-for-woocommerce\u002Fpublic\u002Fcss\u002Fsmarttags-ai-admin.css","\u002Fwp-content\u002Fplugins\u002Fsmarttags-ai-for-woocommerce\u002Fpublic\u002Fcss\u002Fsmarttags-ai-frontend.css","\u002Fwp-content\u002Fplugins\u002Fsmarttags-ai-for-woocommerce\u002Fpublic\u002Fjs\u002Fsmarttags-ai-admin.js","\u002Fwp-content\u002Fplugins\u002Fsmarttags-ai-for-woocommerce\u002Fpublic\u002Fjs\u002Fsmarttags-ai-frontend.js","\u002Fwp-content\u002Fplugins\u002Fsmarttags-ai-for-woocommerce\u002Fpublic\u002Fjs\u002Fsmarttags-ai-global.js",[],[],[396,397,398,399,400],"smarttags-ai-for-woocommerce\u002Fpublic\u002Fcss\u002Fsmarttags-ai-admin.css?ver=","smarttags-ai-for-woocommerce\u002Fpublic\u002Fcss\u002Fsmarttags-ai-frontend.css?ver=","smarttags-ai-for-woocommerce\u002Fpublic\u002Fjs\u002Fsmarttags-ai-admin.js?ver=","smarttags-ai-for-woocommerce\u002Fpublic\u002Fjs\u002Fsmarttags-ai-frontend.js?ver=","smarttags-ai-for-woocommerce\u002Fpublic\u002Fjs\u002Fsmarttags-ai-global.js?ver=",{"cssClasses":402,"htmlComments":411,"htmlAttributes":420,"restEndpoints":424,"jsGlobals":426,"shortcodeOutput":429},[403,404,405,406,407,408,409,410],"smarttags-ai-settings","smarttags-ai-product-list","smarttags-ai-tag-suggestions","smarttags-ai-generate-button","smarttags-ai-save-button","smarttags-ai-admin-section","smarttags-ai-review-tag","smarttags-ai-prompts-editor",[412,413,414,415,416,417,418,419],"\u003C!-- SmartTags AI Settings -->","\u003C!-- SmartTags AI Product List -->","\u003C!-- SmartTags AI Tag Suggestions -->","\u003C!-- SmartTags AI Generate Button -->","\u003C!-- SmartTags AI Save Button -->","\u003C!-- SmartTags AI Admin Section -->","\u003C!-- SmartTags AI Review Tag -->","\u003C!-- SmartTags AI Prompts Editor -->",[421,422,423],"data-smarttags-ai-product-id","data-smarttags-ai-setting-name","data-smarttags-ai-prompt-id",[425],"\u002Fwp-json\u002Fsmarttags\u002Fv1\u002Fcloud-execute",[427,428],"smarttags_settings","smarttags_ajax_object",[],{"error":158,"url":431,"statusCode":432,"statusMessage":433,"message":433},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fsmarttags-ai-for-woocommerce\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":435,"versions":436},7,[437,442,449,456,463,470,477],{"version":6,"download_url":20,"svn_tag_url":438,"released_at":22,"has_diff":156,"diff_files_changed":439,"diff_lines":22,"trac_diff_url":440,"vulnerabilities":441,"is_current":158},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsmarttags-ai-for-woocommerce\u002Ftags\u002F1.0.7\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsmarttags-ai-for-woocommerce%2Ftags%2F1.0.5&new_path=%2Fsmarttags-ai-for-woocommerce%2Ftags%2F1.0.7",[],{"version":443,"download_url":444,"svn_tag_url":445,"released_at":22,"has_diff":156,"diff_files_changed":446,"diff_lines":22,"trac_diff_url":447,"vulnerabilities":448,"is_current":156},"1.0.5","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsmarttags-ai-for-woocommerce.1.0.5.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsmarttags-ai-for-woocommerce\u002Ftags\u002F1.0.5\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsmarttags-ai-for-woocommerce%2Ftags%2F1.0.4&new_path=%2Fsmarttags-ai-for-woocommerce%2Ftags%2F1.0.5",[],{"version":450,"download_url":451,"svn_tag_url":452,"released_at":22,"has_diff":156,"diff_files_changed":453,"diff_lines":22,"trac_diff_url":454,"vulnerabilities":455,"is_current":156},"1.0.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsmarttags-ai-for-woocommerce.1.0.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsmarttags-ai-for-woocommerce\u002Ftags\u002F1.0.4\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsmarttags-ai-for-woocommerce%2Ftags%2F1.0.3&new_path=%2Fsmarttags-ai-for-woocommerce%2Ftags%2F1.0.4",[],{"version":457,"download_url":458,"svn_tag_url":459,"released_at":22,"has_diff":156,"diff_files_changed":460,"diff_lines":22,"trac_diff_url":461,"vulnerabilities":462,"is_current":156},"1.0.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsmarttags-ai-for-woocommerce.1.0.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsmarttags-ai-for-woocommerce\u002Ftags\u002F1.0.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsmarttags-ai-for-woocommerce%2Ftags%2F1.0.2&new_path=%2Fsmarttags-ai-for-woocommerce%2Ftags%2F1.0.3",[],{"version":464,"download_url":465,"svn_tag_url":466,"released_at":22,"has_diff":156,"diff_files_changed":467,"diff_lines":22,"trac_diff_url":468,"vulnerabilities":469,"is_current":156},"1.0.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsmarttags-ai-for-woocommerce.1.0.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsmarttags-ai-for-woocommerce\u002Ftags\u002F1.0.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsmarttags-ai-for-woocommerce%2Ftags%2F1.0.1&new_path=%2Fsmarttags-ai-for-woocommerce%2Ftags%2F1.0.2",[],{"version":471,"download_url":472,"svn_tag_url":473,"released_at":22,"has_diff":156,"diff_files_changed":474,"diff_lines":22,"trac_diff_url":475,"vulnerabilities":476,"is_current":156},"1.0.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsmarttags-ai-for-woocommerce.1.0.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsmarttags-ai-for-woocommerce\u002Ftags\u002F1.0.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsmarttags-ai-for-woocommerce%2Ftags%2F1.0.0&new_path=%2Fsmarttags-ai-for-woocommerce%2Ftags%2F1.0.1",[],{"version":478,"download_url":479,"svn_tag_url":480,"released_at":22,"has_diff":156,"diff_files_changed":481,"diff_lines":22,"trac_diff_url":22,"vulnerabilities":482,"is_current":156},"1.0.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsmarttags-ai-for-woocommerce.1.0.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsmarttags-ai-for-woocommerce\u002Ftags\u002F1.0.0\u002F",[],[]]