Authorization and access control security guidance based on Project CodeGuard — covers RBAC/ABAC/ReBAC, IDOR prevention, mass assignment, and transaction authorization
87
82%
Does it follow best practices?
Impact
93%
1.45xAverage score across 6 eval scenarios
Passed
No findings from the security scan
{
"context": "Tests whether the agent spots the subtle mass assignment vector: OrganizationUpdate has extra='allow', so despite defining only 3 fields, it accepts ANY field from the request and merges it into the Organization model — allowing attackers to set tier, sso_enabled, max_users, etc.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Extra fields config fixed",
"description": "The agent identifies and removes or changes the 'extra = allow' config on OrganizationUpdate (or equivalent) so that unexpected fields from the request body are rejected rather than silently accepted",
"max_score": 10
},
{
"name": "Merge logic hardened",
"description": "The org_data.update() call is protected — either by ensuring the update schema rejects extra fields, or by explicitly picking only safe keys before merging, rather than trusting the Pydantic model alone",
"max_score": 15
},
{
"name": "Input validation on permitted fields",
"description": "The implementation validates the permitted fields beyond just type checking — e.g. length limits on name, URL format on website, enum validation on industry",
"max_score": 75
}
]
}