From e6876087b3b3d66f75fc5f4b5996b1dc97dcf1b0 Mon Sep 17 00:00:00 2001 From: Karan Batavia <118820668+karan-batavia@users.noreply.github.com> Date: Fri, 16 Jun 2023 19:20:48 +0530 Subject: [PATCH 1/2] Ruby/third party sdk secondary (#269) * Added rules for third party sdks in the db * added some more third parties * refactor rules --- config/exclusions/java.yaml | 2 +- rules/sinks/third_parties/sdk/bitly/ruby.yaml | 9 +++++++++ rules/sinks/third_parties/sdk/braze/ruby.yaml | 9 +++++++++ rules/sinks/third_parties/sdk/clearbit/ruby.yaml | 9 +++++++++ rules/sinks/third_parties/sdk/customerio/ruby.yaml | 9 +++++++++ rules/sinks/third_parties/sdk/mapbox/ruby.yaml | 13 +++++++++++++ rules/sinks/third_parties/sdk/pagerduty/ruby.yaml | 9 +++++++++ rules/sinks/third_parties/sdk/paytm/ruby.yaml | 13 +++++++++++++ rules/sinks/third_parties/sdk/prerenderio/ruby.yaml | 9 +++++++++ rules/sinks/third_parties/sdk/pusher/ruby.yaml | 13 +++++++++++++ .../third_parties/sdk/pwned_passwords/ruby.yaml | 9 +++++++++ rules/sinks/third_parties/sdk/twilio/ruby.yaml | 9 +++++++++ rules/sinks/third_parties/sdk/typeform/ruby.yaml | 9 +++++++++ rules/sinks/third_parties/sdk/yahoo/ruby.yaml | 10 ++++++++++ rules/sinks/third_parties/sdk/zendesk/ruby.yaml | 8 ++++++++ 15 files changed, 139 insertions(+), 1 deletion(-) create mode 100644 rules/sinks/third_parties/sdk/bitly/ruby.yaml create mode 100644 rules/sinks/third_parties/sdk/braze/ruby.yaml create mode 100644 rules/sinks/third_parties/sdk/clearbit/ruby.yaml create mode 100644 rules/sinks/third_parties/sdk/customerio/ruby.yaml create mode 100644 rules/sinks/third_parties/sdk/mapbox/ruby.yaml create mode 100644 rules/sinks/third_parties/sdk/pagerduty/ruby.yaml create mode 100644 rules/sinks/third_parties/sdk/paytm/ruby.yaml create mode 100644 rules/sinks/third_parties/sdk/prerenderio/ruby.yaml create mode 100644 rules/sinks/third_parties/sdk/pusher/ruby.yaml create mode 100644 rules/sinks/third_parties/sdk/pwned_passwords/ruby.yaml create mode 100644 rules/sinks/third_parties/sdk/twilio/ruby.yaml create mode 100644 rules/sinks/third_parties/sdk/typeform/ruby.yaml create mode 100644 rules/sinks/third_parties/sdk/yahoo/ruby.yaml create mode 100644 rules/sinks/third_parties/sdk/zendesk/ruby.yaml diff --git a/config/exclusions/java.yaml b/config/exclusions/java.yaml index 2b426343..9ec1c149 100644 --- a/config/exclusions/java.yaml +++ b/config/exclusions/java.yaml @@ -12,4 +12,4 @@ exclusions: - id: Exclusions.Empty name: Exclude file which cannot be read patterns: - - "" + - "" \ No newline at end of file diff --git a/rules/sinks/third_parties/sdk/bitly/ruby.yaml b/rules/sinks/third_parties/sdk/bitly/ruby.yaml new file mode 100644 index 00000000..f72ad402 --- /dev/null +++ b/rules/sinks/third_parties/sdk/bitly/ruby.yaml @@ -0,0 +1,9 @@ +sinks: + + - id: ThirdParties.SDK.Bitly + name: Bitly + domains: + - "bitly.com" + patterns: + - "(?i)bitly.*" + tags: diff --git a/rules/sinks/third_parties/sdk/braze/ruby.yaml b/rules/sinks/third_parties/sdk/braze/ruby.yaml new file mode 100644 index 00000000..82fa85da --- /dev/null +++ b/rules/sinks/third_parties/sdk/braze/ruby.yaml @@ -0,0 +1,9 @@ +sinks: + + - id: ThirdParties.SDK.Braze + name: Braze + domains: + - "braze.com" + patterns: + - "(?i)(braze(_ruby)?).*" + tags: \ No newline at end of file diff --git a/rules/sinks/third_parties/sdk/clearbit/ruby.yaml b/rules/sinks/third_parties/sdk/clearbit/ruby.yaml new file mode 100644 index 00000000..35ac804d --- /dev/null +++ b/rules/sinks/third_parties/sdk/clearbit/ruby.yaml @@ -0,0 +1,9 @@ +sinks: + + - id: ThirdParties.SDK.Clearbit + name: Clearbit + domains: + - "clearbit.com" + patterns: + - "(?i)clearbit.*" + tags: \ No newline at end of file diff --git a/rules/sinks/third_parties/sdk/customerio/ruby.yaml b/rules/sinks/third_parties/sdk/customerio/ruby.yaml new file mode 100644 index 00000000..4d21762b --- /dev/null +++ b/rules/sinks/third_parties/sdk/customerio/ruby.yaml @@ -0,0 +1,9 @@ +sinks: + + - id: ThirdParties.SDK.Customerio + name: Customerio + domains: + - "customer.io" + patterns: + - "(?i)customerio.*" + tags: \ No newline at end of file diff --git a/rules/sinks/third_parties/sdk/mapbox/ruby.yaml b/rules/sinks/third_parties/sdk/mapbox/ruby.yaml new file mode 100644 index 00000000..8749f3e6 --- /dev/null +++ b/rules/sinks/third_parties/sdk/mapbox/ruby.yaml @@ -0,0 +1,13 @@ + +# Sink rule for ThirdParty SDK +# The id follows a format : "ThirdParties.SDK.." + +sinks: + + - id: ThirdParties.SDK.Mapbox + name: Mapbox + domains: + - "mapbox.com" + patterns: + - "(?i)(mapbox-(sdk|rails|gl-rails)).*" + tags: diff --git a/rules/sinks/third_parties/sdk/pagerduty/ruby.yaml b/rules/sinks/third_parties/sdk/pagerduty/ruby.yaml new file mode 100644 index 00000000..f7a67ff7 --- /dev/null +++ b/rules/sinks/third_parties/sdk/pagerduty/ruby.yaml @@ -0,0 +1,9 @@ +sinks: + + - id: ThirdParties.SDK.Pagerduty + name: Pagerduty + domains: + - "pagerduty.com" + patterns: + - "(?i)(pagerduty).*" + tags: \ No newline at end of file diff --git a/rules/sinks/third_parties/sdk/paytm/ruby.yaml b/rules/sinks/third_parties/sdk/paytm/ruby.yaml new file mode 100644 index 00000000..4a6bd9c5 --- /dev/null +++ b/rules/sinks/third_parties/sdk/paytm/ruby.yaml @@ -0,0 +1,13 @@ + +# Sink rule for ThirdParty SDK +# The id follows a format : "ThirdParties.SDK.." + +sinks: + + - id: ThirdParties.SDK.Paytm + name: Paytm + domains: + - "paytm.com" + patterns: + - "(?i)(paytm|paytm-merchant|paytmseller|paytmspree).*" + tags: diff --git a/rules/sinks/third_parties/sdk/prerenderio/ruby.yaml b/rules/sinks/third_parties/sdk/prerenderio/ruby.yaml new file mode 100644 index 00000000..dde7760e --- /dev/null +++ b/rules/sinks/third_parties/sdk/prerenderio/ruby.yaml @@ -0,0 +1,9 @@ +sinks: + + - id: ThirdParties.SDK.Prerender + name: Prerender.io + domains: + - "prerender.io" + patterns: + - "(?i)(prerender_rails(_embedded)?|prerendercloud|prerender_chrome).*" + tags: \ No newline at end of file diff --git a/rules/sinks/third_parties/sdk/pusher/ruby.yaml b/rules/sinks/third_parties/sdk/pusher/ruby.yaml new file mode 100644 index 00000000..e0cd85e2 --- /dev/null +++ b/rules/sinks/third_parties/sdk/pusher/ruby.yaml @@ -0,0 +1,13 @@ + +# Sink rule for ThirdParty SDK +# The id follows a format : "ThirdParties.SDK.." + +sinks: + + - id: ThirdParties.SDK.Pusher + name: Pusher + domains: + - "pusher.com" + patterns: + - "(?i)(pusher).*" + tags: diff --git a/rules/sinks/third_parties/sdk/pwned_passwords/ruby.yaml b/rules/sinks/third_parties/sdk/pwned_passwords/ruby.yaml new file mode 100644 index 00000000..3a743953 --- /dev/null +++ b/rules/sinks/third_parties/sdk/pwned_passwords/ruby.yaml @@ -0,0 +1,9 @@ +sinks: + + - id: ThirdParties.SDK.PwnedPasswords + name: Pwned Passwords + domains: + - "pwnedpasswords.com" + patterns: + - "(?i)(pwned).*" + tags: \ No newline at end of file diff --git a/rules/sinks/third_parties/sdk/twilio/ruby.yaml b/rules/sinks/third_parties/sdk/twilio/ruby.yaml new file mode 100644 index 00000000..b90a8189 --- /dev/null +++ b/rules/sinks/third_parties/sdk/twilio/ruby.yaml @@ -0,0 +1,9 @@ +sinks: + + - id: ThirdParties.SDK.Twilio + name: Twilio + domains: + - "twilio.com" + patterns: + - "(?i)(twilio).*" + tags: \ No newline at end of file diff --git a/rules/sinks/third_parties/sdk/typeform/ruby.yaml b/rules/sinks/third_parties/sdk/typeform/ruby.yaml new file mode 100644 index 00000000..140a9e68 --- /dev/null +++ b/rules/sinks/third_parties/sdk/typeform/ruby.yaml @@ -0,0 +1,9 @@ +sinks: + + - id: ThirdParties.SDK.Typeform + name: Typeform + domains: + - "typeform.com" + patterns: + - "(?i)(typeform).*" + tags: \ No newline at end of file diff --git a/rules/sinks/third_parties/sdk/yahoo/ruby.yaml b/rules/sinks/third_parties/sdk/yahoo/ruby.yaml new file mode 100644 index 00000000..f8a696f2 --- /dev/null +++ b/rules/sinks/third_parties/sdk/yahoo/ruby.yaml @@ -0,0 +1,10 @@ + +sinks: + + - id: ThirdParties.SDK.Yahoo + name: Yahoo + domains: + - "yahoo.com" + patterns: + - "(?i)(yahoo-finance|yahoo_weatherman).*" + tags: diff --git a/rules/sinks/third_parties/sdk/zendesk/ruby.yaml b/rules/sinks/third_parties/sdk/zendesk/ruby.yaml new file mode 100644 index 00000000..bbc66021 --- /dev/null +++ b/rules/sinks/third_parties/sdk/zendesk/ruby.yaml @@ -0,0 +1,8 @@ +sinks: + - id: ThirdParties.SDK.Zendesk + name: Zendesk + domains: + - "zendesk.com" + patterns: + - "(?i)(zendesk_api).*" + tags: From 8f812247bd56f1a55b8cefaec31e2e94a19821b5 Mon Sep 17 00:00:00 2001 From: Pandurang Patil Date: Mon, 19 Jun 2023 11:06:18 +0530 Subject: [PATCH 2/2] Handling of rule to select element split over multiple lines (#270) * Handling of rule to select element split over multiple lines If the tag is split into multiple lines then the existing regex was failing to detect the element. Like the below code sample. Handled respective use case along with the addition of corresponding unit test ``` ``` * rule fix --- rules/collections/webforms/any.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rules/collections/webforms/any.yaml b/rules/collections/webforms/any.yaml index 4055cb2c..47a319fb 100644 --- a/rules/collections/webforms/any.yaml +++ b/rules/collections/webforms/any.yaml @@ -2,5 +2,5 @@ collections: - id: Collections.Webforms name: Webform data collection patterns: - - "^<(?i)(?:\\w{0,}(input|upload)\\w{0,}|\\w{0,}(textarea|Text|TextBox|Select|Field|Autocomplete|Checkbox))" + - "^<(?i)(?:\\w{0,}(input|upload)\\w{0,}|\\w{0,}(textarea|Text|TextBox|Select|Field|Autocomplete|Checkbox))[^>]*.*" tags: