Security audit

I’m also wanted to understand a bit about the security features provided by Wappler itself, like:

  1. Industry Standards:
    Does Wappler follow recognised security standards like OWASP Top 10, CWE Top 25, or the NIST Cybersecurity Framework?

  2. Code Security:
    Steps to ensure that the code is secure and follows best practices, ex: dmx libs?,are tools like semgrep, etc used in the release process

@patrick @George, could you please provide some insight on this?

Wappler doesn't enforce you to use a certain implementation, we try to give you all the tools needed that fits your needs and are following standards as good as possible. It is good to follow the OWASP guidelines and we try to give you all the tools needed for that, if you miss something that is important then just let us know.

1 Like

There are vulnerabilities that we cannot resolve on our own without breaking standard Wappler code. Whether we can ignore any of these is the question, but it would be ideal if the High severity (red color) are actioned by Wappler team.
























Bump.

bump

bump

Have you tried Claude Sonnet IV? It will even help to improve security.

I asked to check one of my API's with this result:

Looking at this API endpoint, I can identify several security concerns:

Security Assessment: MODERATE RISK

Critical Issues:

  1. No Authentication/Authorization Check:
  • The API only checks if {{identity}} exists but doesn't validate it through a proper security provider
  • There's no auth/restrict step to ensure the user is actually logged in
  • Any request with any identity value could potentially access employee data
  1. Direct Database Query Without Validation:
  • The API directly queries the employee table using {{identity}} as the employee_id
  • No validation that the identity value is properly formatted or sanitized
  1. Information Disclosure:
  • Returns ALL employee fields including sensitive data like company_id, department_id, manager_id, etc.
  • No field filtering based on user permissions

Recommendations to Improve Security:

  1. Add Proper Authentication:
{  "name": "restrict",  "module": "auth",   "action": "restrict",  "options": {    "provider": "your_security_provider_name",    "loginUrl": "/login"  }}
  1. Add Input Validation:
"meta": {  "$_GET": [    {      "name": "employee_id",       "type": "number",      "options": {        "rules": {          "core:required": {},          "core:number": {}        }      }    }  ]}
  1. Limit Returned Fields:
  • Only return necessary fields, not all employee data
  • Consider user permissions when deciding what data to expose
  1. Add Authorization Logic:
  • Verify the authenticated user can access the requested employee data
  • Implement role-based access control

Would you like me to help implement these security improvements? :+1:

4 Likes