metasploit-framework/.rubocop.yml

59 lines
1.7 KiB
YAML

# This list was created by analyzing the last three months (51 modules)
# committed to Metasploit Framework. Many, many older modules will have
# offenses, but this should at least provide a baseline for new modules.
#
# Updates to this file should include a 'Description' parameter for
# any explaination needed.
inherit_from: .rubocop_todo.yml
Style/ClassLength:
Description: 'Most Metasploit modules are quite large. This is ok.'
Enabled: true
Exclude:
- 'modules/**/*'
Style/Documentation:
Enabled: true
Description: 'Most Metasploit modules do not have class documentation.'
Exclude:
- 'modules/**/*'
Style/Encoding:
Enabled: true
Description: 'We prefer binary to UTF-8.'
EnforcedStyle: 'when_needed'
Style/LineLength:
Description: >-
Metasploit modules often pattern match against very
long strings when identifying targets.
Enabled: true
Max: 180
Style/MethodLength:
Enabled: true
Description: >-
While the style guide suggests 10 lines, exploit definitions
often exceed 200 lines.
Max: 300
Style/NumericLiterals:
Enabled: false
Description: 'This often hurts readability for exploit-ish code.'
Style/PercentLiteralDelimiters:
Enabled: false
Description: >-
Metasploit devs tend to prefer [] over %w() for
nearly all cases, since we often deal with funny
looking arrays of nonwords. Consistency here is
preferred over element type safety.
Style/WordArray:
Enabled: false
Description: >-
Metasploit devs have grown comforatble with curly
braces over parens for %w. Disabling this check
prefers consistency.