[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fY59O5andWbn6P7Nr-I-9ljbIJNs1OcG8gTu_hLYl7pY":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":21,"download_link":22,"security_score":23,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":25,"vulnerabilities":26,"developer":27,"crawl_stats":24,"alternatives":33,"analysis":34,"fingerprints":191},"wpdevhub-troubleshooting-guides","WPDevHub Troubleshooting Guides","2.9.1","benhallbenhall","https:\u002F\u002Fprofiles.wordpress.org\u002Fbenhallbenhall\u002F","\u003Cp>Create feature rich troubleshooting guides for your website visitors to follow\u003C\u002Fp>\n","Create feature rich troubleshooting guides for your website visitors to follow",0,8022,100,1,"2019-12-16T23:06:00.000Z","5.3.21","4.0","",[20],"troubleshooting-guides-help-support","https:\u002F\u002Fwww.wpdevhub.com\u002Fwordpress-plugins\u002Ftroubleshooting-guides\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwpdevhub-troubleshooting-guides.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":28,"total_installs":29,"avg_security_score":23,"avg_patch_time_days":30,"trust_score":31,"computed_at":32},5,40,30,84,"2026-04-05T09:47:41.149Z",[],{"attackSurface":35,"codeSignals":109,"taintFlows":153,"riskAssessment":179,"analyzedAt":190},{"hooks":36,"ajaxHandlers":105,"restRoutes":106,"shortcodes":107,"cronEvents":108,"entryPointCount":11,"unprotectedCount":11},[37,43,48,53,57,61,63,67,71,74,78,83,86,90,94,98,101],{"type":38,"name":39,"callback":40,"file":41,"line":42},"action","widget_comments_args","disableCommentsWpActionWidgetCommentsArgs","classes\\core\\class.DSCF_DTG_StandardCustomPostType.php",34,{"type":44,"name":45,"callback":46,"file":41,"line":47},"filter","comment_feed_where","disableCommentsWpFilterCommentFeedWhere",35,{"type":38,"name":49,"callback":50,"file":51,"line":52},"admin_enqueue_scripts","wpActionAdminEnqueueScripts","classes\\core\\class.DSCF_DTG_StandardMain.php",66,{"type":38,"name":54,"callback":55,"file":51,"line":56},"wp_enqueue_scripts","wpActionEnqueueScripts",67,{"type":38,"name":58,"callback":59,"file":51,"line":60},"admin_menu","wpActionAdminMenu",68,{"type":38,"name":54,"callback":55,"file":51,"line":62},189,{"type":44,"name":64,"callback":65,"file":51,"line":66},"the_content","wpFilterTheContent",392,{"type":44,"name":68,"callback":69,"file":51,"line":70},"the_excerpt","wpFilterTheExcerpt",393,{"type":44,"name":72,"callback":69,"file":51,"line":73},"get_the_excerpt",394,{"type":44,"name":75,"callback":76,"file":51,"line":77},"get_the_archive_title","wpFilterGetTheArchiveTitle",395,{"type":38,"name":79,"callback":80,"file":81,"line":82},"save_post","saveBase","classes\\core\\class.DSCF_DTG_StandardMetaBox.php",28,{"type":44,"name":64,"callback":84,"file":81,"line":85},"filterContent",32,{"type":38,"name":87,"callback":87,"file":88,"line":89},"init","inc\\inc.setup.php",92,{"type":44,"name":91,"callback":92,"file":88,"line":93},"do_parse_request","dispatch",93,{"type":38,"name":95,"callback":96,"file":88,"line":97},"loop_end","closure",94,{"type":44,"name":99,"callback":96,"file":88,"line":100},"the_permalink",99,{"type":38,"name":87,"callback":102,"priority":11,"file":103,"line":104},"wpActionInit","index.php",26,[],[],[],[],{"dangerousFunctions":110,"sqlUsage":116,"outputEscaping":119,"fileOperations":151,"externalRequests":14,"nonceChecks":14,"capabilityChecks":120,"bundledLibraries":152},[111],{"fn":112,"file":113,"line":114,"context":115},"unserialize","classes\\core\\class.DSCF_DTG_StandardObjectRecord.php",64,"return unserialize(base64_decode($object));",{"prepared":117,"raw":11,"locations":118},22,[],{"escaped":120,"rawEcho":121,"locations":122},2,12,[123,126,128,131,133,135,137,139,141,144,147,149],{"file":124,"line":82,"context":125},"classes\\class.DSCF_DTG_TroubleshootingGuides_GuideShortCodeMetaBox.php","raw output",{"file":127,"line":52,"context":125},"classes\\class.DSCF_DTG_TroubleshootingGuides_StepMetaBox.php",{"file":129,"line":130,"context":125},"classes\\class.DSCF_DTG_Utilities.php",185,{"file":129,"line":132,"context":125},308,{"file":129,"line":134,"context":125},311,{"file":129,"line":136,"context":125},320,{"file":129,"line":138,"context":125},324,{"file":81,"line":140,"context":125},103,{"file":142,"line":143,"context":125},"classes\\core\\class.DSCF_DTG_StandardMetaBoxAndDbObject.php",81,{"file":145,"line":146,"context":125},"pages\\inc.settings-base.php",10,{"file":145,"line":148,"context":125},41,{"file":145,"line":150,"context":125},44,4,[],[154],{"entryPoint":155,"graph":156,"unsanitizedCount":120,"severity":178},"\u003Cinc.settings-base> (pages\\inc.settings-base.php:0)",{"nodes":157,"edges":174},[158,162,168,170],{"id":159,"type":160,"label":161,"file":145,"line":82},"n0","source","$_REQUEST",{"id":163,"type":164,"label":165,"file":145,"line":166,"wp_function":167},"n1","sink","call_user_func() [RCE]",38,"call_user_func",{"id":169,"type":160,"label":161,"file":145,"line":82},"n2",{"id":171,"type":164,"label":172,"file":145,"line":148,"wp_function":173},"n3","echo() [XSS]","echo",[175,177],{"from":159,"to":163,"sanitized":176},false,{"from":169,"to":171,"sanitized":176},"high",{"summary":180,"deductions":181},"The \"wpdevhub-troubleshooting-guides\" plugin v2.9.1 exhibits a generally good security posture with no known historical vulnerabilities. Static analysis reveals a minimal attack surface, with zero unprotected entry points. The use of prepared statements for all SQL queries and the presence of nonce and capability checks are strong security practices. However, the analysis does highlight some areas of concern. The presence of the `unserialize` function is a potential risk, especially if it processes untrusted data.  While not explicitly flagged as a critical taint flow, the single identified flow with an unsanitized path is a significant red flag, suggesting a potential for data manipulation or injection if that path is reachable by user input.",[182,185,188],{"reason":183,"points":184},"Unsanitized path identified in taint analysis",15,{"reason":186,"points":187},"Use of unserialize function",8,{"reason":189,"points":28},"Low percentage of properly escaped output","2026-03-17T07:27:44.597Z",{"wat":192,"direct":213},{"assetPaths":193,"generatorPatterns":202,"scriptPaths":203,"versionParams":204},[194,195,196,197,198,199,200,201],"\u002Fwp-content\u002Fplugins\u002Fwpdevhub-troubleshooting-guides\u002Fcss\u002Fdtg-main.css","\u002Fwp-content\u002Fplugins\u002Fwpdevhub-troubleshooting-guides\u002Fcss\u002Fdtg-settings.css","\u002Fwp-content\u002Fplugins\u002Fwpdevhub-troubleshooting-guides\u002Fjs\u002Fdtg-admin.js","\u002Fwp-content\u002Fplugins\u002Fwpdevhub-troubleshooting-guides\u002Fjs\u002Fdtg-guide-editor.js","\u002Fwp-content\u002Fplugins\u002Fwpdevhub-troubleshooting-guides\u002Fjs\u002Fdtg-guide-frontend.js","\u002Fwp-content\u002Fplugins\u002Fwpdevhub-troubleshooting-guides\u002Fjs\u002Fdtg-main.js","\u002Fwp-content\u002Fplugins\u002Fwpdevhub-troubleshooting-guides\u002Fjs\u002Fdtg-settings.js","\u002Fwp-content\u002Fplugins\u002Fwpdevhub-troubleshooting-guides\u002Fjs\u002Fdtg-utilities.js",[],[199,196,200,197,198,201],[205,206,207,208,209,210,211,212],"\u002Fwp-content\u002Fplugins\u002Fwpdevhub-troubleshooting-guides\u002Fcss\u002Fdtg-main.css?ver=","\u002Fwp-content\u002Fplugins\u002Fwpdevhub-troubleshooting-guides\u002Fcss\u002Fdtg-settings.css?ver=","\u002Fwp-content\u002Fplugins\u002Fwpdevhub-troubleshooting-guides\u002Fjs\u002Fdtg-admin.js?ver=","\u002Fwp-content\u002Fplugins\u002Fwpdevhub-troubleshooting-guides\u002Fjs\u002Fdtg-guide-editor.js?ver=","\u002Fwp-content\u002Fplugins\u002Fwpdevhub-troubleshooting-guides\u002Fjs\u002Fdtg-guide-frontend.js?ver=","\u002Fwp-content\u002Fplugins\u002Fwpdevhub-troubleshooting-guides\u002Fjs\u002Fdtg-main.js?ver=","\u002Fwp-content\u002Fplugins\u002Fwpdevhub-troubleshooting-guides\u002Fjs\u002Fdtg-settings.js?ver=","\u002Fwp-content\u002Fplugins\u002Fwpdevhub-troubleshooting-guides\u002Fjs\u002Fdtg-utilities.js?ver=",{"cssClasses":214,"htmlComments":224,"htmlAttributes":225,"restEndpoints":228,"jsGlobals":231,"shortcodeOutput":236},[215,216,217,218,219,220,221,222,223],"dtg-guide-wrap","dtg-guide-title","dtg-guide-content","dtg-guide-step","dtg-step-number","dtg-step-title","dtg-step-description","dtg-guide-editor-wrapper","dtg-settings-section",[],[226,227],"data-dtg-guide-id","data-dtg-step-id",[229,230],"\u002Fwp-json\u002Fwpdevhub\u002Fv1\u002Fguides","\u002Fwp-json\u002Fwpdevhub\u002Fv1\u002Fguides\u002F(?P\u003Cid>\\d+)",[232,233,234,235],"wpdevhub_dtg_admin","wpdevhub_dtg_guide_editor","wpdevhub_dtg_guide_frontend","wpdevhub_dtg_utilities",[237,238,239,240],"[dtg-guide","[\u002Fdtg-guide]","[dtg-step","[\u002Fdtg-step]"]