datadog 2.15.0 → 2.16.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 (121) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +46 -2
  3. data/ext/datadog_profiling_native_extension/datadog_ruby_common.c +1 -4
  4. data/ext/datadog_profiling_native_extension/datadog_ruby_common.h +7 -0
  5. data/ext/datadog_profiling_native_extension/extconf.rb +3 -0
  6. data/ext/datadog_profiling_native_extension/heap_recorder.c +8 -1
  7. data/ext/libdatadog_api/crashtracker.c +1 -9
  8. data/ext/libdatadog_api/crashtracker.h +5 -0
  9. data/ext/libdatadog_api/datadog_ruby_common.c +1 -4
  10. data/ext/libdatadog_api/datadog_ruby_common.h +7 -0
  11. data/ext/libdatadog_api/init.c +15 -0
  12. data/ext/libdatadog_api/library_config.c +122 -0
  13. data/ext/libdatadog_api/library_config.h +19 -0
  14. data/ext/libdatadog_api/process_discovery.c +117 -0
  15. data/ext/libdatadog_api/process_discovery.h +5 -0
  16. data/lib/datadog/appsec/actions_handler.rb +3 -2
  17. data/lib/datadog/appsec/assets/waf_rules/recommended.json +1344 -0
  18. data/lib/datadog/appsec/assets/waf_rules/strict.json +1344 -0
  19. data/lib/datadog/appsec/autoload.rb +1 -1
  20. data/lib/datadog/appsec/component.rb +11 -4
  21. data/lib/datadog/appsec/configuration/settings.rb +31 -18
  22. data/lib/datadog/appsec/context.rb +1 -1
  23. data/lib/datadog/appsec/contrib/active_record/instrumentation.rb +10 -12
  24. data/lib/datadog/appsec/contrib/active_record/integration.rb +1 -1
  25. data/lib/datadog/appsec/contrib/active_record/patcher.rb +22 -22
  26. data/lib/datadog/appsec/contrib/devise/data_extractor.rb +2 -3
  27. data/lib/datadog/appsec/contrib/devise/ext.rb +1 -0
  28. data/lib/datadog/appsec/contrib/devise/integration.rb +1 -1
  29. data/lib/datadog/appsec/contrib/devise/patcher.rb +3 -5
  30. data/lib/datadog/appsec/contrib/devise/tracking_middleware.rb +17 -4
  31. data/lib/datadog/appsec/contrib/excon/integration.rb +1 -1
  32. data/lib/datadog/appsec/contrib/excon/ssrf_detection_middleware.rb +9 -10
  33. data/lib/datadog/appsec/contrib/faraday/integration.rb +1 -1
  34. data/lib/datadog/appsec/contrib/faraday/ssrf_detection_middleware.rb +8 -9
  35. data/lib/datadog/appsec/contrib/graphql/gateway/watcher.rb +8 -9
  36. data/lib/datadog/appsec/contrib/graphql/integration.rb +1 -1
  37. data/lib/datadog/appsec/contrib/rack/gateway/watcher.rb +22 -32
  38. data/lib/datadog/appsec/contrib/rack/integration.rb +1 -1
  39. data/lib/datadog/appsec/contrib/rack/request_middleware.rb +16 -16
  40. data/lib/datadog/appsec/contrib/rails/gateway/watcher.rb +11 -13
  41. data/lib/datadog/appsec/contrib/rails/integration.rb +1 -1
  42. data/lib/datadog/appsec/contrib/rails/patcher.rb +21 -21
  43. data/lib/datadog/appsec/contrib/rest_client/integration.rb +1 -1
  44. data/lib/datadog/appsec/contrib/rest_client/request_ssrf_detection_patch.rb +10 -11
  45. data/lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb +17 -23
  46. data/lib/datadog/appsec/contrib/sinatra/integration.rb +1 -1
  47. data/lib/datadog/appsec/event.rb +85 -95
  48. data/lib/datadog/appsec/instrumentation/gateway/argument.rb +5 -2
  49. data/lib/datadog/appsec/metrics/telemetry.rb +1 -1
  50. data/lib/datadog/appsec/monitor/gateway/watcher.rb +42 -12
  51. data/lib/datadog/appsec/processor/rule_loader.rb +26 -28
  52. data/lib/datadog/appsec/processor/rule_merger.rb +5 -5
  53. data/lib/datadog/appsec/processor.rb +1 -1
  54. data/lib/datadog/appsec/remote.rb +14 -13
  55. data/lib/datadog/appsec/response.rb +6 -6
  56. data/lib/datadog/appsec/security_engine/runner.rb +1 -1
  57. data/lib/datadog/appsec/security_event.rb +39 -0
  58. data/lib/datadog/appsec.rb +1 -1
  59. data/lib/datadog/core/configuration/agentless_settings_resolver.rb +176 -0
  60. data/lib/datadog/core/configuration/components.rb +19 -10
  61. data/lib/datadog/core/configuration/option.rb +61 -25
  62. data/lib/datadog/core/configuration/settings.rb +10 -0
  63. data/lib/datadog/core/configuration/stable_config.rb +23 -0
  64. data/lib/datadog/core/configuration.rb +24 -0
  65. data/lib/datadog/core/crashtracking/component.rb +1 -9
  66. data/lib/datadog/core/environment/git.rb +1 -0
  67. data/lib/datadog/core/environment/variable_helpers.rb +1 -1
  68. data/lib/datadog/core/metrics/client.rb +8 -7
  69. data/lib/datadog/core/process_discovery.rb +32 -0
  70. data/lib/datadog/core/remote/client.rb +7 -0
  71. data/lib/datadog/core/runtime/metrics.rb +1 -1
  72. data/lib/datadog/core/telemetry/component.rb +60 -50
  73. data/lib/datadog/core/telemetry/emitter.rb +17 -11
  74. data/lib/datadog/core/telemetry/event.rb +7 -4
  75. data/lib/datadog/core/telemetry/http/adapters/net.rb +12 -97
  76. data/lib/datadog/core/telemetry/request.rb +3 -3
  77. data/lib/datadog/core/telemetry/transport/http/api.rb +43 -0
  78. data/lib/datadog/core/telemetry/transport/http/client.rb +49 -0
  79. data/lib/datadog/core/telemetry/transport/http/telemetry.rb +92 -0
  80. data/lib/datadog/core/telemetry/transport/http.rb +63 -0
  81. data/lib/datadog/core/telemetry/transport/telemetry.rb +52 -0
  82. data/lib/datadog/core/telemetry/worker.rb +45 -0
  83. data/lib/datadog/core/utils/time.rb +12 -0
  84. data/lib/datadog/core/workers/async.rb +20 -2
  85. data/lib/datadog/core/workers/interval_loop.rb +12 -1
  86. data/lib/datadog/core/workers/runtime_metrics.rb +2 -2
  87. data/lib/datadog/core.rb +8 -0
  88. data/lib/datadog/di/boot.rb +34 -0
  89. data/lib/datadog/di/remote.rb +2 -0
  90. data/lib/datadog/di.rb +5 -32
  91. data/lib/datadog/error_tracking/collector.rb +87 -0
  92. data/lib/datadog/error_tracking/component.rb +167 -0
  93. data/lib/datadog/error_tracking/configuration/settings.rb +63 -0
  94. data/lib/datadog/error_tracking/configuration.rb +11 -0
  95. data/lib/datadog/error_tracking/ext.rb +18 -0
  96. data/lib/datadog/error_tracking/extensions.rb +16 -0
  97. data/lib/datadog/error_tracking/filters.rb +77 -0
  98. data/lib/datadog/error_tracking.rb +18 -0
  99. data/lib/datadog/kit/identity.rb +1 -1
  100. data/lib/datadog/profiling/exporter.rb +1 -1
  101. data/lib/datadog/tracing/analytics.rb +1 -1
  102. data/lib/datadog/tracing/contrib/karafka/distributed/propagation.rb +2 -0
  103. data/lib/datadog/tracing/contrib/karafka/monitor.rb +1 -1
  104. data/lib/datadog/tracing/contrib/mongodb/configuration/settings.rb +8 -0
  105. data/lib/datadog/tracing/contrib/mongodb/ext.rb +1 -0
  106. data/lib/datadog/tracing/contrib/mongodb/subscribers.rb +18 -1
  107. data/lib/datadog/tracing/distributed/b3_multi.rb +1 -1
  108. data/lib/datadog/tracing/distributed/b3_single.rb +1 -1
  109. data/lib/datadog/tracing/distributed/datadog.rb +2 -2
  110. data/lib/datadog/tracing/sampling/rate_sampler.rb +2 -1
  111. data/lib/datadog/tracing/span_operation.rb +38 -14
  112. data/lib/datadog/tracing/trace_operation.rb +15 -7
  113. data/lib/datadog/tracing/tracer.rb +7 -3
  114. data/lib/datadog/tracing/utils.rb +1 -1
  115. data/lib/datadog/version.rb +1 -1
  116. data/lib/datadog.rb +2 -3
  117. metadata +34 -8
  118. data/lib/datadog/core/telemetry/http/env.rb +0 -20
  119. data/lib/datadog/core/telemetry/http/ext.rb +0 -28
  120. data/lib/datadog/core/telemetry/http/response.rb +0 -70
  121. data/lib/datadog/core/telemetry/http/transport.rb +0 -90
