[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fnVXC1OAs8SXLDePp5ZwCDbhuzRrQjYekPX6YLJ8K6ag":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":20,"download_link":21,"security_score":22,"vuln_count":23,"unpatched_count":23,"last_vuln_date":24,"fetched_at":25,"vulnerabilities":26,"developer":27,"crawl_stats":24,"alternatives":33,"analysis":34,"fingerprints":69},"pretty-table-of-contents-for-elementor","Pretty Table of Contents for Elementor","1.0.1","Christiaan van Luik","https:\u002F\u002Fprofiles.wordpress.org\u002Fcvl01\u002F","\u003Cp>Remake of the Elementor Pro Table of Contents widget, with, nice, pretty, readable urls.\u003C\u002Fp>\n","Remake of the Elementor Pro Table of Contents widget, with, nice, pretty, readable urls.",40,2409,100,3,"2020-05-25T07:40:00.000Z","5.4.19","5.0","5.6",[],"","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpretty-table-of-contents-for-elementor.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":28,"display_name":7,"profile_url":8,"plugin_count":14,"total_installs":29,"avg_security_score":30,"avg_patch_time_days":31,"trust_score":22,"computed_at":32},"cvl01",350,87,30,"2026-04-04T20:25:09.034Z",[],{"attackSurface":35,"codeSignals":47,"taintFlows":61,"riskAssessment":62,"analyzedAt":68},{"hooks":36,"ajaxHandlers":43,"restRoutes":44,"shortcodes":45,"cronEvents":46,"entryPointCount":23,"unprotectedCount":23},[37],{"type":38,"name":39,"callback":40,"file":41,"line":42},"action","elementor\u002Fwidgets\u002Fwidgets_registered","register_widgets","pretty-toc-elementor.php",92,[],[],[],[],{"dangerousFunctions":48,"sqlUsage":49,"outputEscaping":51,"fileOperations":23,"externalRequests":23,"nonceChecks":23,"capabilityChecks":23,"bundledLibraries":60},[],{"prepared":23,"raw":23,"locations":50},[],{"escaped":23,"rawEcho":52,"locations":53},2,[54,58],{"file":55,"line":56,"context":57},"inc\\pretty-toc.php",697,"raw output",{"file":55,"line":59,"context":57},705,[],[],{"summary":63,"deductions":64},"The static analysis of the 'pretty-table-of-contents-for-elementor' plugin version 1.0.1 reveals a seemingly strong security posture based on the reported metrics. The absence of any identified AJAX handlers, REST API routes, shortcodes, or cron events significantly limits the plugin's attack surface, and importantly, none of these are noted as unprotected. Furthermore, the analysis indicates no dangerous functions, no direct SQL queries, no file operations, and no external HTTP requests, all of which are positive security indicators. The lack of any recorded vulnerabilities, including CVEs, further reinforces this perception of a secure plugin.\n\nHowever, a significant concern arises from the output escaping metric. With 2 total outputs and 0% properly escaped, this indicates a high likelihood of Cross-Site Scripting (XSS) vulnerabilities. Any user-supplied data or dynamic content rendered by the plugin that is not properly escaped can be exploited by attackers to inject malicious scripts into the user's browser. The absence of nonce and capability checks, while not directly tied to exposed entry points in this analysis, could become a risk if new entry points are introduced or if existing, seemingly safe, functions are later leveraged in an unauthorized manner.\n\nIn conclusion, while the plugin boasts a minimal attack surface and a clean vulnerability history, the critical flaw in output escaping represents a substantial risk that overshadows these strengths. Addressing the unescaped output is paramount to improving the plugin's overall security. The current state presents a trade-off between a small attack vector and a critical vulnerability that can be exploited through the plugin's rendering mechanisms.",[65],{"reason":66,"points":67},"Unescaped output",8,"2026-03-16T22:17:35.682Z",{"wat":70,"direct":79},{"assetPaths":71,"generatorPatterns":74,"scriptPaths":75,"versionParams":76},[72,73],"\u002Fwp-content\u002Fplugins\u002Fpretty-table-of-contents-for-elementor\u002Fassets\u002Fcss\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Fpretty-table-of-contents-for-elementor\u002Fassets\u002Fjs\u002Fscripts.js",[],[73],[77,78],"pretty-table-of-contents-for-elementor\u002Fassets\u002Fcss\u002Fstyle.css?ver=","pretty-table-of-contents-for-elementor\u002Fassets\u002Fjs\u002Fscripts.js?ver=",{"cssClasses":80,"htmlComments":82,"htmlAttributes":83,"restEndpoints":87,"jsGlobals":88,"shortcodeOutput":89},[81],"elementor-widget-pretty-toc-elementor",[],[84,85,86],"data-elementor-id","data-elementor-post-type","data-elementor-type",[],[],[]]