-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
feat: implement client side malicious network request detection #25839
Conversation
…n the core repo - working state that blocks c2 requests
CLA Signature Action: Thank you for your submission, we really appreciate it. We ask that you all read and sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just by adding a comment to this pull request with this exact sentence:
By commenting with the above message you are agreeing to the terms of the CLA. Your account will be recorded as agreeing to our CLA so you don't need to sign it again for future contributions to this repository. 1 out of 2 committers have signed the CLA.
|
…they are on has a malicous c2 network request - updated meta metrics to track the type of malicous request
I have read the CLA Document and I hereby sign the CLA |
New and removed dependencies detected. Learn more about Socket for GitHub ↗︎
🚮 Removed packages: npm/@babel/[email protected]), npm/@babel/[email protected]), npm/@babel/[email protected]), npm/@mantine/[email protected]), npm/@mantine/[email protected]), npm/@metamask/[email protected]), npm/[email protected]) |
@@ -10,6 +10,7 @@ describe('isBlockedUrl', () => { | |||
allowedEvents: [], | |||
}); | |||
const phishingController = new PhishingController({ | |||
// @ts-expect-error TODO: Resolve/patch mismatch between messenger types |
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.
Note: This is caused by the major version difference in the base-controller
versions used in phishing-controller
(v6) vs. extension (v5).
The only reason we're not seeing the same error in metamask-controller.js
is because the file hasn't been converted to TypeScript.
@metamaskbot update-policies |
Policies updated |
Builds ready [0b5e4ee]
Page Load Metrics (2443 ± 357 ms)
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #25839 +/- ##
===========================================
- Coverage 70.08% 70.07% -0.01%
===========================================
Files 1414 1414
Lines 49330 49337 +7
Branches 13782 13785 +3
===========================================
Hits 34570 34570
- Misses 14760 14767 +7 ☔ View full report in Codecov by Sentry. |
I have read the CLA Document and I hereby sign the CLA |
…ask/metamask-extension into feat/client-side-detection
Quality Gate passedIssues Measures |
Builds ready [cebf9f0]
Page Load Metrics (1660 ± 41 ms)
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Looks like the commit author info is wrong for the first few commits, resulting in the CLA bot error. That will be resolved when the PR is squashed though. I can override that check when this PR is ready to be merged. |
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.
LGTM for the privacy reviews check, I have confirmed that the new API in the privacy snapshot is not accessed when basic functionalities (or the phishing detection setting) is disabled.
Description
This PR introduces three new updates to the MetaMask extension with the new phishing controller version 12.0.0.
Removal of PhishFort List References: MetaMask no longer has a contract with PhishFort and has also been introducing false positives to the blocklist, all references to the PhishFort blocklist have been removed as we no longer use their list in the new PhishingController version.
Support for Checking Malicious IPFS Domains: The phishing controller now includes support for detecting and blocking known malicious IPFS domains.
Management of a C2 Domain Blocklist: The PhishingController now supports a client-side blocklist specifically for Command & Control (C2) domains. The extension now checks network requests against this blocklist and redirects users the the phishing warning page.
Manual testing steps
https://develop.d3bkcslj57l47p.amplifyapp.com/
have a malicious C2 Request that is on our blocklist.Pre-merge author checklist
Pre-merge reviewer checklist