[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fXh_af_soiBh-65ZBPzNGoDD0w_JjVZp8vAWde2E1KBo":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":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":17,"download_link":20,"security_score":21,"vuln_count":13,"unpatched_count":13,"last_vuln_date":22,"fetched_at":23,"vulnerabilities":24,"developer":25,"crawl_stats":22,"alternatives":31,"analysis":32,"fingerprints":113},"webtorrent","WebTorrent","0.1.2","runsh","https:\u002F\u002Fprofiles.wordpress.org\u002Frunsh-1\u002F","\u003Cp>This plugin adds WebTorrent support to WordPress.\u003C\u002Fp>\n\u003Cp>This technology permits to stream video using torrents reducing the server bandwith. For more infos visit http:\u002F\u002Fwebtorrent.io\u003C\u002Fp>\n\u003Cp>To use the plugin install it and then insert the [webtorrent] shortcode in your posts and pages. The webtorrent shortcode supports the following attributes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>file – if you want to specify only the filename of the torrent to use. The path will be the uploads directory + the torrents directory specified in the settings + the filename\u003C\u002Fli>\n\u003Cli>url – the url of the torrent\u003C\u002Fli>\n\u003Cli>torrent_link_enabled – enables the torrent link, the default is true\u003C\u002Fli>\n\u003Cli>show_seed_leech_info – shows the seed\u002Fleech infos, the default is true\u003C\u002Fli>\n\u003Cli>show_download_info – shows the download infos, the default is true\u003C\u002Fli>\n\u003Cli>torrents_directory – the torrents directory relative to the upload base directory used in conjunction with the file attribute to build the url, the default is torrents\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Many of them can be set globally in the plugin settings page.\u003C\u002Fp>\n\u003Cp>An example of a shortcode is:\u003C\u002Fp>\n\u003Cp>[webtorrent url=”https:\u002F\u002Fwebtorrent.io\u002Ftorrents\u002Fsintel.torrent” show_seed_leech_info=”false”]\u003C\u002Fp>\n","This plugin adds WebTorrent support to Wordpress.",20,3798,0,"2017-03-13T16:20:00.000Z","4.7.32","3.0.1","",[19],"0-1-2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwebtorrent.0.1.2.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":26,"display_name":7,"profile_url":8,"plugin_count":27,"total_installs":11,"avg_security_score":21,"avg_patch_time_days":28,"trust_score":29,"computed_at":30},"runsh-1",1,30,84,"2026-04-04T18:34:17.722Z",[],{"attackSurface":33,"codeSignals":52,"taintFlows":65,"riskAssessment":106,"analyzedAt":112},{"hooks":34,"ajaxHandlers":45,"restRoutes":46,"shortcodes":47,"cronEvents":51,"entryPointCount":27,"unprotectedCount":13},[35,41],{"type":36,"name":37,"callback":38,"file":39,"line":40},"action","wp_enqueue_scripts","webtorrent_scripts","webtorrent.php",19,{"type":36,"name":42,"callback":43,"file":39,"line":44},"admin_menu","webtorrent_menu",22,[],[],[48],{"tag":4,"callback":49,"file":39,"line":50},"webtorrent_shortcode",259,[],{"dangerousFunctions":53,"sqlUsage":54,"outputEscaping":56,"fileOperations":13,"externalRequests":13,"nonceChecks":27,"capabilityChecks":27,"bundledLibraries":64},[],{"prepared":13,"raw":13,"locations":55},[],{"escaped":57,"rawEcho":58,"locations":59},9,2,[60,63],{"file":39,"line":61,"context":62},78,"raw output",{"file":39,"line":21,"context":62},[],[66,95],{"entryPoint":67,"graph":68,"unsanitizedCount":13,"severity":94},"webtorrent_options (webtorrent.php:28)",{"nodes":69,"edges":90},[70,75,81,85],{"id":71,"type":72,"label":73,"file":39,"line":74},"n0","source","$_POST (x4)",40,{"id":76,"type":77,"label":78,"file":39,"line":79,"wp_function":80},"n1","sink","update_option() [Settings Manipulation]",45,"update_option",{"id":82,"type":72,"label":83,"file":39,"line":84},"n2","$_POST",43,{"id":86,"type":77,"label":87,"file":39,"line":88,"wp_function":89},"n3","echo() [XSS]",101,"echo",[91,93],{"from":71,"to":76,"sanitized":92},true,{"from":82,"to":86,"sanitized":92},"low",{"entryPoint":96,"graph":97,"unsanitizedCount":13,"severity":94},"\u003Cwebtorrent> (webtorrent.php:0)",{"nodes":98,"edges":103},[99,100,101,102],{"id":71,"type":72,"label":73,"file":39,"line":74},{"id":76,"type":77,"label":78,"file":39,"line":79,"wp_function":80},{"id":82,"type":72,"label":73,"file":39,"line":84},{"id":86,"type":77,"label":87,"file":39,"line":88,"wp_function":89},[104,105],{"from":71,"to":76,"sanitized":92},{"from":82,"to":86,"sanitized":92},{"summary":107,"deductions":108},"The \"webtorrent\" plugin v0.1.2 exhibits a generally good security posture based on the provided static analysis.  It demonstrates adherence to several security best practices, including the absence of dangerous functions, 100% usage of prepared statements for SQL queries, and the presence of nonce and capability checks. The low attack surface, with only one shortcode and no AJAX handlers or REST API routes exposed without authentication, further contributes to its relative security. The complete lack of known CVEs and historical vulnerabilities strongly suggests a mature and secure development process.\n\nHowever, the analysis does highlight a minor concern regarding output escaping. With 11 total outputs and 82% properly escaped, there's still a potential for 2 outputs to be unescaped. While not classified as critical in the taint analysis, unescaped output can lead to Cross-Site Scripting (XSS) vulnerabilities if user-controlled data is displayed without proper sanitization.  The absence of any taint flows with unsanitized paths or critical\u002Fhigh severity issues is a significant positive indicator.  The overall conclusion is that \"webtorrent\" v0.1.2 is a secure plugin, with the primary area for potential improvement being the complete sanitization of all output to eliminate any residual XSS risk.",[109],{"reason":110,"points":111},"Potential for unescaped output",5,"2026-03-16T22:59:04.422Z",{"wat":114,"direct":122},{"assetPaths":115,"generatorPatterns":119,"scriptPaths":120,"versionParams":121},[116,117,118],"\u002Fwp-content\u002Fplugins\u002Fwebtorrent\u002Fcss\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Fwebtorrent\u002Fjs\u002Fmoment.min.js","\u002Fwp-content\u002Fplugins\u002Fwebtorrent\u002Fjs\u002Fwebtorrent.min.js",[],[118,117],[],{"cssClasses":123,"htmlComments":132,"htmlAttributes":133,"restEndpoints":145,"jsGlobals":146,"shortcodeOutput":148},[4,124,125,126,127,128,129,130,131],"show-leech","show-seed","numPeers","downloaded","total","remaining","downloadSpeed","uploadSpeed",[],[134,135,136,137,138,139,140,141,142,143,144],"id=\"webtorrent\"","id=\"output\"","id=\"progressBar\"","id=\"status\"","id=\"numPeers\"","id=\"downloaded\"","id=\"total\"","id=\"remaining\"","id=\"downloadSpeed\"","id=\"uploadSpeed\"","id=\"torrentLink\"",[],[5,147],"jQuery",[149],"\u003Cdiv id=\"webtorrent\">"]