Unchecked Return Value
The product does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
When return values are not checked, the program may continue execution in an error state or with incorrect data, potentially leading to security vulnerabilities.
Como corrigir esta vulnerabilidade
Estratégias de prevenção para Unchecked Return Value baseadas em 2 regras de detecção do Shoulder.
Replace blank identifier _ with err and check error return values
- data, _ := ioutil.ReadFile(path) + data, err := ioutil.ReadFile(path) + if err != nil { + return fmt.Errorf("failed to read %s: %w", path, err) + } process(data)
Always check return values from critical operations like password comparison and database writes
- bcrypt.compare(req.body.password, user.passwordHash); - // Proceeds without checking the result + const isValid = await bcrypt.compare(req.body.password, user.passwordHash); + if (!isValid) { + return res.status(401).json({ error: 'Invalid credentials' }); + } const token = generateToken(user);
Encontre vulnerabilidades no seu código
Use o Shoulder para escanear seu código em busca de padrões Unchecked Return Value. 2 regras.
# Scan with Shoulder CLI npx @shoulderdev/cli trust --cwe=252 # Or scan entire project npx @shoulderdev/cli trust .
Regras de Detecção (2)
O que observar nas revisões de código
Estes padrões indicam vulnerabilidades potenciais de Unchecked Return Value. Procure-os durante revisões de código e auditorias de segurança.
Escaneie seu código para Unchecked Return Value
O Shoulder CLI encontra padrões vulneráveis em todo o seu código.