Enhancing JavaScript Security with Built-In Features and Best Practices
Approaches to leveraging JavaScript's built-in security features and adopting best practices to prevent vulnerabilities like XSS and CSRF.
0 likes
8 views
Rule Content
{ "title": "Enhancing JavaScript Security with Built-In Features and Best Practices", "description": "Approaches to leveraging JavaScript's built-in security features and adopting best practices to prevent vulnerabilities like XSS and CSRF.", "category": "JavaScript Cursor Rules", "rules": [ { "id": "no-eval", "description": "Disallow the use of 'eval()' and similar functions to prevent code injection vulnerabilities.", "severity": "error", "pattern": "eval\\(.*\\)|new Function\\(.*\\)" }, { "id": "strict-mode", "description": "Enforce the use of JavaScript's strict mode to catch common coding errors and prevent unsafe actions.", "severity": "error", "pattern": "(?<!['\"\\w])use strict(?=['\";])" }, { "id": "csp-header", "description": "Ensure that Content Security Policy (CSP) headers are implemented to mitigate XSS attacks.", "severity": "warning", "pattern": "Content-Security-Policy" }, { "id": "csrf-protection", "description": "Verify that anti-CSRF tokens are used in forms to prevent CSRF attacks.", "severity": "warning", "pattern": "csrf_token|X-CSRF-Token" }, { "id": "secure-cookies", "description": "Ensure cookies are set with the 'Secure' and 'HttpOnly' flags to protect against session hijacking.", "severity": "warning", "pattern": "Set-Cookie:.*; Secure; HttpOnly" }, { "id": "input-validation", "description": "Validate and sanitize all user inputs to prevent injection attacks.", "severity": "error", "pattern": "sanitize|validate" }, { "id": "dependency-audit", "description": "Regularly audit and update third-party libraries to address known vulnerabilities.", "severity": "warning", "pattern": "npm audit|snyk test" }, { "id": "https-enforcement", "description": "Enforce HTTPS to secure data in transit and prevent man-in-the-middle attacks.", "severity": "error", "pattern": "Strict-Transport-Security" }, { "id": "no-inline-js", "description": "Avoid inline JavaScript to reduce the risk of XSS attacks.", "severity": "warning", "pattern": "<script>.*</script>" }, { "id": "secure-headers", "description": "Implement security headers like X-Content-Type-Options and X-Frame-Options to protect against common attacks.", "severity": "warning", "pattern": "X-Content-Type-Options|X-Frame-Options" } ] }