newrelic_security 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. checksums.yaml +7 -0
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  3. data/.github/ISSUE_TEMPLATE/enhancement.md +27 -0
  4. data/.github/actions/simplecov-report/LICENSE +22 -0
  5. data/.github/actions/simplecov-report/README.md +36 -0
  6. data/.github/actions/simplecov-report/__tests__/.keep +0 -0
  7. data/.github/actions/simplecov-report/__tests__/main.test.ts +3 -0
  8. data/.github/actions/simplecov-report/action.yml +25 -0
  9. data/.github/actions/simplecov-report/dist/index.js +10238 -0
  10. data/.github/actions/simplecov-report/dummy_coverage/.last_run.json +5 -0
  11. data/.github/actions/simplecov-report/jest.config.js +11 -0
  12. data/.github/actions/simplecov-report/package.json +51 -0
  13. data/.github/actions/simplecov-report/src/main.ts +54 -0
  14. data/.github/actions/simplecov-report/src/report.ts +28 -0
  15. data/.github/actions/simplecov-report/tsconfig.json +12 -0
  16. data/.github/workflows/pr_ci.yml +77 -0
  17. data/.github/workflows/release.yml +51 -0
  18. data/.github/workflows/repolinter.yml +31 -0
  19. data/.github/workflows/rubocop.yml +17 -0
  20. data/.github/workflows/scripts/rubygems-authenticate.py +13 -0
  21. data/.github/workflows/scripts/rubygems-publish.rb +33 -0
  22. data/.gitignore +72 -0
  23. data/.rubocop.yml +9 -0
  24. data/.rubocop_todo.yml +1414 -0
  25. data/.simplecov +16 -0
  26. data/CHANGELOG.md +69 -0
  27. data/CONTRIBUTING.md +22 -0
  28. data/Gemfile +6 -0
  29. data/Gemfile_test +58 -0
  30. data/LICENSE +43 -0
  31. data/README.md +133 -0
  32. data/README_agent.md +44 -0
  33. data/Rakefile +28 -0
  34. data/THIRD_PARTY_NOTICES.md +36 -0
  35. data/lib/newrelic_security/agent/agent.rb +109 -0
  36. data/lib/newrelic_security/agent/configuration/default_source.rb +8 -0
  37. data/lib/newrelic_security/agent/configuration/environment_source.rb +8 -0
  38. data/lib/newrelic_security/agent/configuration/manager.rb +178 -0
  39. data/lib/newrelic_security/agent/configuration/manual_source.rb +8 -0
  40. data/lib/newrelic_security/agent/configuration/server_source.rb +8 -0
  41. data/lib/newrelic_security/agent/configuration/yaml_source.rb +8 -0
  42. data/lib/newrelic_security/agent/control/app_info.rb +132 -0
  43. data/lib/newrelic_security/agent/control/application_url_mappings.rb +66 -0
  44. data/lib/newrelic_security/agent/control/collector.rb +117 -0
  45. data/lib/newrelic_security/agent/control/control_command.rb +117 -0
  46. data/lib/newrelic_security/agent/control/critical_message.rb +58 -0
  47. data/lib/newrelic_security/agent/control/event.rb +149 -0
  48. data/lib/newrelic_security/agent/control/event_counter.rb +28 -0
  49. data/lib/newrelic_security/agent/control/event_processor.rb +134 -0
  50. data/lib/newrelic_security/agent/control/event_stats.rb +26 -0
  51. data/lib/newrelic_security/agent/control/event_subscriber.rb +28 -0
  52. data/lib/newrelic_security/agent/control/exit_event.rb +38 -0
  53. data/lib/newrelic_security/agent/control/fuzz_request.rb +18 -0
  54. data/lib/newrelic_security/agent/control/grpc_context.rb +57 -0
  55. data/lib/newrelic_security/agent/control/health_check.rb +136 -0
  56. data/lib/newrelic_security/agent/control/http_context.rb +73 -0
  57. data/lib/newrelic_security/agent/control/iast_client.rb +151 -0
  58. data/lib/newrelic_security/agent/control/iast_data_transfer_request.rb +32 -0
  59. data/lib/newrelic_security/agent/control/reflected_xss.rb +258 -0
  60. data/lib/newrelic_security/agent/control/websocket_client.rb +131 -0
  61. data/lib/newrelic_security/agent/logging/init_logger.rb +91 -0
  62. data/lib/newrelic_security/agent/logging/logger.rb +92 -0
  63. data/lib/newrelic_security/agent/logging/null_logger.rb +21 -0
  64. data/lib/newrelic_security/agent/resources/cert.pem +50 -0
  65. data/lib/newrelic_security/agent/utils/agent_utils.rb +219 -0
  66. data/lib/newrelic_security/agent.rb +57 -0
  67. data/lib/newrelic_security/constants.rb +67 -0
  68. data/lib/newrelic_security/instrumentation-security/active_record/mysql2_adapter/chain.rb +70 -0
  69. data/lib/newrelic_security/instrumentation-security/active_record/mysql2_adapter/instrumentation.rb +187 -0
  70. data/lib/newrelic_security/instrumentation-security/active_record/mysql2_adapter/prepend.rb +54 -0
  71. data/lib/newrelic_security/instrumentation-security/active_record/postgresql_adapter/chain.rb +60 -0
  72. data/lib/newrelic_security/instrumentation-security/active_record/postgresql_adapter/instrumentation.rb +143 -0
  73. data/lib/newrelic_security/instrumentation-security/active_record/postgresql_adapter/prepend.rb +48 -0
  74. data/lib/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/chain.rb +72 -0
  75. data/lib/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/instrumentation.rb +187 -0
  76. data/lib/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/prepend.rb +54 -0
  77. data/lib/newrelic_security/instrumentation-security/async-http/chain.rb +21 -0
  78. data/lib/newrelic_security/instrumentation-security/async-http/instrumentation.rb +46 -0
  79. data/lib/newrelic_security/instrumentation-security/async-http/prepend.rb +16 -0
  80. data/lib/newrelic_security/instrumentation-security/curb/chain.rb +26 -0
  81. data/lib/newrelic_security/instrumentation-security/curb/instrumentation.rb +52 -0
  82. data/lib/newrelic_security/instrumentation-security/curb/prepend.rb +18 -0
  83. data/lib/newrelic_security/instrumentation-security/dir/chain.rb +42 -0
  84. data/lib/newrelic_security/instrumentation-security/dir/instrumentation.rb +102 -0
  85. data/lib/newrelic_security/instrumentation-security/dir/prepend.rb +28 -0
  86. data/lib/newrelic_security/instrumentation-security/ethon/chain.rb +53 -0
  87. data/lib/newrelic_security/instrumentation-security/ethon/instrumentation.rb +122 -0
  88. data/lib/newrelic_security/instrumentation-security/ethon/prepend.rb +39 -0
  89. data/lib/newrelic_security/instrumentation-security/excon/chain.rb +23 -0
  90. data/lib/newrelic_security/instrumentation-security/excon/instrumentation.rb +44 -0
  91. data/lib/newrelic_security/instrumentation-security/excon/prepend.rb +17 -0
  92. data/lib/newrelic_security/instrumentation-security/file/chain.rb +34 -0
  93. data/lib/newrelic_security/instrumentation-security/file/instrumentation.rb +62 -0
  94. data/lib/newrelic_security/instrumentation-security/file/prepend.rb +22 -0
  95. data/lib/newrelic_security/instrumentation-security/grape/chain.rb +42 -0
  96. data/lib/newrelic_security/instrumentation-security/grape/instrumentation.rb +56 -0
  97. data/lib/newrelic_security/instrumentation-security/grape/prepend.rb +30 -0
  98. data/lib/newrelic_security/instrumentation-security/grpc/client/chain.rb +47 -0
  99. data/lib/newrelic_security/instrumentation-security/grpc/client/instrumentation.rb +37 -0
  100. data/lib/newrelic_security/instrumentation-security/grpc/client/prepend.rb +36 -0
  101. data/lib/newrelic_security/instrumentation-security/grpc/server/chain.rb +62 -0
  102. data/lib/newrelic_security/instrumentation-security/grpc/server/instrumentation.rb +65 -0
  103. data/lib/newrelic_security/instrumentation-security/grpc/server/prepend.rb +46 -0
  104. data/lib/newrelic_security/instrumentation-security/httpclient/chain.rb +30 -0
  105. data/lib/newrelic_security/instrumentation-security/httpclient/instrumentation.rb +82 -0
  106. data/lib/newrelic_security/instrumentation-security/httpclient/prepend.rb +22 -0
  107. data/lib/newrelic_security/instrumentation-security/httprb/chain.rb +21 -0
  108. data/lib/newrelic_security/instrumentation-security/httprb/instrumentation.rb +44 -0
  109. data/lib/newrelic_security/instrumentation-security/httprb/prepend.rb +16 -0
  110. data/lib/newrelic_security/instrumentation-security/httpx/chain.rb +23 -0
  111. data/lib/newrelic_security/instrumentation-security/httpx/instrumentation.rb +51 -0
  112. data/lib/newrelic_security/instrumentation-security/httpx/prepend.rb +18 -0
  113. data/lib/newrelic_security/instrumentation-security/instrumentation_loader.rb +50 -0
  114. data/lib/newrelic_security/instrumentation-security/instrumentation_utils.rb +165 -0
  115. data/lib/newrelic_security/instrumentation-security/io/chain.rb +113 -0
  116. data/lib/newrelic_security/instrumentation-security/io/instrumentation.rb +300 -0
  117. data/lib/newrelic_security/instrumentation-security/io/prepend.rb +86 -0
  118. data/lib/newrelic_security/instrumentation-security/kernel/chain.rb +65 -0
  119. data/lib/newrelic_security/instrumentation-security/kernel/instrumentation.rb +167 -0
  120. data/lib/newrelic_security/instrumentation-security/kernel/prepend.rb +50 -0
  121. data/lib/newrelic_security/instrumentation-security/mongo/chain.rb +106 -0
  122. data/lib/newrelic_security/instrumentation-security/mongo/instrumentation.rb +273 -0
  123. data/lib/newrelic_security/instrumentation-security/mongo/prepend.rb +77 -0
  124. data/lib/newrelic_security/instrumentation-security/mysql2/chain.rb +53 -0
  125. data/lib/newrelic_security/instrumentation-security/mysql2/instrumentation.rb +84 -0
  126. data/lib/newrelic_security/instrumentation-security/mysql2/prepend.rb +37 -0
  127. data/lib/newrelic_security/instrumentation-security/net_http/chain.rb +21 -0
  128. data/lib/newrelic_security/instrumentation-security/net_http/instrumentation.rb +60 -0
  129. data/lib/newrelic_security/instrumentation-security/net_http/prepend.rb +16 -0
  130. data/lib/newrelic_security/instrumentation-security/net_ldap/chain.rb +21 -0
  131. data/lib/newrelic_security/instrumentation-security/net_ldap/instrumentation.rb +42 -0
  132. data/lib/newrelic_security/instrumentation-security/net_ldap/prepend.rb +16 -0
  133. data/lib/newrelic_security/instrumentation-security/nokogiri/chain.rb +46 -0
  134. data/lib/newrelic_security/instrumentation-security/nokogiri/instrumentation.rb +36 -0
  135. data/lib/newrelic_security/instrumentation-security/nokogiri/prepend.rb +31 -0
  136. data/lib/newrelic_security/instrumentation-security/padrino/chain.rb +26 -0
  137. data/lib/newrelic_security/instrumentation-security/padrino/instrumentation.rb +42 -0
  138. data/lib/newrelic_security/instrumentation-security/padrino/prepend.rb +20 -0
  139. data/lib/newrelic_security/instrumentation-security/patron/chain.rb +23 -0
  140. data/lib/newrelic_security/instrumentation-security/patron/instrumentation.rb +50 -0
  141. data/lib/newrelic_security/instrumentation-security/patron/prepend.rb +18 -0
  142. data/lib/newrelic_security/instrumentation-security/pg/chain.rb +49 -0
  143. data/lib/newrelic_security/instrumentation-security/pg/instrumentation.rb +102 -0
  144. data/lib/newrelic_security/instrumentation-security/pg/prepend.rb +36 -0
  145. data/lib/newrelic_security/instrumentation-security/pty/chain.rb +31 -0
  146. data/lib/newrelic_security/instrumentation-security/pty/instrumentation.rb +52 -0
  147. data/lib/newrelic_security/instrumentation-security/pty/prepend.rb +22 -0
  148. data/lib/newrelic_security/instrumentation-security/rails/chain.rb +46 -0
  149. data/lib/newrelic_security/instrumentation-security/rails/instrumentation.rb +67 -0
  150. data/lib/newrelic_security/instrumentation-security/rails/prepend.rb +33 -0
  151. data/lib/newrelic_security/instrumentation-security/roda/chain.rb +22 -0
  152. data/lib/newrelic_security/instrumentation-security/roda/instrumentation.rb +41 -0
  153. data/lib/newrelic_security/instrumentation-security/roda/prepend.rb +16 -0
  154. data/lib/newrelic_security/instrumentation-security/sinatra/chain.rb +29 -0
  155. data/lib/newrelic_security/instrumentation-security/sinatra/instrumentation.rb +49 -0
  156. data/lib/newrelic_security/instrumentation-security/sinatra/prepend.rb +21 -0
  157. data/lib/newrelic_security/instrumentation-security/sqlite3/chain.rb +79 -0
  158. data/lib/newrelic_security/instrumentation-security/sqlite3/instrumentation.rb +164 -0
  159. data/lib/newrelic_security/instrumentation-security/sqlite3/prepend.rb +56 -0
  160. data/lib/newrelic_security/newrelic-security-api/api.rb +72 -0
  161. data/lib/newrelic_security/version.rb +5 -0
  162. data/lib/newrelic_security/websocket-client-simple/client.rb +128 -0
  163. data/lib/newrelic_security/websocket-client-simple/event_emitter.rb +72 -0
  164. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/error.rb +129 -0
  165. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/exception_handler.rb +32 -0
  166. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/base.rb +62 -0
  167. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/data.rb +49 -0
  168. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/handler/base.rb +41 -0
  169. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/handler/handler03.rb +224 -0
  170. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/handler/handler04.rb +18 -0
  171. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/handler/handler05.rb +15 -0
  172. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/handler/handler07.rb +78 -0
  173. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/handler/handler75.rb +78 -0
  174. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/handler.rb +15 -0
  175. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/incoming/client.rb +17 -0
  176. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/incoming/server.rb +17 -0
  177. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/incoming.rb +52 -0
  178. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/outgoing/client.rb +17 -0
  179. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/outgoing/server.rb +17 -0
  180. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/outgoing.rb +35 -0
  181. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame.rb +11 -0
  182. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/base.rb +142 -0
  183. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/client.rb +130 -0
  184. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/handler/base.rb +49 -0
  185. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/handler/client.rb +32 -0
  186. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/handler/client01.rb +20 -0
  187. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/handler/client04.rb +63 -0
  188. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/handler/client11.rb +22 -0
  189. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/handler/client75.rb +39 -0
  190. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/handler/client76.rb +105 -0
  191. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/handler/server.rb +10 -0
  192. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/handler/server04.rb +56 -0
  193. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/handler/server75.rb +40 -0
  194. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/handler/server76.rb +75 -0
  195. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/handler.rb +21 -0
  196. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/server.rb +179 -0
  197. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake.rb +10 -0
  198. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/nice_inspect.rb +12 -0
  199. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/version.rb +5 -0
  200. data/lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket.rb +50 -0
  201. data/lib/newrelic_security.rb +6 -0
  202. data/lib/tasks/all.rb +8 -0
  203. data/lib/tasks/coverage_report.rake +27 -0
  204. data/newrelic_security.gemspec +51 -0
  205. metadata +342 -0
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,1414 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2023-07-14 05:55:13 UTC using RuboCop version 1.52.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 5
10
+ # Configuration parameters: EnforcedStyle, AllowedGems, Include.
11
+ # SupportedStyles: Gemfile, gems.rb, gemspec
12
+ # Include: **/*.gemspec, **/Gemfile, **/gems.rb
13
+ Gemspec/DevelopmentDependencies:
14
+ Exclude:
15
+ - 'newrelic_security.gemspec'
16
+
17
+ # Offense count: 1
18
+ # This cop supports safe autocorrection (--autocorrect).
19
+ # Configuration parameters: Severity, Include.
20
+ # Include: **/*.gemspec
21
+ Gemspec/RequireMFA:
22
+ Exclude:
23
+ - 'newrelic_security.gemspec'
24
+
25
+ # Offense count: 5
26
+ # Configuration parameters: Severity, Include.
27
+ # Include: **/*.gemspec
28
+ Gemspec/RubyVersionGlobalsUsage:
29
+ Exclude:
30
+ - 'newrelic_security.gemspec'
31
+
32
+ # Offense count: 7
33
+ # This cop supports safe autocorrection (--autocorrect).
34
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
35
+ # SupportedStyles: with_first_element, with_fixed_indentation
36
+ Layout/ArrayAlignment:
37
+ Exclude:
38
+ - 'lib/newrelic_security/instrumentation-security/instrumentation_utils.rb'
39
+
40
+ # Offense count: 3
41
+ # This cop supports safe autocorrection (--autocorrect).
42
+ Layout/ClosingParenthesisIndentation:
43
+ Exclude:
44
+ - 'test/newrelic_security/instrumentation-security/active_record/postgresql_adapter/postgresql_adapter_test.rb'
45
+ - 'test/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/sqlite3_adapter_test.rb'
46
+ - 'test/newrelic_security/instrumentation-security/net_ldap/net_ldap_test.rb'
47
+
48
+ # Offense count: 13
49
+ # This cop supports safe autocorrection (--autocorrect).
50
+ # Configuration parameters: AllowForAlignment.
51
+ Layout/CommentIndentation:
52
+ Exclude:
53
+ - 'lib/newrelic_security/agent/utils/agent_utils.rb'
54
+ - 'lib/newrelic_security/instrumentation-security/kernel/instrumentation.rb'
55
+ - 'test/newrelic_security/instrumentation-security/curb/curb_test.rb'
56
+ - 'test/newrelic_security/instrumentation-security/excon/excon_test.rb'
57
+ - 'test/newrelic_security/instrumentation-security/httpclient/httpclient_test.rb'
58
+ - 'test/newrelic_security/instrumentation-security/io/io_test.rb'
59
+ - 'test/newrelic_security/instrumentation-security/net_http/net_http_test.rb'
60
+ - 'test/newrelic_security/instrumentation-security/pg/pg_test.rb'
61
+
62
+ # Offense count: 49
63
+ # This cop supports safe autocorrection (--autocorrect).
64
+ Layout/EmptyLineAfterGuardClause:
65
+ Enabled: false
66
+
67
+ # Offense count: 9
68
+ # This cop supports safe autocorrection (--autocorrect).
69
+ Layout/EmptyLineAfterMagicComment:
70
+ Exclude:
71
+ - 'lib/newrelic_security/agent/control/app_info.rb'
72
+ - 'lib/newrelic_security/agent/control/collector.rb'
73
+ - 'lib/newrelic_security/agent/control/iast_client.rb'
74
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
75
+ - 'lib/newrelic_security/agent/logging/init_logger.rb'
76
+ - 'lib/newrelic_security/agent/logging/logger.rb'
77
+ - 'lib/newrelic_security/agent/utils/agent_utils.rb'
78
+ - 'lib/newrelic_security/instrumentation-security/instrumentation_utils.rb'
79
+ - 'test/simplecov_test_helper.rb'
80
+
81
+ # Offense count: 7
82
+ # This cop supports safe autocorrection (--autocorrect).
83
+ # Configuration parameters: EmptyLineBetweenMethodDefs, EmptyLineBetweenClassDefs, EmptyLineBetweenModuleDefs, AllowAdjacentOneLineDefs, NumberOfEmptyLines.
84
+ Layout/EmptyLineBetweenDefs:
85
+ Exclude:
86
+ - 'lib/newrelic_security/instrumentation-security/nokogiri/chain.rb'
87
+ - 'test/helpers/agent_helper.rb'
88
+ - 'test/newrelic_security/instrumentation-security/rails/rails_test.rb'
89
+
90
+ # Offense count: 2
91
+ # This cop supports safe autocorrection (--autocorrect).
92
+ Layout/EmptyLines:
93
+ Exclude:
94
+ - 'lib/newrelic_security/agent/control/iast_client.rb'
95
+ - 'lib/newrelic_security/instrumentation-security/net_http/instrumentation.rb'
96
+
97
+ # Offense count: 9
98
+ # This cop supports safe autocorrection (--autocorrect).
99
+ # Configuration parameters: EnforcedStyle.
100
+ # SupportedStyles: empty_lines, no_empty_lines
101
+ Layout/EmptyLinesAroundBlockBody:
102
+ Exclude:
103
+ - 'lib/newrelic_security/instrumentation-security/httpclient/chain.rb'
104
+ - 'lib/newrelic_security/instrumentation-security/mongo/chain.rb'
105
+ - 'lib/newrelic_security/instrumentation-security/pg/chain.rb'
106
+ - 'newrelic_security.gemspec'
107
+ - 'test/newrelic_security/instrumentation-security/active_record/postgresql_adapter/db/schema.rb'
108
+ - 'test/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/db/schema.rb'
109
+ - 'test/newrelic_security/instrumentation-security/rails/rails_test.rb'
110
+
111
+ # Offense count: 26
112
+ # This cop supports safe autocorrection (--autocorrect).
113
+ # Configuration parameters: EnforcedStyle.
114
+ # SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines, beginning_only, ending_only
115
+ Layout/EmptyLinesAroundClassBody:
116
+ Enabled: false
117
+
118
+ # Offense count: 1
119
+ # This cop supports safe autocorrection (--autocorrect).
120
+ Layout/EmptyLinesAroundMethodBody:
121
+ Exclude:
122
+ - 'lib/newrelic_security/agent/control/websocket_client.rb'
123
+
124
+ # Offense count: 74
125
+ # This cop supports safe autocorrection (--autocorrect).
126
+ # Configuration parameters: EnforcedStyle.
127
+ # SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines
128
+ Layout/EmptyLinesAroundModuleBody:
129
+ Enabled: false
130
+
131
+ # Offense count: 33
132
+ # This cop supports safe autocorrection (--autocorrect).
133
+ # Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment.
134
+ Layout/ExtraSpacing:
135
+ Exclude:
136
+ - 'lib/newrelic_security/agent/control/event.rb'
137
+ - 'lib/newrelic_security/agent/control/exit_event.rb'
138
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
139
+ - 'lib/newrelic_security/instrumentation-security/active_record/mysql2_adapter/instrumentation.rb'
140
+ - 'lib/newrelic_security/instrumentation-security/active_record/postgresql_adapter/instrumentation.rb'
141
+ - 'lib/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/instrumentation.rb'
142
+ - 'lib/newrelic_security/instrumentation-security/instrumentation_utils.rb'
143
+ - 'newrelic_security.gemspec'
144
+ - 'test/newrelic_security/instrumentation-security/active_record/postgresql_adapter/postgresql_adapter_test.rb'
145
+ - 'test/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/sqlite3_adapter_test.rb'
146
+ - 'test/newrelic_security/instrumentation-security/mongo/mongo_test.rb'
147
+ - 'test/newrelic_security/instrumentation-security/nokogiri/nokogiri_test.rb'
148
+ - 'test/newrelic_security/instrumentation-security/rails/rails_test.rb'
149
+ - 'test/newrelic_security/instrumentation-security/sinatra/sinatra_test.rb'
150
+
151
+ # Offense count: 3
152
+ # This cop supports safe autocorrection (--autocorrect).
153
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
154
+ # SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses
155
+ Layout/FirstArgumentIndentation:
156
+ Exclude:
157
+ - 'test/newrelic_security/instrumentation-security/active_record/postgresql_adapter/postgresql_adapter_test.rb'
158
+ - 'test/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/sqlite3_adapter_test.rb'
159
+ - 'test/newrelic_security/instrumentation-security/net_ldap/net_ldap_test.rb'
160
+
161
+ # Offense count: 14
162
+ # This cop supports safe autocorrection (--autocorrect).
163
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
164
+ # SupportedStyles: special_inside_parentheses, consistent, align_braces
165
+ Layout/FirstHashElementIndentation:
166
+ Exclude:
167
+ - 'test/newrelic_security/instrumentation-security/active_record/postgresql_adapter/postgresql_adapter_test.rb'
168
+ - 'test/newrelic_security/instrumentation-security/mongo/mongo_test.rb'
169
+ - 'test/newrelic_security/instrumentation-security/mysql2/mysql2_test.rb'
170
+ - 'test/newrelic_security/instrumentation-security/net_ldap/net_ldap_test.rb'
171
+ - 'test/newrelic_security/instrumentation-security/pg/pg_test.rb'
172
+
173
+ # Offense count: 8
174
+ # This cop supports safe autocorrection (--autocorrect).
175
+ # Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
176
+ # SupportedHashRocketStyles: key, separator, table
177
+ # SupportedColonStyles: key, separator, table
178
+ # SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
179
+ Layout/HashAlignment:
180
+ Exclude:
181
+ - 'test/newrelic_security/instrumentation-security/active_record/postgresql_adapter/postgresql_adapter_test.rb'
182
+ - 'test/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/sqlite3_adapter_test.rb'
183
+ - 'test/newrelic_security/instrumentation-security/patron/patron_test.rb'
184
+
185
+ # Offense count: 14
186
+ # This cop supports safe autocorrection (--autocorrect).
187
+ # Configuration parameters: EnforcedStyle.
188
+ # SupportedStyles: normal, indented_internal_methods
189
+ Layout/IndentationConsistency:
190
+ Exclude:
191
+ - 'lib/newrelic_security/agent/control/http_context.rb'
192
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
193
+ - 'lib/newrelic_security/instrumentation-security/net_http/instrumentation.rb'
194
+ - 'test/newrelic_security/instrumentation-security/httpclient/httpclient_test.rb'
195
+ - 'test/newrelic_security/instrumentation-security/net_http/net_http_test.rb'
196
+
197
+ # Offense count: 37
198
+ # This cop supports safe autocorrection (--autocorrect).
199
+ # Configuration parameters: IndentationWidth, EnforcedStyle.
200
+ # SupportedStyles: spaces, tabs
201
+ Layout/IndentationStyle:
202
+ Exclude:
203
+ - 'lib/newrelic_security/agent/control/http_context.rb'
204
+ - 'lib/newrelic_security/instrumentation-security/net_http/instrumentation.rb'
205
+ - 'test/newrelic_security/instrumentation-security/httpclient/httpclient_test.rb'
206
+ - 'test/newrelic_security/instrumentation-security/net_http/net_http_test.rb'
207
+
208
+ # Offense count: 341
209
+ # This cop supports safe autocorrection (--autocorrect).
210
+ # Configuration parameters: Width, AllowedPatterns.
211
+ Layout/IndentationWidth:
212
+ Enabled: false
213
+
214
+ # Offense count: 98
215
+ # This cop supports safe autocorrection (--autocorrect).
216
+ # Configuration parameters: AllowDoxygenCommentStyle, AllowGemfileRubyComment.
217
+ Layout/LeadingCommentSpace:
218
+ Enabled: false
219
+
220
+ # Offense count: 1
221
+ # This cop supports safe autocorrection (--autocorrect).
222
+ # Configuration parameters: EnforcedStyle.
223
+ # SupportedStyles: symmetrical, new_line, same_line
224
+ Layout/MultilineArrayBraceLayout:
225
+ Exclude:
226
+ - 'lib/newrelic_security/instrumentation-security/instrumentation_utils.rb'
227
+
228
+ # Offense count: 6
229
+ # This cop supports safe autocorrection (--autocorrect).
230
+ Layout/MultilineBlockLayout:
231
+ Exclude:
232
+ - 'lib/newrelic_security/agent/logging/status_logger.rb'
233
+ - 'lib/newrelic_security/instrumentation-security/curb/instrumentation.rb'
234
+
235
+ # Offense count: 7
236
+ # This cop supports safe autocorrection (--autocorrect).
237
+ Layout/SpaceAfterComma:
238
+ Exclude:
239
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
240
+ - 'lib/newrelic_security/instrumentation-security/pg/instrumentation.rb'
241
+ - 'test/newrelic_security/instrumentation-security/io/io_test.rb'
242
+ - 'test/newrelic_security/instrumentation-security/sinatra/sinatra_test.rb'
243
+
244
+ # Offense count: 2
245
+ # This cop supports safe autocorrection (--autocorrect).
246
+ # Configuration parameters: EnforcedStyleInsidePipes.
247
+ # SupportedStylesInsidePipes: space, no_space
248
+ Layout/SpaceAroundBlockParameters:
249
+ Exclude:
250
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
251
+
252
+ # Offense count: 6
253
+ # This cop supports safe autocorrection (--autocorrect).
254
+ # Configuration parameters: EnforcedStyle.
255
+ # SupportedStyles: space, no_space
256
+ Layout/SpaceAroundEqualsInParameterDefault:
257
+ Exclude:
258
+ - 'lib/newrelic_security/instrumentation-security/excon/chain.rb'
259
+ - 'lib/newrelic_security/instrumentation-security/excon/prepend.rb'
260
+ - 'lib/newrelic_security/websocket-client-simple/client.rb'
261
+ - 'lib/newrelic_security/websocket-client-simple/event_emitter.rb'
262
+
263
+ # Offense count: 2
264
+ # This cop supports safe autocorrection (--autocorrect).
265
+ Layout/SpaceAroundKeyword:
266
+ Exclude:
267
+ - 'test/newrelic_security/instrumentation-security/curb/curb_test.rb'
268
+
269
+ # Offense count: 552
270
+ # This cop supports safe autocorrection (--autocorrect).
271
+ # Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator.
272
+ # SupportedStylesForExponentOperator: space, no_space
273
+ Layout/SpaceAroundOperators:
274
+ Enabled: false
275
+
276
+ # Offense count: 3
277
+ # This cop supports safe autocorrection (--autocorrect).
278
+ # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
279
+ # SupportedStyles: space, no_space
280
+ # SupportedStylesForEmptyBraces: space, no_space
281
+ Layout/SpaceBeforeBlockBraces:
282
+ Exclude:
283
+ - 'lib/newrelic_security/agent/configuration/manager.rb'
284
+ - 'lib/newrelic_security/agent/control/http_context.rb'
285
+ - 'test/newrelic_security/instrumentation-security/curb/curb_test.rb'
286
+
287
+ # Offense count: 13
288
+ # This cop supports safe autocorrection (--autocorrect).
289
+ # Configuration parameters: AllowForAlignment.
290
+ Layout/SpaceBeforeFirstArg:
291
+ Exclude:
292
+ - 'test/newrelic_security/instrumentation-security/active_record/postgresql_adapter/postgresql_adapter_test.rb'
293
+ - 'test/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/sqlite3_adapter_test.rb'
294
+ - 'test/newrelic_security/instrumentation-security/rails/rails_test.rb'
295
+ - 'test/newrelic_security/instrumentation-security/sinatra/sinatra_test.rb'
296
+
297
+ # Offense count: 6
298
+ # This cop supports safe autocorrection (--autocorrect).
299
+ # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets.
300
+ # SupportedStyles: space, no_space, compact
301
+ # SupportedStylesForEmptyBrackets: space, no_space
302
+ Layout/SpaceInsideArrayLiteralBrackets:
303
+ Exclude:
304
+ - 'test/newrelic_security/instrumentation-security/mongo/mongo_test.rb'
305
+
306
+ # Offense count: 7
307
+ # This cop supports safe autocorrection (--autocorrect).
308
+ # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
309
+ # SupportedStyles: space, no_space
310
+ # SupportedStylesForEmptyBraces: space, no_space
311
+ Layout/SpaceInsideBlockBraces:
312
+ Exclude:
313
+ - 'lib/newrelic_security/agent/configuration/manager.rb'
314
+ - 'lib/newrelic_security/agent/control/http_context.rb'
315
+ - 'lib/newrelic_security/instrumentation-security/net_http/instrumentation.rb'
316
+ - 'test/newrelic_security/instrumentation-security/io/io_test.rb'
317
+
318
+ # Offense count: 458
319
+ # This cop supports safe autocorrection (--autocorrect).
320
+ # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
321
+ # SupportedStyles: space, no_space, compact
322
+ # SupportedStylesForEmptyBraces: space, no_space
323
+ Layout/SpaceInsideHashLiteralBraces:
324
+ Enabled: false
325
+
326
+ # Offense count: 50
327
+ # This cop supports safe autocorrection (--autocorrect).
328
+ # Configuration parameters: EnforcedStyle.
329
+ # SupportedStyles: space, compact, no_space
330
+ Layout/SpaceInsideParens:
331
+ Exclude:
332
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
333
+ - 'newrelic_security.gemspec'
334
+ - 'test/newrelic_security/instrumentation-security/mongo/mongo_test.rb'
335
+ - 'test/newrelic_security/instrumentation-security/patron/patron_test.rb'
336
+
337
+ # Offense count: 2
338
+ # This cop supports safe autocorrection (--autocorrect).
339
+ Layout/SpaceInsidePercentLiteralDelimiters:
340
+ Exclude:
341
+ - 'lib/newrelic_security/agent/control/http_context.rb'
342
+
343
+ # Offense count: 2
344
+ # This cop supports safe autocorrection (--autocorrect).
345
+ Layout/SpaceInsideRangeLiteral:
346
+ Exclude:
347
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
348
+
349
+ # Offense count: 1
350
+ # This cop supports safe autocorrection (--autocorrect).
351
+ # Configuration parameters: EnforcedStyle.
352
+ # SupportedStyles: space, no_space
353
+ Layout/SpaceInsideStringInterpolation:
354
+ Exclude:
355
+ - 'lib/newrelic_security/instrumentation-security/net_http/instrumentation.rb'
356
+
357
+ # Offense count: 83
358
+ # This cop supports safe autocorrection (--autocorrect).
359
+ # Configuration parameters: EnforcedStyle.
360
+ # SupportedStyles: final_newline, final_blank_line
361
+ Layout/TrailingEmptyLines:
362
+ Enabled: false
363
+
364
+ # Offense count: 504
365
+ # This cop supports safe autocorrection (--autocorrect).
366
+ # Configuration parameters: AllowInHeredoc.
367
+ Layout/TrailingWhitespace:
368
+ Enabled: false
369
+
370
+ # Offense count: 8
371
+ # This cop supports safe autocorrection (--autocorrect).
372
+ Lint/AmbiguousOperatorPrecedence:
373
+ Exclude:
374
+ - 'lib/newrelic_security/agent/control/health_check.rb'
375
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
376
+ - 'lib/newrelic_security/agent/logging/status_logger.rb'
377
+ - 'lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/handler/handler75.rb'
378
+ - 'lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/handler/server76.rb'
379
+
380
+ # Offense count: 2
381
+ # This cop supports unsafe autocorrection (--autocorrect-all).
382
+ # Configuration parameters: AllowSafeAssignment.
383
+ Lint/AssignmentInCondition:
384
+ Exclude:
385
+ - 'lib/newrelic_security/websocket-client-simple/client.rb'
386
+
387
+ # Offense count: 9
388
+ # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches.
389
+ Lint/DuplicateBranch:
390
+ Exclude:
391
+ - 'lib/newrelic_security/agent/control/health_check.rb'
392
+ - 'lib/newrelic_security/agent/control/http_context.rb'
393
+ - 'lib/newrelic_security/agent/control/websocket_client.rb'
394
+ - 'lib/newrelic_security/websocket-client-simple/client.rb'
395
+ - 'lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/base.rb'
396
+
397
+ # Offense count: 5
398
+ # Configuration parameters: AllowComments.
399
+ Lint/EmptyClass:
400
+ Exclude:
401
+ - 'lib/newrelic_security/agent/configuration/default_source.rb'
402
+ - 'lib/newrelic_security/agent/configuration/environment_source.rb'
403
+ - 'lib/newrelic_security/agent/configuration/manual_source.rb'
404
+ - 'lib/newrelic_security/agent/configuration/server_source.rb'
405
+ - 'lib/newrelic_security/agent/configuration/yaml_source.rb'
406
+
407
+ # Offense count: 3
408
+ # Configuration parameters: AllowComments.
409
+ Lint/EmptyWhen:
410
+ Exclude:
411
+ - 'lib/newrelic_security/agent/control/control_command.rb'
412
+
413
+ # Offense count: 72
414
+ # This cop supports safe autocorrection (--autocorrect).
415
+ Lint/EnsureReturn:
416
+ Enabled: false
417
+
418
+ # Offense count: 6
419
+ Lint/HashCompareByIdentity:
420
+ Exclude:
421
+ - 'lib/newrelic_security/instrumentation-security/mysql2/instrumentation.rb'
422
+ - 'lib/newrelic_security/instrumentation-security/sqlite3/instrumentation.rb'
423
+
424
+ # Offense count: 2
425
+ Lint/IneffectiveAccessModifier:
426
+ Exclude:
427
+ - 'lib/newrelic_security/agent/logging/init_logger.rb'
428
+ - 'lib/newrelic_security/agent/logging/logger.rb'
429
+
430
+ # Offense count: 1
431
+ Lint/MissingSuper:
432
+ Exclude:
433
+ - 'test/newrelic_security/instrumentation-security/rails/rails_test.rb'
434
+
435
+ # Offense count: 32
436
+ # This cop supports unsafe autocorrection (--autocorrect-all).
437
+ Lint/NonAtomicFileOperation:
438
+ Exclude:
439
+ - 'test/newrelic_security/instrumentation-security/dir/dir_test.rb'
440
+ - 'test/newrelic_security/instrumentation-security/file/file_test.rb'
441
+ - 'test/newrelic_security/instrumentation-security/io/io_test.rb'
442
+ - 'test/newrelic_security/instrumentation-security/pty/pty_test.rb'
443
+
444
+ # Offense count: 1
445
+ # This cop supports unsafe autocorrection (--autocorrect-all).
446
+ Lint/NonDeterministicRequireOrder:
447
+ Exclude:
448
+ - 'test/test_helper.rb'
449
+
450
+ # Offense count: 2
451
+ Lint/NonLocalExitFromIterator:
452
+ Exclude:
453
+ - 'lib/newrelic_security/agent/control/collector.rb'
454
+
455
+ # Offense count: 2
456
+ # This cop supports safe autocorrection (--autocorrect).
457
+ Lint/RedundantRequireStatement:
458
+ Exclude:
459
+ - 'lib/newrelic_security/agent/control/event_counter.rb'
460
+ - 'lib/newrelic_security/agent/control/event_processor.rb'
461
+
462
+ # Offense count: 1
463
+ # This cop supports safe autocorrection (--autocorrect).
464
+ Lint/RedundantStringCoercion:
465
+ Exclude:
466
+ - 'test/newrelic_security/instrumentation-security/nokogiri/nokogiri_test.rb'
467
+
468
+ # Offense count: 20
469
+ Lint/RescueException:
470
+ Exclude:
471
+ - 'lib/newrelic_security/agent/agent.rb'
472
+ - 'lib/newrelic_security/agent/configuration/manager.rb'
473
+ - 'lib/newrelic_security/agent/control/collector.rb'
474
+ - 'lib/newrelic_security/agent/control/event_processor.rb'
475
+ - 'lib/newrelic_security/agent/control/health_check.rb'
476
+ - 'lib/newrelic_security/agent/control/iast_client.rb'
477
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
478
+ - 'lib/newrelic_security/agent/control/websocket_client.rb'
479
+ - 'lib/newrelic_security/agent/utils/agent_utils.rb'
480
+
481
+ # Offense count: 1
482
+ Lint/SelfAssignment:
483
+ Exclude:
484
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
485
+
486
+ # Offense count: 10
487
+ # Configuration parameters: AllowComments, AllowNil.
488
+ Lint/SuppressedException:
489
+ Exclude:
490
+ - 'lib/newrelic_security/agent/utils/agent_utils.rb'
491
+ - 'test/newrelic_security/instrumentation-security/active_record/postgresql_adapter/postgresql_adapter_test.rb'
492
+ - 'test/newrelic_security/instrumentation-security/mongo/mongo_test.rb'
493
+ - 'test/newrelic_security/instrumentation-security/mysql2/mysql2_test.rb'
494
+ - 'test/newrelic_security/instrumentation-security/pg/pg_test.rb'
495
+
496
+ # Offense count: 6
497
+ # This cop supports safe autocorrection (--autocorrect).
498
+ Lint/ToJSON:
499
+ Exclude:
500
+ - 'lib/newrelic_security/agent/control/app_info.rb'
501
+ - 'lib/newrelic_security/agent/control/event.rb'
502
+ - 'lib/newrelic_security/agent/control/exit_event.rb'
503
+ - 'lib/newrelic_security/agent/control/fuzz_fail_event.rb'
504
+ - 'lib/newrelic_security/agent/control/health_check.rb'
505
+ - 'lib/newrelic_security/agent/control/iast_data_transfer_request.rb'
506
+
507
+ # Offense count: 4
508
+ # This cop supports safe autocorrection (--autocorrect).
509
+ # Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
510
+ Lint/UnusedBlockArgument:
511
+ Exclude:
512
+ - 'lib/newrelic_security/agent/control/http_context.rb'
513
+ - 'lib/newrelic_security/instrumentation-security/curb/instrumentation.rb'
514
+ - 'test/newrelic_security/instrumentation-security/pty/pty_test.rb'
515
+
516
+ # Offense count: 36
517
+ # This cop supports safe autocorrection (--autocorrect).
518
+ # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods.
519
+ Lint/UnusedMethodArgument:
520
+ Exclude:
521
+ - 'lib/newrelic_security/agent/control/collector.rb'
522
+ - 'lib/newrelic_security/instrumentation-security/active_record/mysql2_adapter/instrumentation.rb'
523
+ - 'lib/newrelic_security/instrumentation-security/active_record/postgresql_adapter/instrumentation.rb'
524
+ - 'lib/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/instrumentation.rb'
525
+ - 'lib/newrelic_security/instrumentation-security/curb/instrumentation.rb'
526
+ - 'lib/newrelic_security/instrumentation-security/httpclient/instrumentation.rb'
527
+ - 'lib/newrelic_security/instrumentation-security/instrumentation_loader.rb'
528
+ - 'lib/newrelic_security/instrumentation-security/instrumentation_utils.rb'
529
+ - 'lib/newrelic_security/instrumentation-security/io/instrumentation.rb'
530
+ - 'lib/newrelic_security/instrumentation-security/kernel/instrumentation.rb'
531
+ - 'lib/newrelic_security/instrumentation-security/mysql2/instrumentation.rb'
532
+ - 'lib/newrelic_security/instrumentation-security/pg/instrumentation.rb'
533
+ - 'lib/newrelic_security/instrumentation-security/rails/instrumentation.rb'
534
+ - 'lib/newrelic_security/instrumentation-security/sqlite3/instrumentation.rb'
535
+ - 'test/helpers/event_helper.rb'
536
+
537
+ # Offense count: 20
538
+ # This cop supports unsafe autocorrection (--autocorrect-all).
539
+ Lint/UselessAssignment:
540
+ Exclude:
541
+ - 'lib/newrelic_security/agent/control/event_processor.rb'
542
+ - 'lib/newrelic_security/agent/control/iast_client.rb'
543
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
544
+ - 'lib/newrelic_security/agent/control/websocket_client.rb'
545
+ - 'lib/newrelic_security/instrumentation-security/net_http/instrumentation.rb'
546
+ - 'test/newrelic_security/instrumentation-security/active_record/postgresql_adapter/postgresql_adapter_test.rb'
547
+ - 'test/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/sqlite3_adapter_test.rb'
548
+ - 'test/newrelic_security/instrumentation-security/io/io_test.rb'
549
+
550
+ # Offense count: 199
551
+ # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
552
+ Metrics/AbcSize:
553
+ Max: 218
554
+
555
+ # Offense count: 8
556
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
557
+ # AllowedMethods: refine
558
+ Metrics/BlockLength:
559
+ Max: 79
560
+
561
+ # Offense count: 8
562
+ # Configuration parameters: CountBlocks.
563
+ Metrics/BlockNesting:
564
+ Max: 5
565
+
566
+ # Offense count: 11
567
+ # Configuration parameters: CountComments, CountAsOne.
568
+ Metrics/ClassLength:
569
+ Max: 490
570
+
571
+ # Offense count: 29
572
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
573
+ Metrics/CyclomaticComplexity:
574
+ Max: 38
575
+
576
+ # Offense count: 196
577
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
578
+ Metrics/MethodLength:
579
+ Max: 94
580
+
581
+ # Offense count: 10
582
+ # Configuration parameters: CountComments, CountAsOne.
583
+ Metrics/ModuleLength:
584
+ Max: 269
585
+
586
+ # Offense count: 27
587
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
588
+ Metrics/PerceivedComplexity:
589
+ Max: 42
590
+
591
+ # Offense count: 5
592
+ # This cop supports safe autocorrection (--autocorrect).
593
+ Minitest/AssertIncludes:
594
+ Exclude:
595
+ - 'test/newrelic_security/instrumentation-security/rails/rails_test.rb'
596
+
597
+ # Offense count: 10
598
+ # This cop supports safe autocorrection (--autocorrect).
599
+ Minitest/AssertInstanceOf:
600
+ Exclude:
601
+ - 'test/newrelic_security/instrumentation-security/rails/rails_test.rb'
602
+ - 'test/newrelic_security/instrumentation-security/sinatra/sinatra_test.rb'
603
+
604
+ # Offense count: 6
605
+ # This cop supports unsafe autocorrection (--autocorrect-all).
606
+ Minitest/AssertTruthy:
607
+ Exclude:
608
+ - 'test/newrelic_security/instrumentation-security/kernel/kernel_test.rb'
609
+
610
+ # Offense count: 228
611
+ # This cop supports safe autocorrection (--autocorrect).
612
+ Minitest/EmptyLineBeforeAssertionMethods:
613
+ Enabled: false
614
+
615
+ # Offense count: 1
616
+ # This cop supports safe autocorrection (--autocorrect).
617
+ Minitest/LiteralAsActualArgument:
618
+ Exclude:
619
+ - 'test/newrelic_security/instrumentation-security/io/io_test.rb'
620
+
621
+ # Offense count: 5
622
+ Naming/AccessorMethodName:
623
+ Exclude:
624
+ - 'lib/newrelic_security/agent/control/http_context.rb'
625
+ - 'test/helpers/agent_helper.rb'
626
+ - 'test/newrelic_security/instrumentation-security/rails/rails_test.rb'
627
+
628
+ # Offense count: 2
629
+ Naming/ConstantName:
630
+ Exclude:
631
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
632
+ - 'lib/newrelic_security/constants.rb'
633
+
634
+ # Offense count: 1
635
+ # This cop supports unsafe autocorrection (--autocorrect-all).
636
+ # Configuration parameters: EnforcedStyleForLeadingUnderscores.
637
+ # SupportedStylesForLeadingUnderscores: disallowed, required, optional
638
+ Naming/MemoizedInstanceVariableName:
639
+ Exclude:
640
+ - 'lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/handler/handler03.rb'
641
+
642
+ # Offense count: 15
643
+ # Configuration parameters: EnforcedStyle, AllowedPatterns.
644
+ # SupportedStyles: snake_case, camelCase
645
+ Naming/MethodName:
646
+ Exclude:
647
+ - 'lib/newrelic_security/agent/control/app_info.rb'
648
+ - 'lib/newrelic_security/agent/control/event.rb'
649
+ - 'lib/newrelic_security/agent/control/event_processor.rb'
650
+ - 'lib/newrelic_security/agent/control/exit_event.rb'
651
+ - 'lib/newrelic_security/agent/control/fuzz_fail_event.rb'
652
+ - 'lib/newrelic_security/agent/control/health_check.rb'
653
+ - 'lib/newrelic_security/agent/control/iast_client.rb'
654
+ - 'lib/newrelic_security/agent/control/iast_data_transfer_request.rb'
655
+ - 'lib/newrelic_security/agent/utils/agent_utils.rb'
656
+ - 'test/newrelic_security/instrumentation-security/mongo/mongo_test.rb'
657
+
658
+ # Offense count: 1
659
+ # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
660
+ # AllowedNames: as, at, by, cc, db, id, if, in, io, ip, of, on, os, pp, to
661
+ Naming/MethodParameterName:
662
+ Exclude:
663
+ - 'test/helpers/event_helper.rb'
664
+
665
+ # Offense count: 6
666
+ # Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros.
667
+ # NamePrefix: is_, has_, have_
668
+ # ForbiddenPrefixes: is_, has_, have_
669
+ # AllowedMethods: is_a?
670
+ # MethodDefinitionMacros: define_method, define_singleton_method
671
+ Naming/PredicateName:
672
+ Exclude:
673
+ - 'spec/**/*'
674
+ - 'lib/newrelic_security/agent/configuration/manager.rb'
675
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
676
+ - 'lib/newrelic_security/agent/control/websocket_client.rb'
677
+ - 'lib/newrelic_security/agent/utils/agent_utils.rb'
678
+ - 'lib/newrelic_security/newrelic-security-api/api.rb'
679
+
680
+ # Offense count: 173
681
+ # This cop supports safe autocorrection (--autocorrect).
682
+ # Configuration parameters: PreferredName.
683
+ Naming/RescuedExceptionsVariableName:
684
+ Enabled: false
685
+
686
+ # Offense count: 127
687
+ # Configuration parameters: EnforcedStyle, AllowedIdentifiers, AllowedPatterns.
688
+ # SupportedStyles: snake_case, camelCase
689
+ Naming/VariableName:
690
+ Exclude:
691
+ - 'lib/newrelic_security/agent/control/app_info.rb'
692
+ - 'lib/newrelic_security/agent/control/event.rb'
693
+ - 'lib/newrelic_security/agent/control/event_processor.rb'
694
+ - 'lib/newrelic_security/agent/control/exit_event.rb'
695
+ - 'lib/newrelic_security/agent/control/fuzz_fail_event.rb'
696
+ - 'lib/newrelic_security/agent/control/health_check.rb'
697
+ - 'lib/newrelic_security/agent/control/iast_client.rb'
698
+ - 'lib/newrelic_security/agent/control/iast_data_transfer_request.rb'
699
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
700
+ - 'test/helpers/event_helper.rb'
701
+ - 'test/newrelic_security/instrumentation-security/rails/rails_test.rb'
702
+ - 'test/newrelic_security/instrumentation-security/sinatra/sinatra_test.rb'
703
+
704
+ # Offense count: 1
705
+ # Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns.
706
+ # SupportedStyles: snake_case, normalcase, non_integer
707
+ # AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64
708
+ Naming/VariableNumber:
709
+ Exclude:
710
+ - 'lib/newrelic_security/agent/control/app_info.rb'
711
+
712
+ # Offense count: 1
713
+ # This cop supports safe autocorrection (--autocorrect).
714
+ Rake/Desc:
715
+ Exclude:
716
+ - 'Rakefile'
717
+
718
+ # Offense count: 16
719
+ # This cop supports unsafe autocorrection (--autocorrect-all).
720
+ Security/IoMethods:
721
+ Exclude:
722
+ - 'test/newrelic_security/instrumentation-security/io/io_test.rb'
723
+
724
+ # Offense count: 1
725
+ Security/Open:
726
+ Exclude:
727
+ - 'test/newrelic_security/instrumentation-security/kernel/kernel_test.rb'
728
+
729
+ # Offense count: 1
730
+ # This cop supports safe autocorrection (--autocorrect).
731
+ # Configuration parameters: EnforcedStyle.
732
+ # SupportedStyles: prefer_alias, prefer_alias_method
733
+ Style/Alias:
734
+ Exclude:
735
+ - 'lib/newrelic_security/websocket-client-simple/event_emitter.rb'
736
+
737
+ # Offense count: 17
738
+ # This cop supports unsafe autocorrection (--autocorrect-all).
739
+ # Configuration parameters: EnforcedStyle.
740
+ # SupportedStyles: always, conditionals
741
+ Style/AndOr:
742
+ Exclude:
743
+ - 'lib/newrelic_security/instrumentation-security/active_record/mysql2_adapter/instrumentation.rb'
744
+ - 'lib/newrelic_security/instrumentation-security/active_record/postgresql_adapter/instrumentation.rb'
745
+ - 'lib/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/instrumentation.rb'
746
+ - 'lib/newrelic_security/websocket-client-simple/client.rb'
747
+
748
+ # Offense count: 26
749
+ # This cop supports safe autocorrection (--autocorrect).
750
+ # Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, AllowedMethods, AllowedPatterns, AllowBracesOnProceduralOneLiners, BracesRequiredMethods.
751
+ # SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces
752
+ # ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
753
+ # FunctionalMethods: let, let!, subject, watch
754
+ # AllowedMethods: lambda, proc, it
755
+ Style/BlockDelimiters:
756
+ Exclude:
757
+ - 'lib/newrelic_security/agent/configuration/manager.rb'
758
+ - 'lib/newrelic_security/agent/control/collector.rb'
759
+ - 'lib/newrelic_security/agent/control/event_processor.rb'
760
+ - 'lib/newrelic_security/agent/control/event_subscriber.rb'
761
+ - 'lib/newrelic_security/agent/logging/status_logger.rb'
762
+ - 'lib/newrelic_security/agent/utils/agent_utils.rb'
763
+ - 'lib/newrelic_security/instrumentation-security/active_record/mysql2_adapter/instrumentation.rb'
764
+ - 'lib/newrelic_security/instrumentation-security/active_record/postgresql_adapter/instrumentation.rb'
765
+ - 'lib/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/instrumentation.rb'
766
+ - 'lib/newrelic_security/instrumentation-security/curb/instrumentation.rb'
767
+ - 'lib/newrelic_security/instrumentation-security/io/instrumentation.rb'
768
+ - 'lib/newrelic_security/instrumentation-security/kernel/instrumentation.rb'
769
+
770
+ # Offense count: 1
771
+ # This cop supports safe autocorrection (--autocorrect).
772
+ # Configuration parameters: AllowOnConstant, AllowOnSelfClass.
773
+ Style/CaseEquality:
774
+ Exclude:
775
+ - 'lib/newrelic_security/newrelic-security-api/api.rb'
776
+
777
+ # Offense count: 176
778
+ # This cop supports unsafe autocorrection (--autocorrect-all).
779
+ # Configuration parameters: EnforcedStyle.
780
+ # SupportedStyles: nested, compact
781
+ Style/ClassAndModuleChildren:
782
+ Enabled: false
783
+
784
+ # Offense count: 54
785
+ Style/ClassVars:
786
+ Exclude:
787
+ - 'test/newrelic_security/instrumentation-security/active_record/postgresql_adapter/postgresql_adapter_test.rb'
788
+ - 'test/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/sqlite3_adapter_test.rb'
789
+ - 'test/newrelic_security/instrumentation-security/curb/curb_test.rb'
790
+ - 'test/newrelic_security/instrumentation-security/dir/dir_test.rb'
791
+ - 'test/newrelic_security/instrumentation-security/file/file_test.rb'
792
+ - 'test/newrelic_security/instrumentation-security/httpclient/httpclient_test.rb'
793
+ - 'test/newrelic_security/instrumentation-security/io/io_test.rb'
794
+ - 'test/newrelic_security/instrumentation-security/kernel/kernel_test.rb'
795
+ - 'test/newrelic_security/instrumentation-security/mongo/mongo_test.rb'
796
+ - 'test/newrelic_security/instrumentation-security/mysql2/mysql2_test.rb'
797
+ - 'test/newrelic_security/instrumentation-security/net_http/net_http_test.rb'
798
+ - 'test/newrelic_security/instrumentation-security/pg/pg_test.rb'
799
+ - 'test/newrelic_security/instrumentation-security/pty/pty_test.rb'
800
+ - 'test/newrelic_security/instrumentation-security/sqlite3/sqlite3_test.rb'
801
+
802
+ # Offense count: 5
803
+ # This cop supports safe autocorrection (--autocorrect).
804
+ Style/ColonMethodCall:
805
+ Exclude:
806
+ - 'lib/newrelic_security/agent/control/health_check.rb'
807
+ - 'test/newrelic_security/instrumentation-security/pty/pty_test.rb'
808
+
809
+ # Offense count: 1
810
+ # This cop supports unsafe autocorrection (--autocorrect-all).
811
+ Style/CombinableLoops:
812
+ Exclude:
813
+ - 'lib/newrelic_security/websocket-client-simple/event_emitter.rb'
814
+
815
+ # Offense count: 2
816
+ # This cop supports safe autocorrection (--autocorrect).
817
+ # Configuration parameters: EnforcedStyle, AllowInnerBackticks.
818
+ # SupportedStyles: backticks, percent_x, mixed
819
+ Style/CommandLiteral:
820
+ Exclude:
821
+ - 'test/newrelic_security/instrumentation-security/kernel/kernel_test.rb'
822
+
823
+ # Offense count: 5
824
+ # This cop supports unsafe autocorrection (--autocorrect-all).
825
+ Style/CommentedKeyword:
826
+ Exclude:
827
+ - 'lib/newrelic_security/instrumentation-security/active_record/postgresql_adapter/chain.rb'
828
+ - 'lib/newrelic_security/instrumentation-security/active_record/postgresql_adapter/prepend.rb'
829
+ - 'test/newrelic_security/instrumentation-security/rails/rails_test.rb'
830
+
831
+ # Offense count: 8
832
+ # This cop supports safe autocorrection (--autocorrect).
833
+ # Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
834
+ # SupportedStyles: assign_to_condition, assign_inside_condition
835
+ Style/ConditionalAssignment:
836
+ Exclude:
837
+ - 'lib/newrelic_security/instrumentation-security/active_record/mysql2_adapter/instrumentation.rb'
838
+ - 'lib/newrelic_security/instrumentation-security/active_record/postgresql_adapter/instrumentation.rb'
839
+ - 'lib/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/instrumentation.rb'
840
+
841
+ # Offense count: 5
842
+ # This cop supports safe autocorrection (--autocorrect).
843
+ Style/DefWithParentheses:
844
+ Exclude:
845
+ - 'lib/newrelic_security/agent.rb'
846
+ - 'lib/newrelic_security/agent/control/websocket_client.rb'
847
+ - 'lib/newrelic_security/agent/logging/status_logger.rb'
848
+ - 'lib/newrelic_security/instrumentation-security/instrumentation_loader.rb'
849
+ - 'test/helpers/agent_helper.rb'
850
+
851
+ # Offense count: 156
852
+ # Configuration parameters: AllowedConstants.
853
+ Style/Documentation:
854
+ Enabled: false
855
+
856
+ # Offense count: 16
857
+ # This cop supports safe autocorrection (--autocorrect).
858
+ Style/EmptyLiteral:
859
+ Exclude:
860
+ - 'lib/newrelic_security/agent/configuration/manager.rb'
861
+ - 'lib/newrelic_security/agent/control/app_info.rb'
862
+ - 'lib/newrelic_security/agent/control/event.rb'
863
+ - 'lib/newrelic_security/agent/control/health_check.rb'
864
+ - 'lib/newrelic_security/agent/control/http_context.rb'
865
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
866
+ - 'lib/newrelic_security/agent/control/websocket_client.rb'
867
+ - 'lib/newrelic_security/agent/logging/status_logger.rb'
868
+ - 'test/helpers/config_helper.rb'
869
+
870
+ # Offense count: 1
871
+ # This cop supports safe autocorrection (--autocorrect).
872
+ # Configuration parameters: EnforcedStyle.
873
+ # SupportedStyles: compact, expanded
874
+ Style/EmptyMethod:
875
+ Exclude:
876
+ - 'lib/newrelic_security/agent/agent.rb'
877
+
878
+ # Offense count: 7
879
+ # This cop supports safe autocorrection (--autocorrect).
880
+ Style/ExpandPathArguments:
881
+ Exclude:
882
+ - 'newrelic_security.gemspec'
883
+ - 'test/helpers/config_helper.rb'
884
+ - 'test/newrelic_security/instrumentation-security/nokogiri/nokogiri_test.rb'
885
+ - 'test/test_helper.rb'
886
+
887
+ # Offense count: 2
888
+ # This cop supports safe autocorrection (--autocorrect).
889
+ # Configuration parameters: AllowedVars.
890
+ Style/FetchEnvVar:
891
+ Exclude:
892
+ - 'test/helpers/config_helper.rb'
893
+ - 'test/helpers/instrument_helper.rb'
894
+
895
+ # Offense count: 1
896
+ # This cop supports safe autocorrection (--autocorrect).
897
+ Style/FileWrite:
898
+ Exclude:
899
+ - 'lib/newrelic_security/agent/logging/status_logger.rb'
900
+
901
+ # Offense count: 2
902
+ # This cop supports unsafe autocorrection (--autocorrect-all).
903
+ # Configuration parameters: EnforcedStyle.
904
+ # SupportedStyles: each, for
905
+ Style/For:
906
+ Exclude:
907
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
908
+ - 'test/helpers/event_helper.rb'
909
+
910
+ # Offense count: 117
911
+ # This cop supports unsafe autocorrection (--autocorrect-all).
912
+ # Configuration parameters: EnforcedStyle.
913
+ # SupportedStyles: always, always_true, never
914
+ Style/FrozenStringLiteralComment:
915
+ Enabled: false
916
+
917
+ # Offense count: 4
918
+ # This cop supports unsafe autocorrection (--autocorrect-all).
919
+ Style/GlobalStdStream:
920
+ Exclude:
921
+ - 'lib/newrelic_security/agent/logging/init_logger.rb'
922
+ - 'lib/newrelic_security/agent/logging/logger.rb'
923
+
924
+ # Offense count: 804
925
+ # Configuration parameters: AllowedVariables.
926
+ Style/GlobalVars:
927
+ Enabled: false
928
+
929
+ # Offense count: 11
930
+ # This cop supports safe autocorrection (--autocorrect).
931
+ # Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
932
+ Style/GuardClause:
933
+ Exclude:
934
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
935
+ - 'lib/newrelic_security/agent/utils/agent_utils.rb'
936
+ - 'test/newrelic_security/instrumentation-security/active_record/postgresql_adapter/postgresql_adapter_test.rb'
937
+ - 'test/newrelic_security/instrumentation-security/mongo/mongo_test.rb'
938
+ - 'test/newrelic_security/instrumentation-security/mysql2/mysql2_test.rb'
939
+ - 'test/newrelic_security/instrumentation-security/pg/pg_test.rb'
940
+
941
+ # Offense count: 541
942
+ # This cop supports safe autocorrection (--autocorrect).
943
+ # Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
944
+ # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
945
+ # SupportedShorthandSyntax: always, never, either, consistent
946
+ Style/HashSyntax:
947
+ Enabled: false
948
+
949
+ # Offense count: 2
950
+ # This cop supports unsafe autocorrection (--autocorrect-all).
951
+ Style/IdenticalConditionalBranches:
952
+ Exclude:
953
+ - 'test/newrelic_security/instrumentation-security/active_record/postgresql_adapter/postgresql_adapter_test.rb'
954
+
955
+ # Offense count: 10
956
+ # This cop supports safe autocorrection (--autocorrect).
957
+ # Configuration parameters: AllowIfModifier.
958
+ Style/IfInsideElse:
959
+ Exclude:
960
+ - 'lib/newrelic_security/instrumentation-security/dir/instrumentation.rb'
961
+ - 'lib/newrelic_security/instrumentation-security/io/instrumentation.rb'
962
+ - 'lib/newrelic_security/instrumentation-security/kernel/instrumentation.rb'
963
+
964
+ # Offense count: 18
965
+ # This cop supports safe autocorrection (--autocorrect).
966
+ Style/IfUnlessModifier:
967
+ Exclude:
968
+ - 'lib/newrelic_security/agent/configuration/manager.rb'
969
+ - 'lib/newrelic_security/agent/control/collector.rb'
970
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
971
+ - 'lib/newrelic_security/agent/logging/status_logger.rb'
972
+ - 'lib/newrelic_security/instrumentation-security/instrumentation_utils.rb'
973
+ - 'lib/newrelic_security/websocket-client-simple/client.rb'
974
+ - 'lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/handler/handler75.rb'
975
+ - 'test/newrelic_security/instrumentation-security/rails/rails_test.rb'
976
+
977
+ # Offense count: 1
978
+ # This cop supports unsafe autocorrection (--autocorrect-all).
979
+ # Configuration parameters: AllowedMethods.
980
+ # AllowedMethods: nonzero?
981
+ Style/IfWithBooleanLiteralBranches:
982
+ Exclude:
983
+ - 'lib/newrelic_security/agent/control/event.rb'
984
+
985
+ # Offense count: 2
986
+ # This cop supports unsafe autocorrection (--autocorrect-all).
987
+ Style/InfiniteLoop:
988
+ Exclude:
989
+ - 'lib/newrelic_security/agent/control/event_processor.rb'
990
+ - 'test/newrelic_security/instrumentation-security/pty/pty_test.rb'
991
+
992
+ # Offense count: 182
993
+ # This cop supports safe autocorrection (--autocorrect).
994
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
995
+ Style/MethodCallWithoutArgsParentheses:
996
+ Enabled: false
997
+
998
+ # Offense count: 6
999
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1000
+ # Configuration parameters: EnforcedStyle, Autocorrect.
1001
+ # SupportedStyles: module_function, extend_self, forbidden
1002
+ Style/ModuleFunction:
1003
+ Exclude:
1004
+ - 'lib/newrelic_security/agent.rb'
1005
+ - 'lib/newrelic_security/agent/utils/agent_utils.rb'
1006
+ - 'lib/newrelic_security/instrumentation-security/instrumentation_loader.rb'
1007
+ - 'lib/newrelic_security/instrumentation-security/instrumentation_utils.rb'
1008
+ - 'test/helpers/agent_helper.rb'
1009
+ - 'test/helpers/instrument_helper.rb'
1010
+
1011
+ # Offense count: 5
1012
+ # This cop supports safe autocorrection (--autocorrect).
1013
+ Style/MultilineIfModifier:
1014
+ Exclude:
1015
+ - 'lib/newrelic_security/agent/logging/status_logger.rb'
1016
+ - 'lib/newrelic_security/agent/utils/agent_utils.rb'
1017
+ - 'lib/newrelic_security/instrumentation-security/instrumentation_utils.rb'
1018
+
1019
+ # Offense count: 1
1020
+ # This cop supports safe autocorrection (--autocorrect).
1021
+ Style/MultilineWhenThen:
1022
+ Exclude:
1023
+ - 'lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/handler/handler75.rb'
1024
+
1025
+ # Offense count: 12
1026
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1027
+ # Configuration parameters: EnforcedStyle.
1028
+ # SupportedStyles: literals, strict
1029
+ Style/MutableConstant:
1030
+ Exclude:
1031
+ - 'lib/newrelic_security/agent/logging/init_logger.rb'
1032
+ - 'lib/newrelic_security/agent/logging/logger.rb'
1033
+ - 'lib/newrelic_security/agent/logging/status_logger.rb'
1034
+ - 'lib/newrelic_security/instrumentation-security/instrumentation_utils.rb'
1035
+ - 'lib/newrelic_security/instrumentation-security/net_http/instrumentation.rb'
1036
+ - 'lib/newrelic_security/version.rb'
1037
+ - 'lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/base.rb'
1038
+ - 'lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/client.rb'
1039
+ - 'lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/server.rb'
1040
+
1041
+ # Offense count: 4
1042
+ # This cop supports safe autocorrection (--autocorrect).
1043
+ # Configuration parameters: EnforcedStyle.
1044
+ # SupportedStyles: both, prefix, postfix
1045
+ Style/NegatedIf:
1046
+ Exclude:
1047
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
1048
+ - 'lib/newrelic_security/instrumentation-security/instrumentation_utils.rb'
1049
+ - 'lib/newrelic_security/websocket-client-simple/client.rb'
1050
+
1051
+ # Offense count: 2
1052
+ # This cop supports safe autocorrection (--autocorrect).
1053
+ Style/NegatedIfElseCondition:
1054
+ Exclude:
1055
+ - 'lib/newrelic_security/agent/control/collector.rb'
1056
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
1057
+
1058
+ # Offense count: 2
1059
+ # This cop supports safe autocorrection (--autocorrect).
1060
+ Style/NegatedWhile:
1061
+ Exclude:
1062
+ - 'lib/newrelic_security/websocket-client-simple/client.rb'
1063
+ - 'test/newrelic_security/instrumentation-security/httpclient/httpclient_test.rb'
1064
+
1065
+ # Offense count: 3
1066
+ # This cop supports safe autocorrection (--autocorrect).
1067
+ # Configuration parameters: EnforcedStyle, MinBodyLength.
1068
+ # SupportedStyles: skip_modifier_ifs, always
1069
+ Style/Next:
1070
+ Exclude:
1071
+ - 'lib/newrelic_security/agent/control/collector.rb'
1072
+ - 'lib/newrelic_security/agent/control/iast_client.rb'
1073
+
1074
+ # Offense count: 12
1075
+ # This cop supports safe autocorrection (--autocorrect).
1076
+ # Configuration parameters: EnforcedStyle.
1077
+ # SupportedStyles: predicate, comparison
1078
+ Style/NilComparison:
1079
+ Exclude:
1080
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
1081
+ - 'lib/newrelic_security/instrumentation-security/instrumentation_utils.rb'
1082
+
1083
+ # Offense count: 11
1084
+ # This cop supports safe autocorrection (--autocorrect).
1085
+ # Configuration parameters: IncludeSemanticChanges.
1086
+ Style/NonNilCheck:
1087
+ Exclude:
1088
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
1089
+ - 'lib/newrelic_security/instrumentation-security/net_http/instrumentation.rb'
1090
+
1091
+ # Offense count: 2
1092
+ # This cop supports safe autocorrection (--autocorrect).
1093
+ # Configuration parameters: EnforcedOctalStyle.
1094
+ # SupportedOctalStyles: zero_with_o, zero_only
1095
+ Style/NumericLiteralPrefix:
1096
+ Exclude:
1097
+ - 'lib/newrelic_security/agent/configuration/manager.rb'
1098
+ - 'lib/newrelic_security/agent/utils/agent_utils.rb'
1099
+
1100
+ # Offense count: 3
1101
+ # This cop supports safe autocorrection (--autocorrect).
1102
+ # Configuration parameters: MinDigits, Strict, AllowedNumbers, AllowedPatterns.
1103
+ Style/NumericLiterals:
1104
+ Exclude:
1105
+ - 'lib/newrelic_security/agent/control/iast_client.rb'
1106
+ - 'test/newrelic_security/instrumentation-security/active_record/postgresql_adapter/db/schema.rb'
1107
+ - 'test/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/db/schema.rb'
1108
+
1109
+ # Offense count: 7
1110
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1111
+ # Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns.
1112
+ # SupportedStyles: predicate, comparison
1113
+ Style/NumericPredicate:
1114
+ Exclude:
1115
+ - 'spec/**/*'
1116
+ - 'lib/newrelic_security/agent/configuration/manager.rb'
1117
+ - 'lib/newrelic_security/agent/control/control_command.rb'
1118
+ - 'lib/newrelic_security/agent/control/iast_client.rb'
1119
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
1120
+ - 'lib/newrelic_security/instrumentation-security/kernel/instrumentation.rb'
1121
+ - 'lib/newrelic_security/instrumentation-security/sqlite3/instrumentation.rb'
1122
+
1123
+ # Offense count: 2
1124
+ # Configuration parameters: AllowedMethods.
1125
+ # AllowedMethods: respond_to_missing?
1126
+ Style/OptionalBooleanParameter:
1127
+ Exclude:
1128
+ - 'lib/newrelic_security/agent/control/websocket_client.rb'
1129
+ - 'lib/newrelic_security/websocket-client-simple/client.rb'
1130
+
1131
+ # Offense count: 1
1132
+ # This cop supports safe autocorrection (--autocorrect).
1133
+ Style/OrAssignment:
1134
+ Exclude:
1135
+ - 'lib/newrelic_security/agent.rb'
1136
+
1137
+ # Offense count: 2
1138
+ # This cop supports safe autocorrection (--autocorrect).
1139
+ # Configuration parameters: PreferredDelimiters.
1140
+ Style/PercentLiteralDelimiters:
1141
+ Exclude:
1142
+ - 'newrelic_security.gemspec'
1143
+ - 'test/newrelic_security/instrumentation-security/kernel/kernel_test.rb'
1144
+
1145
+ # Offense count: 8
1146
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1147
+ # Configuration parameters: EnforcedStyle.
1148
+ # SupportedStyles: short, verbose
1149
+ Style/PreferredHashMethods:
1150
+ Exclude:
1151
+ - 'lib/newrelic_security/agent/configuration/manager.rb'
1152
+ - 'lib/newrelic_security/agent/control/control_command.rb'
1153
+ - 'lib/newrelic_security/agent/control/event.rb'
1154
+ - 'lib/newrelic_security/instrumentation-security/io/instrumentation.rb'
1155
+ - 'lib/newrelic_security/instrumentation-security/sqlite3/instrumentation.rb'
1156
+
1157
+ # Offense count: 10
1158
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1159
+ # Configuration parameters: Methods.
1160
+ Style/RedundantArgument:
1161
+ Exclude:
1162
+ - 'test/newrelic_security/instrumentation-security/active_record/postgresql_adapter/postgresql_adapter_test.rb'
1163
+ - 'test/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/sqlite3_adapter_test.rb'
1164
+
1165
+ # Offense count: 1
1166
+ # This cop supports safe autocorrection (--autocorrect).
1167
+ Style/RedundantBegin:
1168
+ Exclude:
1169
+ - 'lib/newrelic_security/agent/logging/status_logger.rb'
1170
+
1171
+ # Offense count: 3
1172
+ # This cop supports safe autocorrection (--autocorrect).
1173
+ Style/RedundantCapitalW:
1174
+ Exclude:
1175
+ - 'lib/newrelic_security/agent/control/http_context.rb'
1176
+ - 'lib/newrelic_security/instrumentation-security/instrumentation_utils.rb'
1177
+
1178
+ # Offense count: 2
1179
+ # This cop supports safe autocorrection (--autocorrect).
1180
+ Style/RedundantCondition:
1181
+ Exclude:
1182
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
1183
+
1184
+ # Offense count: 52
1185
+ # This cop supports safe autocorrection (--autocorrect).
1186
+ Style/RedundantConstantBase:
1187
+ Enabled: false
1188
+
1189
+ # Offense count: 2
1190
+ # This cop supports safe autocorrection (--autocorrect).
1191
+ Style/RedundantFileExtensionInRequire:
1192
+ Exclude:
1193
+ - 'lib/newrelic_security/websocket-client-simple/client.rb'
1194
+ - 'test/test_helper.rb'
1195
+
1196
+ # Offense count: 1
1197
+ # This cop supports safe autocorrection (--autocorrect).
1198
+ Style/RedundantFreeze:
1199
+ Exclude:
1200
+ - 'lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/version.rb'
1201
+
1202
+ # Offense count: 6
1203
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1204
+ Style/RedundantInterpolation:
1205
+ Exclude:
1206
+ - 'newrelic_security.gemspec'
1207
+ - 'test/newrelic_security/instrumentation-security/kernel/kernel_test.rb'
1208
+ - 'test/newrelic_security/instrumentation-security/net_http/net_http_test.rb'
1209
+ - 'test/newrelic_security/instrumentation-security/pty/pty_test.rb'
1210
+
1211
+ # Offense count: 2
1212
+ # This cop supports safe autocorrection (--autocorrect).
1213
+ Style/RedundantPercentQ:
1214
+ Exclude:
1215
+ - 'newrelic_security.gemspec'
1216
+
1217
+ # Offense count: 3
1218
+ # This cop supports safe autocorrection (--autocorrect).
1219
+ Style/RedundantRegexpEscape:
1220
+ Exclude:
1221
+ - 'lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/client.rb'
1222
+ - 'lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/server.rb'
1223
+
1224
+ # Offense count: 15
1225
+ # This cop supports safe autocorrection (--autocorrect).
1226
+ # Configuration parameters: AllowMultipleReturnValues.
1227
+ Style/RedundantReturn:
1228
+ Exclude:
1229
+ - 'lib/newrelic_security/agent/agent.rb'
1230
+ - 'lib/newrelic_security/agent/control/collector.rb'
1231
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
1232
+ - 'lib/newrelic_security/instrumentation-security/instrumentation_utils.rb'
1233
+ - 'lib/newrelic_security/websocket-client-simple/client.rb'
1234
+ - 'test/helpers/agent_helper.rb'
1235
+ - 'test/helpers/event_helper.rb'
1236
+
1237
+ # Offense count: 31
1238
+ # This cop supports safe autocorrection (--autocorrect).
1239
+ Style/RedundantSelf:
1240
+ Exclude:
1241
+ - 'lib/newrelic_security/instrumentation-security/curb/instrumentation.rb'
1242
+ - 'lib/newrelic_security/instrumentation-security/excon/instrumentation.rb'
1243
+ - 'lib/newrelic_security/instrumentation-security/mysql2/instrumentation.rb'
1244
+ - 'lib/newrelic_security/instrumentation-security/net_http/instrumentation.rb'
1245
+ - 'lib/newrelic_security/instrumentation-security/patron/instrumentation.rb'
1246
+ - 'lib/newrelic_security/instrumentation-security/sinatra/instrumentation.rb'
1247
+ - 'lib/newrelic_security/instrumentation-security/sqlite3/instrumentation.rb'
1248
+
1249
+ # Offense count: 1
1250
+ # This cop supports safe autocorrection (--autocorrect).
1251
+ Style/RedundantStringEscape:
1252
+ Exclude:
1253
+ - 'test/newrelic_security/instrumentation-security/kernel/kernel_test.rb'
1254
+
1255
+ # Offense count: 1
1256
+ # This cop supports safe autocorrection (--autocorrect).
1257
+ # Configuration parameters: EnforcedStyle, AllowInnerSlashes.
1258
+ # SupportedStyles: slashes, percent_r, mixed
1259
+ Style/RegexpLiteral:
1260
+ Exclude:
1261
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
1262
+
1263
+ # Offense count: 165
1264
+ # This cop supports safe autocorrection (--autocorrect).
1265
+ # Configuration parameters: EnforcedStyle.
1266
+ # SupportedStyles: implicit, explicit
1267
+ Style/RescueStandardError:
1268
+ Enabled: false
1269
+
1270
+ # Offense count: 13
1271
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1272
+ # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength.
1273
+ # AllowedMethods: present?, blank?, presence, try, try!
1274
+ Style/SafeNavigation:
1275
+ Exclude:
1276
+ - 'lib/newrelic_security/agent/control/reflected_xss.rb'
1277
+ - 'lib/newrelic_security/agent/control/websocket_client.rb'
1278
+ - 'lib/newrelic_security/agent/logging/status_logger.rb'
1279
+ - 'lib/newrelic_security/instrumentation-security/io/instrumentation.rb'
1280
+ - 'lib/newrelic_security/instrumentation-security/mysql2/instrumentation.rb'
1281
+ - 'lib/newrelic_security/instrumentation-security/pg/instrumentation.rb'
1282
+ - 'lib/newrelic_security/instrumentation-security/sqlite3/instrumentation.rb'
1283
+ - 'lib/newrelic_security/websocket-client-simple/client.rb'
1284
+
1285
+ # Offense count: 2
1286
+ # This cop supports safe autocorrection (--autocorrect).
1287
+ Style/SelfAssignment:
1288
+ Exclude:
1289
+ - 'lib/newrelic_security/agent/utils/agent_utils.rb'
1290
+
1291
+ # Offense count: 1
1292
+ # This cop supports safe autocorrection (--autocorrect).
1293
+ # Configuration parameters: AllowAsExpressionSeparator.
1294
+ Style/Semicolon:
1295
+ Exclude:
1296
+ - 'test/newrelic_security/instrumentation-security/curb/curb_test.rb'
1297
+
1298
+ # Offense count: 2
1299
+ # This cop supports safe autocorrection (--autocorrect).
1300
+ # Configuration parameters: AllowModifier.
1301
+ Style/SoleNestedConditional:
1302
+ Exclude:
1303
+ - 'lib/newrelic_security/instrumentation-security/instrumentation_utils.rb'
1304
+
1305
+ # Offense count: 5
1306
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1307
+ # Configuration parameters: RequireEnglish, EnforcedStyle.
1308
+ # SupportedStyles: use_perl_names, use_english_names, use_builtin_english_names
1309
+ Style/SpecialGlobalVars:
1310
+ Exclude:
1311
+ - 'lib/newrelic_security/instrumentation-security/kernel/instrumentation.rb'
1312
+ - 'test/test_helper.rb'
1313
+
1314
+ # Offense count: 25
1315
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1316
+ # Configuration parameters: Mode.
1317
+ Style/StringConcatenation:
1318
+ Exclude:
1319
+ - 'lib/newrelic_security/agent/logging/status_logger.rb'
1320
+ - 'lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/handler/client.rb'
1321
+ - 'lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/handshake/handler/client04.rb'
1322
+ - 'test/newrelic_security/instrumentation-security/active_record/postgresql_adapter/postgresql_adapter_test.rb'
1323
+ - 'test/newrelic_security/instrumentation-security/active_record/sqlite3_adapter/sqlite3_adapter_test.rb'
1324
+ - 'test/newrelic_security/instrumentation-security/dir/dir_test.rb'
1325
+ - 'test/newrelic_security/instrumentation-security/file/file_test.rb'
1326
+ - 'test/newrelic_security/instrumentation-security/io/io_test.rb'
1327
+ - 'test/newrelic_security/instrumentation-security/kernel/kernel_test.rb'
1328
+ - 'test/newrelic_security/instrumentation-security/mongo/mongo_test.rb'
1329
+ - 'test/newrelic_security/instrumentation-security/nokogiri/nokogiri_test.rb'
1330
+ - 'test/newrelic_security/instrumentation-security/pty/pty_test.rb'
1331
+ - 'test/newrelic_security/instrumentation-security/sqlite3/sqlite3_test.rb'
1332
+
1333
+ # Offense count: 864
1334
+ # This cop supports safe autocorrection (--autocorrect).
1335
+ # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
1336
+ # SupportedStyles: single_quotes, double_quotes
1337
+ Style/StringLiterals:
1338
+ Enabled: false
1339
+
1340
+ # Offense count: 2
1341
+ # This cop supports safe autocorrection (--autocorrect).
1342
+ # Configuration parameters: EnforcedStyle.
1343
+ # SupportedStyles: single_quotes, double_quotes
1344
+ Style/StringLiteralsInInterpolation:
1345
+ Exclude:
1346
+ - 'lib/newrelic_security/agent/utils/agent_utils.rb'
1347
+
1348
+ # Offense count: 4
1349
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1350
+ # Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments.
1351
+ # AllowedMethods: define_method
1352
+ Style/SymbolProc:
1353
+ Exclude:
1354
+ - 'lib/newrelic_security/agent/configuration/manager.rb'
1355
+ - 'lib/newrelic_security/agent/control/collector.rb'
1356
+ - 'lib/newrelic_security/instrumentation-security/net_http/instrumentation.rb'
1357
+
1358
+ # Offense count: 1
1359
+ # This cop supports safe autocorrection (--autocorrect).
1360
+ # Configuration parameters: AllowNamedUnderscoreVariables.
1361
+ Style/TrailingUnderscoreVariable:
1362
+ Exclude:
1363
+ - 'lib/newrelic_security/agent/utils/agent_utils.rb'
1364
+
1365
+ # Offense count: 1
1366
+ # This cop supports safe autocorrection (--autocorrect).
1367
+ # Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, IgnoreClassMethods, AllowedMethods.
1368
+ # AllowedMethods: to_ary, to_a, to_c, to_enum, to_h, to_hash, to_i, to_int, to_io, to_open, to_path, to_proc, to_r, to_regexp, to_str, to_s, to_sym
1369
+ Style/TrivialAccessors:
1370
+ Exclude:
1371
+ - 'lib/newrelic_security/agent/configuration/manager.rb'
1372
+
1373
+ # Offense count: 1
1374
+ # This cop supports safe autocorrection (--autocorrect).
1375
+ Style/UnlessElse:
1376
+ Exclude:
1377
+ - 'lib/newrelic_security/websocket-client-simple/client.rb'
1378
+
1379
+ # Offense count: 3
1380
+ # This cop supports safe autocorrection (--autocorrect).
1381
+ Style/UnpackFirst:
1382
+ Exclude:
1383
+ - 'lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/handler/handler03.rb'
1384
+ - 'lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/handler/handler07.rb'
1385
+
1386
+ # Offense count: 2
1387
+ # This cop supports safe autocorrection (--autocorrect).
1388
+ Style/WhileUntilDo:
1389
+ Exclude:
1390
+ - 'lib/newrelic_security/agent/control/event_processor.rb'
1391
+ - 'lib/newrelic_security/websocket-client-simple/client.rb'
1392
+
1393
+ # Offense count: 9
1394
+ # This cop supports safe autocorrection (--autocorrect).
1395
+ # Configuration parameters: WordRegex.
1396
+ # SupportedStyles: percent, brackets
1397
+ Style/WordArray:
1398
+ EnforcedStyle: percent
1399
+ MinSize: 5
1400
+
1401
+ # Offense count: 4
1402
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1403
+ Style/ZeroLengthPredicate:
1404
+ Exclude:
1405
+ - 'lib/newrelic_security/agent/control/control_command.rb'
1406
+ - 'lib/newrelic_security/instrumentation-security/sqlite3/instrumentation.rb'
1407
+ - 'lib/newrelic_security/websocket-client-simple/websocket-ruby/lib/websocket/frame/handler/handler75.rb'
1408
+
1409
+ # Offense count: 567
1410
+ # This cop supports safe autocorrection (--autocorrect).
1411
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
1412
+ # URISchemes: http, https
1413
+ Layout/LineLength:
1414
+ Max: 334