This repository was archived by the owner on Feb 24, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 430
Malicious site protection navigation detection integration #3730
Closed
alessandroboron
wants to merge
19
commits into
alessandro/malicious-site-protection
from
alessandro/malicious-site-protection-navigation-detection-integration
Closed
Malicious site protection navigation detection integration #3730
alessandroboron
wants to merge
19
commits into
alessandro/malicious-site-protection
from
alessandro/malicious-site-protection-navigation-detection-integration
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2096a74
to
0838920
Compare
alessandroboron
commented
Dec 16, 2024
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.
Base automatically changed from
alessandro/malicious-site-protection-feature-flags
to
alessandro/malicious-site-protection
January 14, 2025 03:53
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. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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