(map[string][]types.Finding) (len=2) {
  (string) (len=8) "critical": ([]types.Finding) (len=1) {
    (types.Finding) {
      Rule: (*types.Rule)({
        CWEIDs: ([]string) (len=2) {
          (string) (len=3) "209",
          (string) (len=3) "532"
        },
        Id: (string) (len=17) "ruby_rails_logger",
        Title: (string) (len=46) "Sensitive data sent to Rails loggers detected.",
        Description: (string) (len=608) "## Description\nLeaking sensitive data to loggers is a common cause of data leaks and can lead to data breaches. This rule looks for instances of sensitive data sent to rails loggers.\n\n## Remediations\n❌ Avoid using sensitive data in logger messages:\n\n```ruby\nRails.logger.info('User is: #{user.email}')\n```\n\n✅ If you need to identify a user, ensure to use their unique identifier instead of their personal identifiable information:\n\n```ruby\nRails.logger.info('User is: #{user.uuid}')\n```\n\n## Resources\n- [OWASP logging cheat sheet](https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html)\n",
        DocumentationUrl: (string) (len=57) "https://docs.bearer.com/reference/rules/ruby_rails_logger"
      }),
      LineNumber: (int) 1,
      FullFilename: (string) "",
      Filename: (string) (len=20) "pkg/datatype_leak.rb",
      DataType: (*types.DataType)({
        CategoryUUID: (string) (len=36) "35b94efa-9b67-49b2-abb9-29b6a759a030",
        Name: (string) (len=14) "Biometric Data"
      }),
      CategoryGroups: ([]string) (len=3) {
        (string) (len=3) "PII",
        (string) (len=13) "Personal Data",
        (string) (len=25) "Personal Data (Sensitive)"
      },
      Source: (types.Source) {
        Location: (*types.Location)({
          Start: (int) 1,
          End: (int) 0,
          Column: (types.Column) {
            Start: (int) 0,
            End: (int) 0
          }
        })
      },
      Sink: (types.Sink) {
        Location: (*types.Location)({
          Start: (int) 1,
          End: (int) 2,
          Column: (types.Column) {
            Start: (int) 10,
            End: (int) 28
          }
        }),
        Content: (string) ""
      },
      ParentLineNumber: (int) 1,
      ParentContent: (string) "",
      Fingerprint: (string) (len=34) "375d7c2e9977cf2ce5dbf04b04237bea_0",
      OldFingerprint: (string) (len=34) "80ce0185374c0975a9b2a71e9d11a4f0_0",
      DetailedContext: (string) "",
      CodeExtract: (string) "",
      RawCodeExtract: ([]file.Line) {
      },
      SeverityMeta: (types.SeverityMeta) {
        RuleSeverity: (string) (len=8) "critical",
        SensitiveDataCategories: ([]string) <nil>,
        HasLocalDataTypes: (*bool)(<nil>),
        SensitiveDataCategoryWeighting: (int) 0,
        RuleSeverityWeighting: (int) 0,
        FinalWeighting: (int) 0,
        DisplaySeverity: (string) (len=8) "critical"
      }
    }
  },
  (string) (len=6) "medium": ([]types.Finding) (len=1) {
    (types.Finding) {
      Rule: (*types.Rule)({
        CWEIDs: ([]string) (len=1) {
          (string) (len=3) "295"
        },
        Id: (string) (len=26) "ruby_lang_ssl_verification",
        Title: (string) (len=46) "Missing SSL certificate verification detected.",
        Description: (string) (len=728) "## Description\n\nApplications processing sensitive data should use valid SSL certificates. This rule checks if SSL verification is enabled.\n\n## Remediations\n\n❌ By default Ruby check for SSL certificate verification but this can be bypassed when setting Open SSL verification mode to `VERIFY_NONE`:\n\n```clojure\nrequire \"net/https\"\nrequire \"uri\"\n\nuri = URI.parse(\"https://ssl-site.com/\")\nhttp = Net::HTTP.new(uri.host, uri.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n```\n\n✅ To ensure that SSL verification always happens, make sure to use the following mode:\n\n```bash\nhttp.verify_mode = OpenSSL::SSL::VERIFY_PEER\n```\n\n## Resources\n- [Ruby OpenSSL module](https://ruby.github.io/openssl/OpenSSL.html)\n",
        DocumentationUrl: (string) (len=66) "https://docs.bearer.com/reference/rules/ruby_lang_ssl_verification"
      }),
      LineNumber: (int) 2,
      FullFilename: (string) "",
      Filename: (string) (len=21) "config/application.rb",
      DataType: (*types.DataType)(<nil>),
      CategoryGroups: ([]string) (len=2) {
        (string) (len=3) "PII",
        (string) (len=13) "Personal Data"
      },
      Source: (types.Source) {
        Location: (*types.Location)({
          Start: (int) 2,
          End: (int) 0,
          Column: (types.Column) {
            Start: (int) 0,
            End: (int) 0
          }
        })
      },
      Sink: (types.Sink) {
        Location: (*types.Location)({
          Start: (int) 2,
          End: (int) 2,
          Column: (types.Column) {
            Start: (int) 10,
            End: (int) 28
          }
        }),
        Content: (string) ""
      },
      ParentLineNumber: (int) 2,
      ParentContent: (string) "",
      Fingerprint: (string) (len=34) "9005ef3db844b32c1a0317e032f4a16a_0",
      OldFingerprint: (string) (len=34) "dcc50aebb6a6da7f0a8cb06e071f2af2_0",
      DetailedContext: (string) "",
      CodeExtract: (string) "",
      RawCodeExtract: ([]file.Line) {
      },
      SeverityMeta: (types.SeverityMeta) {
        RuleSeverity: (string) (len=6) "medium",
        SensitiveDataCategories: ([]string) <nil>,
        HasLocalDataTypes: (*bool)(<nil>),
        SensitiveDataCategoryWeighting: (int) 0,
        RuleSeverityWeighting: (int) 0,
        FinalWeighting: (int) 0,
        DisplaySeverity: (string) (len=6) "medium"
      }
    }
  }
}
