reference Rule options

generic_caseless

Value
true or false
Default
false

With generic_engine: aliengrep and generic_caseless: true, the pattern matches text in any letter case: SELECT ... FROM users also matches select * from users and Select * From Users.

The option has no effect with the default engine, spacegrep, which always matches case exactly.

Examples

SQL keywords in any case

The rule select-users turns the option on.

queries.yaml
rules:  - id: select-users-default    pattern: SELECT ... FROM users    message: query on users    languages: [generic]    severity: INFO    options:      generic_engine: aliengrep  - id: select-users    pattern: SELECT ... FROM users    message: query on users    languages: [generic]    severity: INFO    options:      generic_engine: aliengrep      generic_caseless: true
queries.sql
SELECT * FROM usersselect * from users
Command and result
$ opengrep scan -q --config queries.yaml queries.sql
queries.sql

  info  select-users
  query on users

     1: SELECT * FROM users

  info  select-users-default
  query on users

     1: SELECT * FROM users

  info  select-users
  query on users

     2: select * from users