[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fJQJjUdctMKn5kXy77fad_wLqaoqjcyE6CyG-HjZKlU0":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":31,"analysis":32,"fingerprints":104},"ng-wp-endpoints","ng-wp-rest","1.5.0","uiarch","https:\u002F\u002Fprofiles.wordpress.org\u002Fuiarch\u002F","\u003Cp>Easy to use plugin for displaying prettier json data for menus, widgets and sidebars.\u003C\u002Fp>\n\u003Ch3>I’ve got an idea\u002Ffix for the template\u003C\u002Fh3>\n\u003Cp>If you would like to contribute to this template then please fork it and send a pull request. I’ll merge the request if it fits into the goals for the template\u003C\u002Fp>\n","Simple plugin to add rest endpoints to blog for working with a js framework.",0,1124,100,1,"2018-03-26T18:37:00.000Z","4.9.29","4.0","5.6",[20],"rest-api-headless-cms","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fng-wp-endpoints.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":14,"total_installs":11,"avg_security_score":23,"avg_patch_time_days":28,"trust_score":29,"computed_at":30},30,84,"2026-04-04T13:31:20.411Z",[],{"attackSurface":33,"codeSignals":78,"taintFlows":91,"riskAssessment":92,"analyzedAt":103},{"hooks":34,"ajaxHandlers":74,"restRoutes":75,"shortcodes":76,"cronEvents":77,"entryPointCount":11,"unprotectedCount":11},[35,41,46,48,51,54,57,59,63,66,70],{"type":36,"name":37,"callback":38,"file":39,"line":40},"action","rest_api_init","createApiFields","includes\\ng-wp-endpoints-add-fields.php",27,{"type":36,"name":42,"callback":43,"file":44,"line":45},"ng_wp_rest_register_endpoints","registerRoutes","includes\\ng-wp-rest-custom-post-types-controller.php",29,{"type":36,"name":42,"callback":43,"file":47,"line":45},"includes\\ng-wp-rest-menus-controller.php",{"type":36,"name":42,"callback":43,"file":49,"line":50},"includes\\ng-wp-rest-sidebars-controller.php",28,{"type":36,"name":52,"callback":53,"file":49,"line":45},"admin_init","sidebarMetaBox",{"type":36,"name":55,"callback":56,"file":49,"line":28},"save_post","saveSidebar",{"type":36,"name":42,"callback":43,"file":58,"line":50},"includes\\ng-wp-rest-widgets-controller.php",{"type":36,"name":52,"callback":60,"file":61,"line":62},"checkVersion","ng-wp-rest-controller.php",39,{"type":36,"name":37,"callback":64,"file":61,"line":65},"addEndpoints",95,{"type":36,"name":67,"callback":68,"file":61,"line":69},"admin_notices","disabledNotice",107,{"type":36,"name":71,"callback":72,"file":61,"line":73},"init","pluginInit",176,[],[],[],[],{"dangerousFunctions":79,"sqlUsage":80,"outputEscaping":82,"fileOperations":11,"externalRequests":11,"nonceChecks":11,"capabilityChecks":11,"bundledLibraries":90},[],{"prepared":11,"raw":11,"locations":81},[],{"escaped":11,"rawEcho":83,"locations":84},2,[85,88],{"file":49,"line":86,"context":87},156,"raw output",{"file":61,"line":89,"context":87},134,[],[],{"summary":93,"deductions":94},"The \"ng-wp-endpoints\" plugin v1.5.0 exhibits a generally strong security posture based on the provided static analysis. The complete absence of exposed entry points like AJAX handlers, REST API routes, shortcodes, and cron events, coupled with the lack of file operations, external HTTP requests, and dangerous function usage, significantly limits the potential attack surface. Furthermore, all SQL queries are correctly prepared, indicating good database interaction practices.  The plugin also shows no history of known vulnerabilities (CVEs), which is a positive sign of its development and maintenance.",[95,98,101],{"reason":96,"points":97},"Output not properly escaped",6,{"reason":99,"points":100},"Missing nonce checks",3,{"reason":102,"points":100},"Missing capability checks","2026-03-17T06:31:14.419Z",{"wat":105,"direct":112},{"assetPaths":106,"generatorPatterns":109,"scriptPaths":110,"versionParams":111},[107,108],"\u002Fwp-content\u002Fplugins\u002Fng-wp-endpoints\u002Fincludes\u002Fng-wp-interface.php","\u002Fwp-content\u002Fplugins\u002Fng-wp-endpoints\u002Fincludes\u002Fng-wp-abstract.php",[],[],[],{"cssClasses":113,"htmlComments":114,"htmlAttributes":115,"restEndpoints":116,"jsGlobals":124,"shortcodeOutput":125},[],[],[],[117,118,119,120,121,122,123],"\u002Fwp-json\u002Fng-wp-endpoints\u002Fv1\u002Fcustom-post-types","\u002Fwp-json\u002Fng-wp-endpoints\u002Fv1\u002Fcustom-post-types\u002F(?P\u003Ctaxonomy_name>[a-zA-Z0-9_-]+)","\u002Fwp-json\u002Fng-wp-endpoints\u002Fv1\u002Fwidgets","\u002Fwp-json\u002Fng-wp-endpoints\u002Fv1\u002Fwidgets\u002F(?P\u003Cwidget_id>[a-zA-Z0-9_-]+)","\u002Fwp-json\u002Fng-wp-endpoints\u002Fv1\u002Fmenus","\u002Fwp-json\u002Fng-wp-endpoints\u002Fv1\u002Fmenus\u002F(?P\u003Clocation>[a-zA-Z0-9_-]+)","\u002Fwp-json\u002Fng-wp-endpoints\u002Fv1\u002Fsidebars",[],[]]