# Missing Authentication for Critical Function (CWE-306) The product does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources. **Stack:** JavaScript - Prevalence: 高 频繁被利用 - Impact: 高 6 条严重级别为高的规则 - Prevention: 已记录 6 个修复示例 **OWASP:** Identification and Authentication Failures (A07:2021-Identification and Authentication Failures) - #7 ## Description As data traverses trust boundaries, the data should be validated before being processed. When authentication is not applied to critical functions, attackers can invoke these functions without proving their identity. ## Prevention ### JavaScript Add @UseGuards decorator with authentication guard at controller or method level ## Warning Signs - [HIGH] NestJS endpoint has no @UseGuards() decorator for authentication ## Consequences - 获取权限 - 读取应用程序数据 - 修改应用程序数据 - 执行未授权代码 ## Mitigations - 将软件划分为具有不同信任级别的组件 - 识别所有具有安全关键功能的区域,并对这些区域全部要求身份验证 - 确保实施了适当的访问控制 ## Detection - Total rules: 6 - Languages: python, go, typescript ## Rules by Language ### Typescript (1 rules) - **NestJS Endpoint Missing Authentication Guard** [HIGH]: Endpoints without @UseGuards or @Public decorators are accessible to unauthenticated users, enabling unauthorized access. - Remediation: Add @UseGuards decorator at controller or method level. ```typescript import { UseGuards } from '@nestjs/common'; import { JwtAuthGuard } from '../auth/jwt-auth.guard'; @Controller('users') @UseGuards(JwtAuthGuard) export class UsersController { @Get(':id') findOne(@Param('id') id: string) { return this.usersService.findOne(id); } } ``` Learn more: https://shoulder.dev/learn/typescript/cwe-306/missing-auth-guard