-
Notifications
You must be signed in to change notification settings - Fork 427
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Malicious site protection navigation detection integration #3730
Malicious site protection navigation detection integration #3730
Conversation
2096a74
to
0838920
Compare
import Foundation | ||
import MaliciousSiteProtection | ||
import Networking | ||
import PixelKit | ||
|
||
final class MaliciousSiteProtectionManager: MaliciousSiteDetecting { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a41d843
to
99e6543
Compare
ed4e32b
to
b5fe830
Compare
This PR has been inactive for more than 7 days and will be automatically closed 7 days from now. |
This PR has been closed after 14 days of inactivity. Feel free to reopen it if you plan to continue working on it or have further discussions. |
…ic (#3624) Task/Issue URL: https://app.asana.com/0/1206329551987282/1208836682251611/f Tech Design URL: https://app.asana.com/0/1206329551987282/1207273224076495/f **Description**: This PR extracts the navigation logic for special error pages in its own class. This PR focuses on creating the the entites used to encapsulate the logic for SSL and Malicious site protection
99e6543
to
a76c78f
Compare
b5fe830
to
29703ba
Compare
a76c78f
to
560ef30
Compare
966f6cc
to
4d87dab
Compare
Task/Issue URL: https://app.asana.com/0/1206329551987282/1207151848931030 Tech Design URL: https://app.asana.com/0/1206329551987282/1207273224076495/f **Description**: This PR adds the navigation logic for detecting a malicious site and navigating to a special error page if the site is malicious. The original idea in the tech design was to intercept the Request in `decidePolicyForNavigationAction` and check whether a site is malicious cancelling the request accordingly. We noticed that the above approach increases the page load time of websites due to the logic check. I opted for an approach where in `decidePolicyForNavigationAction` we start the detection task in parallel without waiting and in `decidePolicyForNavigationResponse` we evaluate the task’s result. Another approach I thought of was to perform the logic in the background in `didStartProvisionalNavigation`. The problem with this approach is that is called only for navigation that starts from the main frame so it would not be possible to intercept malicious iFrame URLs.
…3718) Task/Issue URL: https://app.asana.com/0/1206329551987282/1208959082985728/f Tech Design: https://app.asana.com/0/1206329551987282/1207273224076495/f **Description**: This PR addresses the following: 1. Updates the Privacy Icon to use the globe asset when visiting special error pages (SSL error included). 2. Updates the Privacy icon to use the alert asset when the user accepts the risk of visiting a malicious page. 3. Show an updated privacy dashboard for phishing and malware special error pages.
744d6aa
to
e791a06
Compare
Task/Issue URL: https://app.asana.com/0/72649045549333/1207944134334659/f Tech Design URL: https://app.asana.com/0/1206329551987282/1207273224076495/f **Description**: Add Feature flag class as per tech design to check if malicious site protection feature is enabled and should check protection for domain based on the domain privacy preferences.
4d87dab
to
91622ac
Compare
3af5452
to
beba8e0
Compare
I close this PR because after the changes we did to fetch the initial datasets and background fetch it was easier to cherry pick the commit I needed rather than rebase the code. I will open a new PR. |
Task/Issue URL: https://app.asana.com/0/72649045549333/1208758247571054/f
CC: @not-a-rootkit
Description:
Integrate BSK library for malicious threat detection.
Steps to test this PR:
Prerequisites: Return
true
inMaliciousSiteProtectionFeatureFlags.swift
->isMaliciousSiteProtectionEnabled
andshouldDetectMaliciousThreat(forDomain domain: String?) -> Bool
Scenario 1 - Phishing
Scenario 2 - Malware
Scenario 3 - Leave Site Creates an Empty Tab at same index of the tab closed
Definition of Done (Internal Only):
Copy Testing:
’
rather than'
Orientation Testing:
Device Testing:
OS Testing:
Theme Testing:
Internal references:
Software Engineering Expectations
Technical Design Template