Skip to content

Rubocop Cop that avoids building a subquery with attribute_names

What does this MR do?

Discourages use of methods that enumerate the column names on a table as their use in queries can lead to uneven queries as seen in gitlab-com/gl-infra/production#5171 (comment 628068466)

  • Alerts when column_names and attribute_names are used outside of specs and qa tests.
  • This is a pretty blunt check and since we only have one false positive showing up in the database, this seems like the most straightforward approach at early detection.

How to setup and validate locally (strongly suggested)

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Related to #336461

Edited by Doug Stull

Merge request reports