https://github.com/dobin/defenderforchrome
Chrome Plugin for additional security
https://github.com/dobin/defenderforchrome
Last synced: about 1 year ago
JSON representation
Chrome Plugin for additional security
- Host: GitHub
- URL: https://github.com/dobin/defenderforchrome
- Owner: dobin
- License: bsd-2-clause
- Created: 2025-05-17T08:21:52.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-17T10:04:49.000Z (about 1 year ago)
- Last Synced: 2025-05-17T11:20:00.753Z (about 1 year ago)
- Language: JavaScript
- Size: 37.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DefenderForChrome
Chrome Plugin for additional security against some social engineering attacks:
* File download whitelist (`.txt`, `.jpg`, ...) for HTML smuggling
* Clipboard copy blacklist (`powershell.exe`, `mshta.exe`, ...) for ClickFix
## Purpose
This Chrome plugin implements a **whitelist for file extensions**
on file download. This protects against HTML smuggling and other
file based initial access techniques for execbait (like `.js`, `.vbs`, `.exe`).
With this plugin coorporate environments are able to to implement a file
download policy in the browser. As a replacement for content filter
proxy, when moving towards zero trust. Allowed file extensions are defined in `file-whitelist.json`.
There is also a **clipboard blacklist** against the commonly
used ClickFix execbait attack ("press win-r, paste malicious commands, press enter").
The `clipboard-blacklist.json` contains a list
of obviously malicious strings like `powershell` or `mshta`.
## Installation for testing
1) Open `chrome://extensions`
2) Enable `Developer mode`
3) Click `Load unpacked` and select this git repo directory
## Configuration
* `file-whitelist.json`: Define allowed file extensions here
* `clipboard-blacklist.json`: Define prohibited words here
Both are case insensitive.
## Dev Stuff
### Chrome Plugin Permissions
* `notifications`: Show notifications to the user
* `downloads`: Access downloads
* `scripting`, `activeTab`: Inject Clipboard protection
* `storage`: Access whitelists/blacklists
* `web_accessible_resources`: Clipboard blacklist data access
### File Download Filtering
Implemented in `background.js`.
Using chrome functionality.
### Clipboard Filtering
Implemented in `content.js`.
Injected into every page.
## Related Work
[SmuggleShield](https://github.com/RootUp/SmuggleShield) tried to prevent HTML smuggling with machine learning, instead of just filtering file downloads.
[ClipShield](https://github.com/ericlaw1979/clipshield) is a watchdog
which scans the clipboard for malicious things.