@@ -1745,5 +1745,1349 @@
1745
1745
  ],
1746
1746
  "transformers": []
1747
1747
  }
1748
+ ],
1749
+ "processors": [
1750
+ {
1751
+ "id": "http-endpoint-fingerprint",
1752
+ "generator": "http_endpoint_fingerprint",
1753
+ "conditions": [
1754
+ {
1755
+ "operator": "exists",
1756
+ "parameters": {
1757
+ "inputs": [
1758
+ {
1759
+ "address": "waf.context.event"
1760
+ },
1761
+ {
1762
+ "address": "server.business_logic.users.login.failure"
1763
+ },
1764
+ {
1765
+ "address": "server.business_logic.users.login.success"
1766
+ }
1767
+ ]
1768
+ }
1769
+ }
1770
+ ],
1771
+ "parameters": {
1772
+ "mappings": [
1773
+ {
1774
+ "method": [
1775
+ {
1776
+ "address": "server.request.method"
1777
+ }
1778
+ ],
1779
+ "uri_raw": [
1780
+ {
1781
+ "address": "server.request.uri.raw"
1782
+ }
1783
+ ],
1784
+ "body": [
1785
+ {
1786
+ "address": "server.request.body"
1787
+ }
1788
+ ],
1789
+ "query": [
1790
+ {
1791
+ "address": "server.request.query"
1792
+ }
1793
+ ],
1794
+ "output": "_dd.appsec.fp.http.endpoint"
1795
+ }
1796
+ ]
1797
+ },
1798
+ "evaluate": false,
1799
+ "output": true
1800
+ },
1801
+ {
1802
+ "id": "extract-content",
1803
+ "generator": "extract_schema",
1804
+ "conditions": [
1805
+ {
1806
+ "operator": "equals",
1807
+ "parameters": {
1808
+ "inputs": [
1809
+ {
1810
+ "address": "waf.context.processor",
1811
+ "key_path": [
1812
+ "extract-schema"
1813
+ ]
1814
+ }
1815
+ ],
1816
+ "type": "boolean",
1817
+ "value": true
1818
+ }
1819
+ }
1820
+ ],
1821
+ "parameters": {
1822
+ "mappings": [
1823
+ {
1824
+ "inputs": [
1825
+ {
1826
+ "address": "server.request.body"
1827
+ }
1828
+ ],
1829
+ "output": "_dd.appsec.s.req.body"
1830
+ },
1831
+ {
1832
+ "inputs": [
1833
+ {
1834
+ "address": "server.request.cookies"
1835
+ }
1836
+ ],
1837
+ "output": "_dd.appsec.s.req.cookies"
1838
+ },
1839
+ {
1840
+ "inputs": [
1841
+ {
1842
+ "address": "server.request.query"
1843
+ }
1844
+ ],
1845
+ "output": "_dd.appsec.s.req.query"
1846
+ },
1847
+ {
1848
+ "inputs": [
1849
+ {
1850
+ "address": "server.request.path_params"
1851
+ }
1852
+ ],
1853
+ "output": "_dd.appsec.s.req.params"
1854
+ },
1855
+ {
1856
+ "inputs": [
1857
+ {
1858
+ "address": "server.response.body"
1859
+ }
1860
+ ],
1861
+ "output": "_dd.appsec.s.res.body"
1862
+ },
1863
+ {
1864
+ "inputs": [
1865
+ {
1866
+ "address": "graphql.server.all_resolvers"
1867
+ }
1868
+ ],
1869
+ "output": "_dd.appsec.s.graphql.all_resolvers"
1870
+ },
1871
+ {
1872
+ "inputs": [
1873
+ {
1874
+ "address": "graphql.server.resolver"
1875
+ }
1876
+ ],
1877
+ "output": "_dd.appsec.s.graphql.resolver"
1878
+ }
1879
+ ],
1880
+ "scanners": [
1881
+ {
1882
+ "tags": {
1883
+ "category": "payment"
1884
+ }
1885
+ },
1886
+ {
1887
+ "tags": {
1888
+ "category": "pii"
1889
+ }
1890
+ }
1891
+ ]
1892
+ },
1893
+ "evaluate": false,
1894
+ "output": true
1895
+ },
1896
+ {
1897
+ "id": "extract-headers",
1898
+ "generator": "extract_schema",
1899
+ "conditions": [
1900
+ {
1901
+ "operator": "equals",
1902
+ "parameters": {
1903
+ "inputs": [
1904
+ {
1905
+ "address": "waf.context.processor",
1906
+ "key_path": [
1907
+ "extract-schema"
1908
+ ]
1909
+ }
1910
+ ],
1911
+ "type": "boolean",
1912
+ "value": true
1913
+ }
1914
+ }
1915
+ ],
1916
+ "parameters": {
1917
+ "mappings": [
1918
+ {
1919
+ "inputs": [
1920
+ {
1921
+ "address": "server.request.headers.no_cookies"
1922
+ }
1923
+ ],
1924
+ "output": "_dd.appsec.s.req.headers"
1925
+ },
1926
+ {
1927
+ "inputs": [
1928
+ {
1929
+ "address": "server.response.headers.no_cookies"
1930
+ }
1931
+ ],
1932
+ "output": "_dd.appsec.s.res.headers"
1933
+ }
1934
+ ],
1935
+ "scanners": [
1936
+ {
1937
+ "tags": {
1938
+ "category": "credentials"
1939
+ }
1940
+ },
1941
+ {
1942
+ "tags": {
1943
+ "category": "pii"
1944
+ }
1945
+ }
1946
+ ]
1947
+ },
1948
+ "evaluate": false,
1949
+ "output": true
1950
+ },
1951
+ {
1952
+ "id": "http-header-fingerprint",
1953
+ "generator": "http_header_fingerprint",
1954
+ "conditions": [
1955
+ {
1956
+ "operator": "exists",
1957
+ "parameters": {
1958
+ "inputs": [
1959
+ {
1960
+ "address": "waf.context.event"
1961
+ },
1962
+ {
1963
+ "address": "server.business_logic.users.login.failure"
1964
+ },
1965
+ {
1966
+ "address": "server.business_logic.users.login.success"
1967
+ }
1968
+ ]
1969
+ }
1970
+ }
1971
+ ],
1972
+ "parameters": {
1973
+ "mappings": [
1974
+ {
1975
+ "headers": [
1976
+ {
1977
+ "address": "server.request.headers.no_cookies"
1978
+ }
1979
+ ],
1980
+ "output": "_dd.appsec.fp.http.header"
1981
+ }
1982
+ ]
1983
+ },
1984
+ "evaluate": false,
1985
+ "output": true
1986
+ },
1987
+ {
1988
+ "id": "http-network-fingerprint",
1989
+ "generator": "http_network_fingerprint",
1990
+ "conditions": [
1991
+ {
1992
+ "operator": "exists",
1993
+ "parameters": {
1994
+ "inputs": [
1995
+ {
1996
+ "address": "waf.context.event"
1997
+ },
1998
+ {
1999
+ "address": "server.business_logic.users.login.failure"
2000
+ },
2001
+ {
2002
+ "address": "server.business_logic.users.login.success"
2003
+ }
2004
+ ]
2005
+ }
2006
+ }
2007
+ ],
2008
+ "parameters": {
2009
+ "mappings": [
2010
+ {
2011
+ "headers": [
2012
+ {
2013
+ "address": "server.request.headers.no_cookies"
2014
+ }
2015
+ ],
2016
+ "output": "_dd.appsec.fp.http.network"
2017
+ }
2018
+ ]
2019
+ },
2020
+ "evaluate": false,
2021
+ "output": true
2022
+ },
2023
+ {
2024
+ "id": "session-fingerprint",
2025
+ "generator": "session_fingerprint",
2026
+ "conditions": [
2027
+ {
2028
+ "operator": "exists",
2029
+ "parameters": {
2030
+ "inputs": [
2031
+ {
2032
+ "address": "waf.context.event"
2033
+ },
2034
+ {
2035
+ "address": "server.business_logic.users.login.failure"
2036
+ },
2037
+ {
2038
+ "address": "server.business_logic.users.login.success"
2039
+ }
2040
+ ]
2041
+ }
2042
+ }
2043
+ ],
2044
+ "parameters": {
2045
+ "mappings": [
2046
+ {
2047
+ "cookies": [
2048
+ {
2049
+ "address": "server.request.cookies"
2050
+ }
2051
+ ],
2052
+ "session_id": [
2053
+ {
2054
+ "address": "usr.session_id"
2055
+ }
2056
+ ],
2057
+ "user_id": [
2058
+ {
2059
+ "address": "usr.id"
2060
+ }
2061
+ ],
2062
+ "output": "_dd.appsec.fp.session"
2063
+ }
2064
+ ]
2065
+ },
2066
+ "evaluate": false,
2067
+ "output": true
2068
+ }
2069
+ ],
2070
+ "scanners": [
2071
+ {
2072
+ "id": "406f8606-52c4-4663-8db9-df70f9e8766c",
2073
+ "name": "ZIP Code",
2074
+ "key": {
2075
+ "operator": "match_regex",
2076
+ "parameters": {
2077
+ "regex": "\\b(?:zip|postal)\\b",
2078
+ "options": {
2079
+ "case_sensitive": false,
2080
+ "min_length": 3
2081
+ }
2082
+ }
2083
+ },
2084
+ "value": {
2085
+ "operator": "match_regex",
2086
+ "parameters": {
2087
+ "regex": "^[0-9]{5}(?:-[0-9]{4})?$",
2088
+ "options": {
2089
+ "case_sensitive": true,
2090
+ "min_length": 5
2091
+ }
2092
+ }
2093
+ },
2094
+ "tags": {
2095
+ "type": "zipcode",
2096
+ "category": "address"
2097
+ }
2098
+ },
2099
+ {
2100
+ "id": "JU1sRk3mSzqSUJn6GrVn7g",
2101
+ "name": "American Express Card Scanner (4+4+4+3 digits)",
2102
+ "key": {
2103
+ "operator": "match_regex",
2104
+ "parameters": {
2105
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2106
+ "options": {
2107
+ "case_sensitive": false,
2108
+ "min_length": 3
2109
+ }
2110
+ }
2111
+ },
2112
+ "value": {
2113
+ "operator": "match_regex",
2114
+ "parameters": {
2115
+ "regex": "\\b3[47]\\d{2}(?:(?:\\s\\d{4}\\s\\d{4}\\s\\d{3})|(?:\\,\\d{4}\\,\\d{4}\\,\\d{3})|(?:-\\d{4}-\\d{4}-\\d{3})|(?:\\.\\d{4}\\.\\d{4}\\.\\d{3}))\\b",
2116
+ "options": {
2117
+ "case_sensitive": false,
2118
+ "min_length": 16
2119
+ }
2120
+ }
2121
+ },
2122
+ "tags": {
2123
+ "type": "card",
2124
+ "card_type": "amex",
2125
+ "category": "payment"
2126
+ }
2127
+ },
2128
+ {
2129
+ "id": "edmH513UTQWcRiQ9UnzHlw-mod",
2130
+ "name": "American Express Card Scanner (4+6|5+5|6 digits)",
2131
+ "key": {
2132
+ "operator": "match_regex",
2133
+ "parameters": {
2134
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2135
+ "options": {
2136
+ "case_sensitive": false,
2137
+ "min_length": 3
2138
+ }
2139
+ }
2140
+ },
2141
+ "value": {
2142
+ "operator": "match_regex",
2143
+ "parameters": {
2144
+ "regex": "\\b3[47]\\d{2}(?:(?:\\s\\d{5,6}\\s\\d{5,6})|(?:\\.\\d{5,6}\\.\\d{5,6})|(?:-\\d{5,6}-\\d{5,6})|(?:,\\d{5,6},\\d{5,6}))\\b",
2145
+ "options": {
2146
+ "case_sensitive": false,
2147
+ "min_length": 17
2148
+ }
2149
+ }
2150
+ },
2151
+ "tags": {
2152
+ "type": "card",
2153
+ "card_type": "amex",
2154
+ "category": "payment"
2155
+ }
2156
+ },
2157
+ {
2158
+ "id": "e6K4h_7qTLaMiAbaNXoSZA",
2159
+ "name": "American Express Card Scanner (8+7 digits)",
2160
+ "key": {
2161
+ "operator": "match_regex",
2162
+ "parameters": {
2163
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2164
+ "options": {
2165
+ "case_sensitive": false,
2166
+ "min_length": 3
2167
+ }
2168
+ }
2169
+ },
2170
+ "value": {
2171
+ "operator": "match_regex",
2172
+ "parameters": {
2173
+ "regex": "\\b3[47]\\d{6}(?:(?:\\s\\d{7})|(?:\\,\\d{7})|(?:-\\d{7})|(?:\\.\\d{7}))\\b",
2174
+ "options": {
2175
+ "case_sensitive": false,
2176
+ "min_length": 16
2177
+ }
2178
+ }
2179
+ },
2180
+ "tags": {
2181
+ "type": "card",
2182
+ "card_type": "amex",
2183
+ "category": "payment"
2184
+ }
2185
+ },
2186
+ {
2187
+ "id": "K2rZflWzRhGM9HiTc6whyQ",
2188
+ "name": "American Express Card Scanner (1x15 digits)",
2189
+ "key": {
2190
+ "operator": "match_regex",
2191
+ "parameters": {
2192
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2193
+ "options": {
2194
+ "case_sensitive": false,
2195
+ "min_length": 3
2196
+ }
2197
+ }
2198
+ },
2199
+ "value": {
2200
+ "operator": "match_regex",
2201
+ "parameters": {
2202
+ "regex": "\\b3[47]\\d{13}\\b",
2203
+ "options": {
2204
+ "case_sensitive": false,
2205
+ "min_length": 15
2206
+ }
2207
+ }
2208
+ },
2209
+ "tags": {
2210
+ "type": "card",
2211
+ "card_type": "amex",
2212
+ "category": "payment"
2213
+ }
2214
+ },
2215
+ {
2216
+ "id": "9d7756e343cefa22a5c098e1092590f806eb5446",
2217
+ "name": "Basic Authentication Scanner",
2218
+ "key": {
2219
+ "operator": "match_regex",
2220
+ "parameters": {
2221
+ "regex": "\\bauthorization\\b",
2222
+ "options": {
2223
+ "case_sensitive": false,
2224
+ "min_length": 13
2225
+ }
2226
+ }
2227
+ },
2228
+ "value": {
2229
+ "operator": "match_regex",
2230
+ "parameters": {
2231
+ "regex": "^basic\\s+[A-Za-z0-9+/=]+",
2232
+ "options": {
2233
+ "case_sensitive": false,
2234
+ "min_length": 7
2235
+ }
2236
+ }
2237
+ },
2238
+ "tags": {
2239
+ "type": "basic_auth",
2240
+ "category": "credentials"
2241
+ }
2242
+ },
2243
+ {
2244
+ "id": "mZy8XjZLReC9smpERXWnnw",
2245
+ "name": "Bearer Authentication Scanner",
2246
+ "key": {
2247
+ "operator": "match_regex",
2248
+ "parameters": {
2249
+ "regex": "\\bauthorization\\b",
2250
+ "options": {
2251
+ "case_sensitive": false,
2252
+ "min_length": 13
2253
+ }
2254
+ }
2255
+ },
2256
+ "value": {
2257
+ "operator": "match_regex",
2258
+ "parameters": {
2259
+ "regex": "^bearer\\s+[-a-z0-9._~+/]{4,}",
2260
+ "options": {
2261
+ "case_sensitive": false,
2262
+ "min_length": 11
2263
+ }
2264
+ }
2265
+ },
2266
+ "tags": {
2267
+ "type": "bearer_token",
2268
+ "category": "credentials"
2269
+ }
2270
+ },
2271
+ {
2272
+ "id": "450239afc250a19799b6c03dc0e16fd6a4b2a1af",
2273
+ "name": "Canadian Social Insurance Number Scanner",
2274
+ "key": {
2275
+ "operator": "match_regex",
2276
+ "parameters": {
2277
+ "regex": "\\b(?:social[\\s_]?(?:insurance(?:\\s+number)?)?|SIN|Canadian[\\s_]?(?:social[\\s_]?(?:insurance)?|insurance[\\s_]?number)?)\\b",
2278
+ "options": {
2279
+ "case_sensitive": false,
2280
+ "min_length": 3
2281
+ }
2282
+ }
2283
+ },
2284
+ "value": {
2285
+ "operator": "match_regex",
2286
+ "parameters": {
2287
+ "regex": "\\b\\d{3}-\\d{3}-\\d{3}\\b",
2288
+ "options": {
2289
+ "case_sensitive": false,
2290
+ "min_length": 11
2291
+ }
2292
+ }
2293
+ },
2294
+ "tags": {
2295
+ "type": "canadian_sin",
2296
+ "category": "pii"
2297
+ }
2298
+ },
2299
+ {
2300
+ "id": "87a879ff33693b46c8a614d8211f5a2c289beca0",
2301
+ "name": "Digest Authentication Scanner",
2302
+ "key": {
2303
+ "operator": "match_regex",
2304
+ "parameters": {
2305
+ "regex": "\\bauthorization\\b",
2306
+ "options": {
2307
+ "case_sensitive": false,
2308
+ "min_length": 13
2309
+ }
2310
+ }
2311
+ },
2312
+ "value": {
2313
+ "operator": "match_regex",
2314
+ "parameters": {
2315
+ "regex": "^digest\\s+",
2316
+ "options": {
2317
+ "case_sensitive": false,
2318
+ "min_length": 7
2319
+ }
2320
+ }
2321
+ },
2322
+ "tags": {
2323
+ "type": "digest_auth",
2324
+ "category": "credentials"
2325
+ }
2326
+ },
2327
+ {
2328
+ "id": "qWumeP1GQUa_E4ffAnT-Yg",
2329
+ "name": "American Express Card Scanner (1x14 digits)",
2330
+ "key": {
2331
+ "operator": "match_regex",
2332
+ "parameters": {
2333
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2334
+ "options": {
2335
+ "case_sensitive": false,
2336
+ "min_length": 3
2337
+ }
2338
+ }
2339
+ },
2340
+ "value": {
2341
+ "operator": "match_regex",
2342
+ "parameters": {
2343
+ "regex": "(?:30[0-59]\\d|3[689]\\d{2})(?:\\d{10})",
2344
+ "options": {
2345
+ "case_sensitive": false,
2346
+ "min_length": 14
2347
+ }
2348
+ }
2349
+ },
2350
+ "tags": {
2351
+ "type": "card",
2352
+ "card_type": "diners",
2353
+ "category": "payment"
2354
+ }
2355
+ },
2356
+ {
2357
+ "id": "NlTWWM5LS6W0GSqBLuvtRw",
2358
+ "name": "Diners Card Scanner (4+4+4+2 digits)",
2359
+ "key": {
2360
+ "operator": "match_regex",
2361
+ "parameters": {
2362
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2363
+ "options": {
2364
+ "case_sensitive": false,
2365
+ "min_length": 3
2366
+ }
2367
+ }
2368
+ },
2369
+ "value": {
2370
+ "operator": "match_regex",
2371
+ "parameters": {
2372
+ "regex": "\\b(?:30[0-59]\\d|3[689]\\d{2})(?:(?:\\s\\d{4}\\s\\d{4}\\s\\d{2})|(?:\\,\\d{4}\\,\\d{4}\\,\\d{2})|(?:-\\d{4}-\\d{4}-\\d{2})|(?:\\.\\d{4}\\.\\d{4}\\.\\d{2}))\\b",
2373
+ "options": {
2374
+ "case_sensitive": false,
2375
+ "min_length": 17
2376
+ }
2377
+ }
2378
+ },
2379
+ "tags": {
2380
+ "type": "card",
2381
+ "card_type": "diners",
2382
+ "category": "payment"
2383
+ }
2384
+ },
2385
+ {
2386
+ "id": "Xr5VdbQSTXitYGGiTfxBpw",
2387
+ "name": "Diners Card Scanner (4+6+4 digits)",
2388
+ "key": {
2389
+ "operator": "match_regex",
2390
+ "parameters": {
2391
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2392
+ "options": {
2393
+ "case_sensitive": false,
2394
+ "min_length": 3
2395
+ }
2396
+ }
2397
+ },
2398
+ "value": {
2399
+ "operator": "match_regex",
2400
+ "parameters": {
2401
+ "regex": "\\b(?:30[0-59]\\d|3[689]\\d{2})(?:(?:\\s\\d{6}\\s\\d{4})|(?:\\.\\d{6}\\.\\d{4})|(?:-\\d{6}-\\d{4})|(?:,\\d{6},\\d{4}))\\b",
2402
+ "options": {
2403
+ "case_sensitive": false,
2404
+ "min_length": 16
2405
+ }
2406
+ }
2407
+ },
2408
+ "tags": {
2409
+ "type": "card",
2410
+ "card_type": "diners",
2411
+ "category": "payment"
2412
+ }
2413
+ },
2414
+ {
2415
+ "id": "gAbunN_WQNytxu54DjcbAA-mod",
2416
+ "name": "Diners Card Scanner (8+6 digits)",
2417
+ "key": {
2418
+ "operator": "match_regex",
2419
+ "parameters": {
2420
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2421
+ "options": {
2422
+ "case_sensitive": false,
2423
+ "min_length": 3
2424
+ }
2425
+ }
2426
+ },
2427
+ "value": {
2428
+ "operator": "match_regex",
2429
+ "parameters": {
2430
+ "regex": "\\b(?:30[0-59]\\d{5}|3[689]\\d{6})\\s?(?:(?:\\s\\d{6})|(?:\\,\\d{6})|(?:-\\d{6})|(?:\\.\\d{6}))\\b",
2431
+ "options": {
2432
+ "case_sensitive": false,
2433
+ "min_length": 14
2434
+ }
2435
+ }
2436
+ },
2437
+ "tags": {
2438
+ "type": "card",
2439
+ "card_type": "diners",
2440
+ "category": "payment"
2441
+ }
2442
+ },
2443
+ {
2444
+ "id": "9cs4qCfEQBeX17U7AepOvQ",
2445
+ "name": "MasterCard Scanner (2x8 digits)",
2446
+ "key": {
2447
+ "operator": "match_regex",
2448
+ "parameters": {
2449
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2450
+ "options": {
2451
+ "case_sensitive": false,
2452
+ "min_length": 3
2453
+ }
2454
+ }
2455
+ },
2456
+ "value": {
2457
+ "operator": "match_regex",
2458
+ "parameters": {
2459
+ "regex": "\\b(?:6221(?:2[6-9]|[3-9][0-9])\\d{2}(?:,\\d{8}|\\s\\d{8}|-\\d{8}|\\.\\d{8})|6229(?:[01][0-9]|2[0-5])\\d{2}(?:,\\d{8}|\\s\\d{8}|-\\d{8}|\\.\\d{8})|(?:6011|65\\d{2}|64[4-9]\\d|622[2-8])\\d{4}(?:,\\d{8}|\\s\\d{8}|-\\d{8}|\\.\\d{8}))\\b",
2460
+ "options": {
2461
+ "case_sensitive": false,
2462
+ "min_length": 16
2463
+ }
2464
+ }
2465
+ },
2466
+ "tags": {
2467
+ "type": "card",
2468
+ "card_type": "discover",
2469
+ "category": "payment"
2470
+ }
2471
+ },
2472
+ {
2473
+ "id": "YBIDWJIvQWW_TFOyU0CGJg",
2474
+ "name": "Discover Card Scanner (4x4 digits)",
2475
+ "key": {
2476
+ "operator": "match_regex",
2477
+ "parameters": {
2478
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2479
+ "options": {
2480
+ "case_sensitive": false,
2481
+ "min_length": 3
2482
+ }
2483
+ }
2484
+ },
2485
+ "value": {
2486
+ "operator": "match_regex",
2487
+ "parameters": {
2488
+ "regex": "\\b(?:(?:(?:6221(?:2[6-9]|[3-9][0-9])\\d{2}(?:,\\d{4}){2})|(?:6221\\s(?:2[6-9]|[3-9][0-9])\\d{2}(?:\\s\\d{4}){2})|(?:6221\\.(?:2[6-9]|[3-9][0-9])\\d{2}(?:\\.\\d{4}){2})|(?:6221-(?:2[6-9]|[3-9][0-9])\\d{2}(?:-\\d{4}){2}))|(?:(?:6229(?:[01][0-9]|2[0-5])\\d{2}(?:,\\d{4}){2})|(?:6229\\s(?:[01][0-9]|2[0-5])\\d{2}(?:\\s\\d{4}){2})|(?:6229\\.(?:[01][0-9]|2[0-5])\\d{2}(?:\\.\\d{4}){2})|(?:6229-(?:[01][0-9]|2[0-5])\\d{2}(?:-\\d{4}){2}))|(?:(?:6011|65\\d{2}|64[4-9]\\d|622[2-8])(?:(?:\\s\\d{4}){3}|(?:\\.\\d{4}){3}|(?:-\\d{4}){3}|(?:,\\d{4}){3})))\\b",
2489
+ "options": {
2490
+ "case_sensitive": false,
2491
+ "min_length": 16
2492
+ }
2493
+ }
2494
+ },
2495
+ "tags": {
2496
+ "type": "card",
2497
+ "card_type": "discover",
2498
+ "category": "payment"
2499
+ }
2500
+ },
2501
+ {
2502
+ "id": "12cpbjtVTMaMutFhh9sojQ",
2503
+ "name": "Discover Card Scanner (1x16 digits)",
2504
+ "key": {
2505
+ "operator": "match_regex",
2506
+ "parameters": {
2507
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2508
+ "options": {
2509
+ "case_sensitive": false,
2510
+ "min_length": 3
2511
+ }
2512
+ }
2513
+ },
2514
+ "value": {
2515
+ "operator": "match_regex",
2516
+ "parameters": {
2517
+ "regex": "\\b(?:6221(?:2[6-9]|[3-9][0-9])\\d{10}|6229(?:[01][0-9]|2[0-5])\\d{10}|(?:6011|65\\d{2}|64[4-9]\\d|622[2-8])\\d{12})\\b",
2518
+ "options": {
2519
+ "case_sensitive": false,
2520
+ "min_length": 16
2521
+ }
2522
+ }
2523
+ },
2524
+ "tags": {
2525
+ "type": "card",
2526
+ "card_type": "discover",
2527
+ "category": "payment"
2528
+ }
2529
+ },
2530
+ {
2531
+ "id": "PuXiVTCkTHOtj0Yad1ppsw",
2532
+ "name": "Standard E-mail Address",
2533
+ "key": {
2534
+ "operator": "match_regex",
2535
+ "parameters": {
2536
+ "regex": "\\b(?:(?:e[-\\s]?)?mail|address|sender|\\bto\\b|from|recipient)\\b",
2537
+ "options": {
2538
+ "case_sensitive": false,
2539
+ "min_length": 2
2540
+ }
2541
+ }
2542
+ },
2543
+ "value": {
2544
+ "operator": "match_regex",
2545
+ "parameters": {
2546
+ "regex": "\\b[\\w!#$%&'*+/=?`{|}~^-]+(?:\\.[\\w!#$%&'*+/=?`{|}~^-]+)*(%40|@)(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,6}\\b",
2547
+ "options": {
2548
+ "case_sensitive": false,
2549
+ "min_length": 5
2550
+ }
2551
+ }
2552
+ },
2553
+ "tags": {
2554
+ "type": "email",
2555
+ "category": "pii"
2556
+ }
2557
+ },
2558
+ {
2559
+ "id": "8VS2RKxzR8a_95L5fuwaXQ",
2560
+ "name": "IBAN",
2561
+ "key": {
2562
+ "operator": "match_regex",
2563
+ "parameters": {
2564
+ "regex": "\\b(?:iban|account|sender|receiver)\\b",
2565
+ "options": {
2566
+ "case_sensitive": false,
2567
+ "min_length": 3
2568
+ }
2569
+ }
2570
+ },
2571
+ "value": {
2572
+ "operator": "match_regex",
2573
+ "parameters": {
2574
+ "regex": "\\b(?:NO\\d{2}(?:[ \\-]?\\d{4}){2}[ \\-]?\\d{3}|BE\\d{2}(?:[ \\-]?\\d{4}){3}|(?:DK|FO|FI|GL|SD)\\d{2}(?:[ \\-]?\\d{4}){3}[ \\-]?\\d{2}|NL\\d{2}[ \\-]?[A-Z]{4}(?:[ \\-]?\\d{4}){2}[ \\-]?\\d{2}|MK\\d{2}[ \\-]?\\d{3}[A-Z0-9](?:[ \\-]?[A-Z0-9]{4}){2}[ \\-]?[A-Z0-9]\\d{2}|SI\\d{17}|(?:AT|BA|EE|LT|XK)\\d{18}|(?:LU|KZ|EE|LT)\\d{5}[A-Z0-9]{13}|LV\\d{2}[A-Z]{4}[A-Z0-9]{13}|(?:LI|CH)\\d{2}[ \\-]?\\d{4}[ \\-]?\\d[A-Z0-9]{3}(?:[ \\-]?[A-Z0-9]{4}){2}[ \\-]?[A-Z0-9]|HR\\d{2}(?:[ \\-]?\\d{4}){4}[ \\-]?\\d|GE\\d{2}[ \\-]?[A-Z0-9]{2}\\d{2}\\d{14}|VA\\d{20}|BG\\d{2}[A-Z]{4}\\d{6}[A-Z0-9]{8}|BH\\d{2}[A-Z]{4}[A-Z0-9]{14}|GB\\d{2}[A-Z]{4}(?:[ \\-]?\\d{4}){3}[ \\-]?\\d{2}|IE\\d{2}[ \\-]?[A-Z0-9]{4}(?:[ \\-]?\\d{4}){3}[ \\-]?\\d{2}|(?:CR|DE|ME|RS)\\d{2}(?:[ \\-]?\\d{4}){4}[ \\-]?\\d{2}|(?:AE|TL|IL)\\d{2}(?:[ \\-]?\\d{4}){4}[ \\-]?\\d{3}|GI\\d{2}[ \\-]?[A-Z]{4}(?:[ \\-]?[A-Z0-9]{4}){3}[ \\-]?[A-Z0-9]{3}|IQ\\d{2}[ \\-]?[A-Z]{4}(?:[ \\-]?\\d{4}){3}[ \\-]?\\d{3}|MD\\d{2}(?:[ \\-]?[A-Z0-9]{4}){5}|SA\\d{2}[ \\-]?\\d{2}[A-Z0-9]{2}(?:[ \\-]?[A-Z0-9]{4}){4}|RO\\d{2}[ \\-]?[A-Z]{4}(?:[ \\-]?[A-Z0-9]{4}){4}|(?:PK|VG)\\d{2}[ \\-]?[A-Z0-9]{4}(?:[ \\-]?\\d{4}){4}|AD\\d{2}(?:[ \\-]?\\d{4}){2}(?:[ \\-]?[A-Z0-9]{4}){3}|(?:CZ|SK|ES|SE|TN)\\d{2}(?:[ \\-]?\\d{4}){5}|(?:LY|PT|ST)\\d{2}(?:[ \\-]?\\d{4}){5}[ \\-]?\\d|TR\\d{2}[ \\-]?\\d{4}[ \\-]?\\d[A-Z0-9]{3}(?:[ \\-]?[A-Z0-9]{4}){3}[ \\-]?[A-Z0-9]{2}|IS\\d{2}(?:[ \\-]?\\d{4}){5}[ \\-]?\\d{2}|(?:IT|SM)\\d{2}[ \\-]?[A-Z]\\d{3}[ \\-]?\\d{4}[ \\-]?\\d{3}[A-Z0-9](?:[ \\-]?[A-Z0-9]{4}){2}[ \\-]?[A-Z0-9]{3}|GR\\d{2}[ \\-]?\\d{4}[ \\-]?\\d{3}[A-Z0-9](?:[ \\-]?[A-Z0-9]{4}){3}[A-Z0-9]{3}|(?:FR|MC)\\d{2}(?:[ \\-]?\\d{4}){2}[ \\-]?\\d{2}[A-Z0-9]{2}(?:[ \\-]?[A-Z0-9]{4}){2}[ \\-]?[A-Z0-9]\\d{2}|MR\\d{2}(?:[ \\-]?\\d{4}){5}[ \\-]?\\d{3}|(?:SV|DO)\\d{2}[ \\-]?[A-Z]{4}(?:[ \\-]?\\d{4}){5}|BY\\d{2}[ \\-]?[A-Z]{4}[ \\-]?\\d{4}(?:[ \\-]?[A-Z0-9]{4}){4}|GT\\d{2}(?:[ \\-]?[A-Z0-9]{4}){6}|AZ\\d{2}[ \\-]?[A-Z0-9]{4}(?:[ \\-]?\\d{5}){4}|LB\\d{2}[ \\-]?\\d{4}(?:[ \\-]?[A-Z0-9]{5}){4}|(?:AL|CY)\\d{2}(?:[ \\-]?\\d{4}){2}(?:[ \\-]?[A-Z0-9]{4}){4}|(?:HU|PL)\\d{2}(?:[ \\-]?\\d{4}){6}|QA\\d{2}[ \\-]?[A-Z]{4}(?:[ \\-]?[A-Z0-9]{4}){5}[ \\-]?[A-Z0-9]|PS\\d{2}[ \\-]?[A-Z0-9]{4}(?:[ \\-]?\\d{4}){5}[ \\-]?\\d|UA\\d{2}[ \\-]?\\d{4}[ \\-]?\\d{2}[A-Z0-9]{2}(?:[ \\-]?[A-Z0-9]{4}){4}[ \\-]?[A-Z0-9]|BR\\d{2}(?:[ \\-]?\\d{4}){5}[ \\-]?\\d{3}[A-Z0-9][ \\-]?[A-Z0-9]|EG\\d{2}(?:[ \\-]?\\d{4}){6}\\d|MU\\d{2}[ \\-]?[A-Z]{4}(?:[ \\-]?\\d{4}){4}\\d{3}[A-Z][ \\-]?[A-Z]{2}|(?:KW|JO)\\d{2}[ \\-]?[A-Z]{4}(?:[ \\-]?[A-Z0-9]{4}){5}[ \\-]?[A-Z0-9]{2}|MT\\d{2}[ \\-]?[A-Z]{4}[ \\-]?\\d{4}[ \\-]?\\d[A-Z0-9]{3}(?:[ \\-]?[A-Z0-9]{3}){4}[ \\-]?[A-Z0-9]{3}|SC\\d{2}[ \\-]?[A-Z]{4}(?:[ \\-]?\\d{4}){5}[ \\-]?[A-Z]{3}|LC\\d{2}[ \\-]?[A-Z]{4}(?:[ \\-]?[A-Z0-9]{4}){6})\\b",
2575
+ "options": {
2576
+ "case_sensitive": false,
2577
+ "min_length": 15
2578
+ }
2579
+ }
2580
+ },
2581
+ "tags": {
2582
+ "type": "iban",
2583
+ "category": "payment"
2584
+ }
2585
+ },
2586
+ {
2587
+ "id": "h6WJcecQTwqvN9KeEtwDvg",
2588
+ "name": "JCB Card Scanner (1x16 digits)",
2589
+ "key": {
2590
+ "operator": "match_regex",
2591
+ "parameters": {
2592
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2593
+ "options": {
2594
+ "case_sensitive": false,
2595
+ "min_length": 3
2596
+ }
2597
+ }
2598
+ },
2599
+ "value": {
2600
+ "operator": "match_regex",
2601
+ "parameters": {
2602
+ "regex": "\\b35(?:2[89]|[3-9][0-9])(?:\\d{12})\\b",
2603
+ "options": {
2604
+ "case_sensitive": false,
2605
+ "min_length": 16
2606
+ }
2607
+ }
2608
+ },
2609
+ "tags": {
2610
+ "type": "card",
2611
+ "card_type": "jcb",
2612
+ "category": "payment"
2613
+ }
2614
+ },
2615
+ {
2616
+ "id": "gcEaMu_VSJ2-bGCEkgyC0w",
2617
+ "name": "JCB Card Scanner (2x8 digits)",
2618
+ "key": {
2619
+ "operator": "match_regex",
2620
+ "parameters": {
2621
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2622
+ "options": {
2623
+ "case_sensitive": false,
2624
+ "min_length": 3
2625
+ }
2626
+ }
2627
+ },
2628
+ "value": {
2629
+ "operator": "match_regex",
2630
+ "parameters": {
2631
+ "regex": "\\b35(?:2[89]|[3-9][0-9])\\d{4}(?:(?:,\\d{8})|(?:-\\d{8})|(?:\\s\\d{8})|(?:\\.\\d{8}))\\b",
2632
+ "options": {
2633
+ "case_sensitive": false,
2634
+ "min_length": 17
2635
+ }
2636
+ }
2637
+ },
2638
+ "tags": {
2639
+ "type": "card",
2640
+ "card_type": "jcb",
2641
+ "category": "payment"
2642
+ }
2643
+ },
2644
+ {
2645
+ "id": "imTliuhXT5GAeRNhqChXQQ",
2646
+ "name": "JCB Card Scanner (4x4 digits)",
2647
+ "key": {
2648
+ "operator": "match_regex",
2649
+ "parameters": {
2650
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2651
+ "options": {
2652
+ "case_sensitive": false,
2653
+ "min_length": 3
2654
+ }
2655
+ }
2656
+ },
2657
+ "value": {
2658
+ "operator": "match_regex",
2659
+ "parameters": {
2660
+ "regex": "\\b35(?:2[89]|[3-9][0-9])(?:(?:\\s\\d{4}){3}|(?:\\.\\d{4}){3}|(?:-\\d{4}){3}|(?:,\\d{4}){3})\\b",
2661
+ "options": {
2662
+ "case_sensitive": false,
2663
+ "min_length": 16
2664
+ }
2665
+ }
2666
+ },
2667
+ "tags": {
2668
+ "type": "card",
2669
+ "card_type": "jcb",
2670
+ "category": "payment"
2671
+ }
2672
+ },
2673
+ {
2674
+ "id": "9osY3xc9Q7ONAV0zw9Uz4A",
2675
+ "name": "JSON Web Token",
2676
+ "value": {
2677
+ "operator": "match_regex",
2678
+ "parameters": {
2679
+ "regex": "\\bey[I-L][\\w=-]+\\.ey[I-L][\\w=-]+(\\.[\\w.+\\/=-]+)?\\b",
2680
+ "options": {
2681
+ "case_sensitive": false,
2682
+ "min_length": 20
2683
+ }
2684
+ }
2685
+ },
2686
+ "tags": {
2687
+ "type": "json_web_token",
2688
+ "category": "credentials"
2689
+ }
2690
+ },
2691
+ {
2692
+ "id": "d1Q9D3YMRxuVKf6CZInJPw",
2693
+ "name": "Maestro Card Scanner (1x16 digits)",
2694
+ "key": {
2695
+ "operator": "match_regex",
2696
+ "parameters": {
2697
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2698
+ "options": {
2699
+ "case_sensitive": false,
2700
+ "min_length": 3
2701
+ }
2702
+ }
2703
+ },
2704
+ "value": {
2705
+ "operator": "match_regex",
2706
+ "parameters": {
2707
+ "regex": "\\b(?:5[06-9]\\d{2}|6\\d{3})(?:\\d{12})\\b",
2708
+ "options": {
2709
+ "case_sensitive": false,
2710
+ "min_length": 16
2711
+ }
2712
+ }
2713
+ },
2714
+ "tags": {
2715
+ "type": "card",
2716
+ "card_type": "maestro",
2717
+ "category": "payment"
2718
+ }
2719
+ },
2720
+ {
2721
+ "id": "M3YIQKKjRVmoeQuM3pjzrw",
2722
+ "name": "Maestro Card Scanner (2x8 digits)",
2723
+ "key": {
2724
+ "operator": "match_regex",
2725
+ "parameters": {
2726
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2727
+ "options": {
2728
+ "case_sensitive": false,
2729
+ "min_length": 3
2730
+ }
2731
+ }
2732
+ },
2733
+ "value": {
2734
+ "operator": "match_regex",
2735
+ "parameters": {
2736
+ "regex": "\\b(?:5[06-9]\\d{6}|6\\d{7})(?:\\s\\d{8}|\\.\\d{8}|-\\d{8}|,\\d{8})\\b",
2737
+ "options": {
2738
+ "case_sensitive": false,
2739
+ "min_length": 17
2740
+ }
2741
+ }
2742
+ },
2743
+ "tags": {
2744
+ "type": "card",
2745
+ "card_type": "maestro",
2746
+ "category": "payment"
2747
+ }
2748
+ },
2749
+ {
2750
+ "id": "hRxiQBlSSVKcjh5U7LZYLA",
2751
+ "name": "Maestro Card Scanner (4x4 digits)",
2752
+ "key": {
2753
+ "operator": "match_regex",
2754
+ "parameters": {
2755
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2756
+ "options": {
2757
+ "case_sensitive": false,
2758
+ "min_length": 3
2759
+ }
2760
+ }
2761
+ },
2762
+ "value": {
2763
+ "operator": "match_regex",
2764
+ "parameters": {
2765
+ "regex": "\\b(?:5[06-9]\\d{2}|6\\d{3})(?:(?:\\s\\d{4}){3}|(?:\\.\\d{4}){3}|(?:-\\d{4}){3}|(?:,\\d{4}){3})\\b",
2766
+ "options": {
2767
+ "case_sensitive": false,
2768
+ "min_length": 16
2769
+ }
2770
+ }
2771
+ },
2772
+ "tags": {
2773
+ "type": "card",
2774
+ "card_type": "maestro",
2775
+ "category": "payment"
2776
+ }
2777
+ },
2778
+ {
2779
+ "id": "NwhIYNS4STqZys37WlaIKA",
2780
+ "name": "MasterCard Scanner (2x8 digits)",
2781
+ "key": {
2782
+ "operator": "match_regex",
2783
+ "parameters": {
2784
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2785
+ "options": {
2786
+ "case_sensitive": false,
2787
+ "min_length": 3
2788
+ }
2789
+ }
2790
+ },
2791
+ "value": {
2792
+ "operator": "match_regex",
2793
+ "parameters": {
2794
+ "regex": "\\b(?:(?:5[1-5]\\d{2})|(?:222[1-9])|(?:22[3-9]\\d)|(?:2[3-6]\\d{2})|(?:27[0-1]\\d)|(?:2720))(?:(?:\\d{4}(?:(?:,\\d{8})|(?:-\\d{8})|(?:\\s\\d{8})|(?:\\.\\d{8}))))\\b",
2795
+ "options": {
2796
+ "case_sensitive": false,
2797
+ "min_length": 16
2798
+ }
2799
+ }
2800
+ },
2801
+ "tags": {
2802
+ "type": "card",
2803
+ "card_type": "mastercard",
2804
+ "category": "payment"
2805
+ }
2806
+ },
2807
+ {
2808
+ "id": "axxJkyjhRTOuhjwlsA35Vw",
2809
+ "name": "MasterCard Scanner (4x4 digits)",
2810
+ "key": {
2811
+ "operator": "match_regex",
2812
+ "parameters": {
2813
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2814
+ "options": {
2815
+ "case_sensitive": false,
2816
+ "min_length": 3
2817
+ }
2818
+ }
2819
+ },
2820
+ "value": {
2821
+ "operator": "match_regex",
2822
+ "parameters": {
2823
+ "regex": "\\b(?:(?:5[1-5]\\d{2})|(?:222[1-9])|(?:22[3-9]\\d)|(?:2[3-6]\\d{2})|(?:27[0-1]\\d)|(?:2720))(?:(?:\\s\\d{4}){3}|(?:\\.\\d{4}){3}|(?:-\\d{4}){3}|(?:,\\d{4}){3})\\b",
2824
+ "options": {
2825
+ "case_sensitive": false,
2826
+ "min_length": 16
2827
+ }
2828
+ }
2829
+ },
2830
+ "tags": {
2831
+ "type": "card",
2832
+ "card_type": "mastercard",
2833
+ "category": "payment"
2834
+ }
2835
+ },
2836
+ {
2837
+ "id": "76EhmoK3TPqJcpM-fK0pLw",
2838
+ "name": "MasterCard Scanner (1x16 digits)",
2839
+ "key": {
2840
+ "operator": "match_regex",
2841
+ "parameters": {
2842
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
2843
+ "options": {
2844
+ "case_sensitive": false,
2845
+ "min_length": 3
2846
+ }
2847
+ }
2848
+ },
2849
+ "value": {
2850
+ "operator": "match_regex",
2851
+ "parameters": {
2852
+ "regex": "\\b(?:(?:5[1-5]\\d{2})|(?:222[1-9])|(?:22[3-9]\\d)|(?:2[3-6]\\d{2})|(?:27[0-1]\\d)|(?:2720))(?:\\d{12})\\b",
2853
+ "options": {
2854
+ "case_sensitive": false,
2855
+ "min_length": 16
2856
+ }
2857
+ }
2858
+ },
2859
+ "tags": {
2860
+ "type": "card",
2861
+ "card_type": "mastercard",
2862
+ "category": "payment"
2863
+ }
2864
+ },
2865
+ {
2866
+ "id": "18b608bd7a764bff5b2344c0",
2867
+ "name": "Phone number",
2868
+ "key": {
2869
+ "operator": "match_regex",
2870
+ "parameters": {
2871
+ "regex": "\\bphone|number|mobile\\b",
2872
+ "options": {
2873
+ "case_sensitive": false,
2874
+ "min_length": 3
2875
+ }
2876
+ }
2877
+ },
2878
+ "value": {
2879
+ "operator": "match_regex",
2880
+ "parameters": {
2881
+ "regex": "^(?:\\(\\+\\d{1,3}\\)|\\+\\d{1,3}|00\\d{1,3})?[-\\s\\.]?(?:\\(\\d{3}\\)[-\\s\\.]?)?(?:\\d[-\\s\\.]?){6,10}$",
2882
+ "options": {
2883
+ "case_sensitive": false,
2884
+ "min_length": 6
2885
+ }
2886
+ }
2887
+ },
2888
+ "tags": {
2889
+ "type": "phone",
2890
+ "category": "pii"
2891
+ }
2892
+ },
2893
+ {
2894
+ "id": "de0899e0cbaaa812bb624cf04c912071012f616d-mod",
2895
+ "name": "UK National Insurance Number Scanner",
2896
+ "key": {
2897
+ "operator": "match_regex",
2898
+ "parameters": {
2899
+ "regex": "^nin$|\\binsurance\\b",
2900
+ "options": {
2901
+ "case_sensitive": false,
2902
+ "min_length": 3
2903
+ }
2904
+ }
2905
+ },
2906
+ "value": {
2907
+ "operator": "match_regex",
2908
+ "parameters": {
2909
+ "regex": "\\b[A-Z]{2}[\\s-]?\\d{6}[\\s-]?[A-Z]?\\b",
2910
+ "options": {
2911
+ "case_sensitive": false,
2912
+ "min_length": 8
2913
+ }
2914
+ }
2915
+ },
2916
+ "tags": {
2917
+ "type": "uk_nin",
2918
+ "category": "pii"
2919
+ }
2920
+ },
2921
+ {
2922
+ "id": "d962f7ddb3f55041e39195a60ff79d4814a7c331",
2923
+ "name": "US Passport Scanner",
2924
+ "key": {
2925
+ "operator": "match_regex",
2926
+ "parameters": {
2927
+ "regex": "\\bpassport\\b",
2928
+ "options": {
2929
+ "case_sensitive": false,
2930
+ "min_length": 8
2931
+ }
2932
+ }
2933
+ },
2934
+ "value": {
2935
+ "operator": "match_regex",
2936
+ "parameters": {
2937
+ "regex": "\\b[0-9A-Z]{9}\\b|\\b[0-9]{6}[A-Z][0-9]{2}\\b",
2938
+ "options": {
2939
+ "case_sensitive": false,
2940
+ "min_length": 8
2941
+ }
2942
+ }
2943
+ },
2944
+ "tags": {
2945
+ "type": "passport_number",
2946
+ "category": "pii"
2947
+ }
2948
+ },
2949
+ {
2950
+ "id": "7771fc3b-b205-4b93-bcef-28608c5c1b54",
2951
+ "name": "United States Social Security Number Scanner",
2952
+ "key": {
2953
+ "operator": "match_regex",
2954
+ "parameters": {
2955
+ "regex": "\\b(?:SSN|(?:(?:social)?[\\s_]?(?:security)?[\\s_]?(?:number)?)?)\\b",
2956
+ "options": {
2957
+ "case_sensitive": false,
2958
+ "min_length": 3
2959
+ }
2960
+ }
2961
+ },
2962
+ "value": {
2963
+ "operator": "match_regex",
2964
+ "parameters": {
2965
+ "regex": "\\b\\d{3}[-\\s\\.]{1}\\d{2}[-\\s\\.]{1}\\d{4}\\b",
2966
+ "options": {
2967
+ "case_sensitive": false,
2968
+ "min_length": 11
2969
+ }
2970
+ }
2971
+ },
2972
+ "tags": {
2973
+ "type": "us_ssn",
2974
+ "category": "pii"
2975
+ }
2976
+ },
2977
+ {
2978
+ "id": "ac6d683cbac77f6e399a14990793dd8fd0fca333",
2979
+ "name": "US Vehicle Identification Number Scanner",
2980
+ "key": {
2981
+ "operator": "match_regex",
2982
+ "parameters": {
2983
+ "regex": "\\b(?:vehicle[_\\s-]*identification[_\\s-]*number|vin)\\b",
2984
+ "options": {
2985
+ "case_sensitive": false,
2986
+ "min_length": 3
2987
+ }
2988
+ }
2989
+ },
2990
+ "value": {
2991
+ "operator": "match_regex",
2992
+ "parameters": {
2993
+ "regex": "\\b[A-HJ-NPR-Z0-9]{17}\\b",
2994
+ "options": {
2995
+ "case_sensitive": false,
2996
+ "min_length": 17
2997
+ }
2998
+ }
2999
+ },
3000
+ "tags": {
3001
+ "type": "vin",
3002
+ "category": "pii"
3003
+ }
3004
+ },
3005
+ {
3006
+ "id": "wJIgOygRQhKkR69b_9XbRQ",
3007
+ "name": "Visa Card Scanner (2x8 digits)",
3008
+ "key": {
3009
+ "operator": "match_regex",
3010
+ "parameters": {
3011
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
3012
+ "options": {
3013
+ "case_sensitive": false,
3014
+ "min_length": 3
3015
+ }
3016
+ }
3017
+ },
3018
+ "value": {
3019
+ "operator": "match_regex",
3020
+ "parameters": {
3021
+ "regex": "\\b4\\d{3}(?:(?:\\d{4}(?:(?:,\\d{8})|(?:-\\d{8})|(?:\\s\\d{8})|(?:\\.\\d{8}))))\\b",
3022
+ "options": {
3023
+ "case_sensitive": false,
3024
+ "min_length": 16
3025
+ }
3026
+ }
3027
+ },
3028
+ "tags": {
3029
+ "type": "card",
3030
+ "card_type": "visa",
3031
+ "category": "payment"
3032
+ }
3033
+ },
3034
+ {
3035
+ "id": "0o71SJxXQNK7Q6gMbBesFQ",
3036
+ "name": "Visa Card Scanner (4x4 digits)",
3037
+ "key": {
3038
+ "operator": "match_regex",
3039
+ "parameters": {
3040
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
3041
+ "options": {
3042
+ "case_sensitive": false,
3043
+ "min_length": 3
3044
+ }
3045
+ }
3046
+ },
3047
+ "value": {
3048
+ "operator": "match_regex",
3049
+ "parameters": {
3050
+ "regex": "\\b4\\d{3}(?:(?:,\\d{4}){3}|(?:\\s\\d{4}){3}|(?:\\.\\d{4}){3}|(?:-\\d{4}){3})\\b",
3051
+ "options": {
3052
+ "case_sensitive": false,
3053
+ "min_length": 16
3054
+ }
3055
+ }
3056
+ },
3057
+ "tags": {
3058
+ "type": "card",
3059
+ "card_type": "visa",
3060
+ "category": "payment"
3061
+ }
3062
+ },
3063
+ {
3064
+ "id": "QrHD6AfgQm6z-j0wStxTvA",
3065
+ "name": "Visa Card Scanner (1x15 & 1x16 & 1x19 digits)",
3066
+ "key": {
3067
+ "operator": "match_regex",
3068
+ "parameters": {
3069
+ "regex": "\\b(?:card|cc|credit|debit|payment|amex|visa|mastercard|maestro|discover|jcb|diner)\\b",
3070
+ "options": {
3071
+ "case_sensitive": false,
3072
+ "min_length": 3
3073
+ }
3074
+ }
3075
+ },
3076
+ "value": {
3077
+ "operator": "match_regex",
3078
+ "parameters": {
3079
+ "regex": "4[0-9]{12}(?:[0-9]{3})?",
3080
+ "options": {
3081
+ "case_sensitive": false,
3082
+ "min_length": 13
3083
+ }
3084
+ }
3085
+ },
3086
+ "tags": {
3087
+ "type": "card",
3088
+ "card_type": "visa",
3089
+ "category": "payment"
3090
+ }
3091
+ }
1748
3092
  ]
1749
3093
  }