Missing Authorization
The product does not perform an authorization check when an actor attempts to access a resource or perform an action.
Assuming a user with a given identity, authorization is the process of determining whether that user can access a given resource. When authorization checks are completely missing, any authenticated user can access protected resources.
How to fix this vulnerability
Prevention strategies for Missing Authorization based on 3 Shoulder detection rules.
Require human approval for sensitive operations and limit agent loop iterations
- for _, toolCall := range resp.Choices[0].Message.ToolCalls { + var sensitiveOps = map[string]bool{ + "deleteUser": true, "transferFunds": true, "sendEmail": true, + } + + for i, toolCall := range resp.Choices[0].Message.ToolCalls { + if i >= maxIterations { + break + } + if sensitiveOps[toolCall.Function.Name] { + queueForApproval(toolCall) + continue + } result, _ := tools[toolCall.Function.Name](toolCall.Function.Arguments) results = append(results, result) }
Find vulnerabilities in your code
Use Shoulder to scan your codebase for Missing Authorization patterns. 3 rules.
# Scan with Shoulder CLI npx @shoulderdev/cli trust --cwe=862 # Or scan entire project npx @shoulderdev/cli trust .
Detection Rules (3)
What to watch for in code reviews
These patterns indicate potential Missing Authorization vulnerabilities. Look for these during code reviews and security audits.
Scan your codebase for Missing Authorization
Shoulder CLI finds vulnerable patterns across your entire codebase.