[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fFHagC0RE5wqyQSuXXibu4DN899zZ3bA5u1S-VYTUxYE":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":20,"download_link":21,"security_score":22,"vuln_count":11,"unpatched_count":11,"last_vuln_date":23,"fetched_at":24,"vulnerabilities":25,"developer":26,"crawl_stats":23,"alternatives":34,"analysis":35,"fingerprints":90},"kgr-user-log","KGR User Log","1.6.3","Konstantinos Raktivan","https:\u002F\u002Fprofiles.wordpress.org\u002Fconstracti\u002F","\u003Cp>Displays the registration time and the last active time in two custom columns in the users table.\u003C\u002Fp>\n","Displays the registration time and the last active time in two custom columns in the users table.",0,936,"2024-11-18T16:21:00.000Z","6.7.5","5.3.0","7.0",[18,19],"last-active-time","registered-time","https:\u002F\u002Fgithub.com\u002Fconstracti\u002Fkgr-user-log","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fkgr-user-log.1.6.3.zip",92,null,"2026-03-15T15:16:48.613Z",[],{"slug":27,"display_name":7,"profile_url":8,"plugin_count":28,"total_installs":29,"avg_security_score":30,"avg_patch_time_days":31,"trust_score":32,"computed_at":33},"constracti",4,60,90,30,87,"2026-04-04T10:37:28.332Z",[],{"attackSurface":36,"codeSignals":71,"taintFlows":80,"riskAssessment":81,"analyzedAt":89},{"hooks":37,"ajaxHandlers":67,"restRoutes":68,"shortcodes":69,"cronEvents":70,"entryPointCount":11,"unprotectedCount":11},[38,44,49,52,55,58,62,64],{"type":39,"name":40,"callback":41,"file":42,"line":43},"filter","manage_users_columns","closure","column.php",9,{"type":45,"name":46,"callback":41,"priority":47,"file":42,"line":48},"action","manage_users_custom_column",10,18,{"type":45,"name":50,"callback":41,"file":42,"line":51},"admin_enqueue_scripts",44,{"type":39,"name":53,"callback":41,"file":42,"line":54},"manage_users_sortable_columns",53,{"type":45,"name":56,"callback":41,"file":42,"line":57},"pre_get_users",62,{"type":45,"name":59,"callback":41,"file":60,"line":61},"init","index.php",47,{"type":45,"name":59,"callback":41,"file":60,"line":63},67,{"type":45,"name":65,"callback":41,"file":60,"line":66},"user_register",77,[],[],[],[],{"dangerousFunctions":72,"sqlUsage":73,"outputEscaping":75,"fileOperations":11,"externalRequests":11,"nonceChecks":11,"capabilityChecks":78,"bundledLibraries":79},[],{"prepared":11,"raw":11,"locations":74},[],{"escaped":76,"rawEcho":11,"locations":77},2,[],1,[],[],{"summary":82,"deductions":83},"The \"kgr-user-log\" v1.6.3 plugin exhibits a strong security posture based on the provided static analysis data. There are no identified dangerous functions, SQL queries are all prepared, and all output is properly escaped. Furthermore, the plugin does not perform file operations or external HTTP requests, significantly reducing its attack surface. The absence of any recorded vulnerabilities, historical or recent, further reinforces its current security standing.\n\nHowever, the static analysis also highlights a critical lack of security checks, particularly concerning nonce checks and capability checks. With zero AJAX handlers, REST API routes, shortcodes, or cron events, the plugin has a seemingly minimal attack surface. Yet, the complete absence of nonce checks (0 total) on any potential entry points is a significant concern. While there is one capability check, its presence alone doesn't mitigate the risk if the entry points are not properly secured or if the capability check itself is insufficient.\n\nIn conclusion, while the code itself appears clean with no overt signs of dangerous practices or known vulnerabilities, the lack of fundamental security mechanisms like nonce checks on potential (even if currently none) entry points presents a latent risk. The plugin's strength lies in its minimal attack surface and adherence to good coding practices for queries and output. Its weakness lies in the complete absence of protective measures like nonce checks, which could be exploited if new entry points are introduced or if existing ones become exposed in future updates. The vulnerability history is excellent, but this does not excuse the absence of basic security layers.",[84,86],{"reason":85,"points":47},"Missing nonce checks on entry points",{"reason":87,"points":88},"Only one capability check present",5,"2026-03-17T07:11:42.441Z",{"wat":91,"direct":98},{"assetPaths":92,"generatorPatterns":94,"scriptPaths":95,"versionParams":96},[93],"\u002Fwp-content\u002Fplugins\u002Fkgr-user-log\u002Fcolumn.css",[],[],[97],"kgr-user-log\u002Fcolumn.css?ver=",{"cssClasses":99,"htmlComments":100,"htmlAttributes":101,"restEndpoints":102,"jsGlobals":103,"shortcodeOutput":104},[],[],[],[],[],[]]