Add ShieldAI browser extension with phishing & spam detection (FRE-4576)

- Extension package: Manifest V3, background service worker, content scripts
- Phishing detection engine with heuristic analysis (typosquatting, entropy, TLD, brand impersonation)
- Local URL caching layer (Storage API) for <100ms cached lookups
- Popup UI with protection status, stats, and phishing report button
- Options page for settings management (blocked/allowed domains, feature toggles)
- Server-side extension routes: URL check, phishing report, auth, stats, exposure check
- Tier-aware feature gating (Basic/Plus/Premium)
- 25 passing tests for phishing detection heuristics
- Declarative net request rules for known phishing patterns
- DarkWatch integration for credential exposure checks
- Firefox compatibility layer via build modes

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-05-09 21:53:29 -04:00
parent e5294ec712
commit de0ddac65d
27 changed files with 2591 additions and 1 deletions

View File

@@ -0,0 +1,32 @@
import { defineConfig } from 'vite';
import { resolve } from 'path';
export default defineConfig(({ mode }) => {
const isFirefox = mode === 'firefox';
const targetDir = isFirefox ? 'dist/firefox' : 'dist/chrome';
return {
root: '.',
build: {
outDir: targetDir,
emptyOutDir: true,
rollupOptions: {
input: {
background: resolve(__dirname, 'src/background/index.ts'),
content: resolve(__dirname, 'src/content/index.ts'),
popup: resolve(__dirname, 'src/popup/popup.ts'),
options: resolve(__dirname, 'src/options/options.ts'),
},
output: {
entryFileNames: '[name].js',
},
},
copyPublicDir: true,
},
resolve: {
alias: {
'@': resolve(__dirname, 'src'),
},
},
};
});