[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fcu7K_CrUVlpWAbMnOl3oZcuiFnk0WtePh509ZvIDoeo":3},{"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,"vulnerabilities":24,"developer":25,"crawl_stats":22,"alternatives":31,"analysis":32,"fingerprints":79},"face-recognition-wp","Face recognition WP","1.0","dessainsaraiva","https:\u002F\u002Fprofiles.wordpress.org\u002Fdessainsaraiva\u002F","\u003Cp>Face Recognition WP is now free\u003Cbr \u002F>\nIf you would like to have a personal folder send me a message and I’ll give you a custom plugin version.\u003Cbr \u002F>\nDonations are appreciated since this service depends on Amazon’s AWS cloud computing services.\u003C\u002Fp>\n\u003Cp>How it works\u003Cbr \u002F>\n1) Upload profile photos\u003Cbr \u002F>\n2) Upload the group photo\u003Cbr \u002F>\n3) A list of identified profiles will show\u003C\u002Fp>\n\u003Cp>These are some of the main features and case scenarios:\u003Cbr \u002F>\n– You manage a classroom and need to check who attended the class, at the end of the class you can take a group photo and check it automatically.\u003Cbr \u002F>\n– You don’t need to upload photos to Facebook or other services to identify persons\u003Cbr \u002F>\n– You can have your own private server (Extended license) to save your data\u003Cbr \u002F>\n– Plugin is constantly updated and improved according to user feedback\u003Cbr \u002F>\n– The interface is responsive and virtually works on any device\u003C\u002Fp>\n\u003Cp>Find out more about this plugin here: https:\u002F\u002Ffacerecognitionwp.com\u002F\u003C\u002Fp>\n","Face Recognition WP is now free",0,1177,"2020-03-13T23:03:00.000Z","5.2.24","5.1","7.2",[18],"face-recognition","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fface-recognition-wp.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":26,"total_installs":27,"avg_security_score":21,"avg_patch_time_days":28,"trust_score":29,"computed_at":30},3,10,30,84,"2026-04-04T04:20:08.864Z",[],{"attackSurface":33,"codeSignals":57,"taintFlows":68,"riskAssessment":69,"analyzedAt":78},{"hooks":34,"ajaxHandlers":48,"restRoutes":49,"shortcodes":50,"cronEvents":55,"entryPointCount":56,"unprotectedCount":11},[35,41,44],{"type":36,"name":37,"callback":38,"file":39,"line":40},"action","wp_enqueue_scripts","wpdocs_theme_name_scripts_fcwp","face-recognition-wp.php",21,{"type":36,"name":42,"callback":38,"file":39,"line":43},"admin_enqueue_scripts",22,{"type":36,"name":45,"callback":46,"file":39,"line":47},"admin_menu","face_recognition_plugin_setup_menu_fcwp",25,[],[],[51],{"tag":52,"callback":53,"file":39,"line":54},"facerecwp","facerecwp_shortcode_fcwp",183,[],1,{"dangerousFunctions":58,"sqlUsage":59,"outputEscaping":61,"fileOperations":11,"externalRequests":11,"nonceChecks":11,"capabilityChecks":11,"bundledLibraries":67},[],{"prepared":11,"raw":11,"locations":60},[],{"escaped":62,"rawEcho":56,"locations":63},4,[64],{"file":39,"line":65,"context":66},171,"raw output",[],[],{"summary":70,"deductions":71},"The \"face-recognition-wp\" v1.0 plugin exhibits a generally good security posture based on the provided static analysis. The absence of dangerous functions, raw SQL queries, file operations, external HTTP requests, and the use of prepared statements for all SQL queries are strong indicators of secure coding practices.  Furthermore, the lack of known vulnerabilities in its history is a positive sign.  However, there are notable areas for improvement and potential underlying risks that warrant attention.  The presence of a shortcode without explicit capability checks or nonce verification on its entry point creates a potential vector for unauthorized actions, although the limited attack surface mitigates immediate widespread risk.  The 80% proper output escaping, while good, leaves a small percentage of outputs potentially vulnerable to XSS attacks if the unescaped outputs are user-controllable.  The total absence of taint analysis results and the lack of nonce and capability checks on the identified shortcode suggest that the security controls might not be as comprehensive as they could be.  Overall, the plugin is in a relatively secure state, but a review of the shortcode's functionality and its input\u002Foutput handling is recommended to fully address potential security gaps.",[72,75],{"reason":73,"points":74},"Shortcode with missing capability checks",5,{"reason":76,"points":77},"Some outputs not properly escaped",2,"2026-03-17T06:54:17.725Z",{"wat":80,"direct":91},{"assetPaths":81,"generatorPatterns":86,"scriptPaths":87,"versionParams":90},[82,83,84,85],"\u002Fwp-content\u002Fplugins\u002Fface-recognition-wp\u002Fassets\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Fface-recognition-wp\u002Fassets\u002Fbootstrap\u002Fbootstrap-grid.min.css","\u002Fwp-content\u002Fplugins\u002Fface-recognition-wp\u002Fassets\u002Fbootstrap\u002Fbootstrap.min.js","\u002Fwp-content\u002Fplugins\u002Fface-recognition-wp\u002Fassets\u002Fmain.js",[],[88,89],"wp-content\u002Fplugins\u002Fface-recognition-wp\u002Fassets\u002Fbootstrap\u002Fbootstrap.min.js","wp-content\u002Fplugins\u002Fface-recognition-wp\u002Fassets\u002Fmain.js",[],{"cssClasses":92,"htmlComments":100,"htmlAttributes":101,"restEndpoints":108,"jsGlobals":109,"shortcodeOutput":110},[93,94,95,96,97,98,99],"face-recognition-wrapper","title-wrapper","worko-tabs","flex-tabs","tab","panel","form_loader",[],[102,103,104,105,106,107],"id=\"groupPhotos\"","id=\"userProfile\"","id=\"form_loader\"","id=\"user-id\"","id=\"user-profiles-list\"","id=\"user-profiles-list-output\"",[],[],[111,112,113,114,115,116,117,118,119,117,120,121,122],"\u003Cdiv class=\"face-recognition-wrapper\">","\u003Cdiv class=\"worko-tabs\">","\u003Cinput class=\"state\" type=\"radio\" title=\"tab-one\" name=\"tabs-state\" id=\"tab-one\" checked \u002F>","\u003Clabel for=\"tab-one\" id=\"tab-one-label\" class=\"tab\">Group Photos\u003C\u002Flabel>","\u003Cdiv id=\"tab-one-panel\" class=\"panel\">","\u003Cform action=\"#\" id=\"groupPhotos\" method=\"POST\" enctype=\"multipart\u002Fform-data\">","\u003Cdiv id=\"form_loader\" >","\u003Cspan id=\"group-photos-output\">\u003C\u002Fspan>","\u003Cspan id=\"user-id\">","\u003Cspan id=\"persons-photos-output\">\u003C\u002Fspan>","\u003Cdiv class=\"row\" id=\"user-profiles-list\">","\u003Cspan id=\"user-profiles-list-output\">"]