Skip to content

Conversation

@KelvinTegelaar
Copy link
Contributor

No description provided.

JohnDuprey and others added 13 commits November 13, 2025 23:57
Added permissions for content write access in jobs.

Signed-off-by: John Duprey <john@cyberdrain.com>
This script removes specific Chrome and Edge extension settings from the Windows registry, including managed storage and extension settings keys.

Signed-off-by: Roel van der Wegen <roel@cyberdrain.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: John Duprey <jwd@johnwduprey.com>
Introduces full Firefox 109+ support, including new manifest, browser polyfill, and enterprise deployment via policies.json. Updates documentation to cover Firefox installation, deployment, and configuration. Adds new settings (e.g., validPageBadgeTimeout), expands detection rule documentation for code-driven logic, and updates branding and general settings guides for cross-browser compatibility.
Webhooks and CIPP reports are now sent only via explicit message handlers to avoid duplicate reporting. Updated logic for sending and defanging URLs in webhook payloads, improved logging, and enhanced code consistency and formatting throughout content.js and background.js.
Signed-off-by: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
Copilot AI review requested due to automatic review settings December 18, 2025 10:33
@KelvinTegelaar KelvinTegelaar merged commit ce068b8 into main Dec 18, 2025
7 checks passed
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This is a major feature release (v1.0.5 → v1.1.0) titled "Dev to release" that adds Firefox support and includes significant enhancements to the phishing detection extension. The PR implements cross-browser compatibility, introduces a browser polyfill system, enhances webhook functionality, adds sophisticated code-driven detection rules, and improves performance with cleaned page source scanning.

Key changes:

  • Firefox compatibility with browser polyfill and Firefox-specific manifest
  • Webhook system now supports multiple webhooks with improved payload structure
  • Detection engine with code-driven logic and performance optimizations
  • Build system for browser-specific packaging

Reviewed changes

Copilot reviewed 41 out of 43 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
scripts/browser-polyfill.js New cross-browser API wrapper for Chrome/Firefox compatibility
scripts/browser-polyfill-inline.js Non-module polyfill version for content scripts
scripts/build.js Build script for browser-specific packaging (Chrome/Firefox)
manifest.firefox.json Firefox-specific manifest with Gecko settings
scripts/webhook-manager.js Enhanced to support multiple webhooks with matchedRules array
scripts/modules/rules-engine-core.js Added code-driven detection logic and cleaned source option
scripts/content.js Major refactoring with cleaned page source, threat-triggered rescans, performance optimizations
rules/detection-rules.json Updated with code-driven indicators and exclusion contexts
scripts/modules/policy-manager.js Updated to use browser polyfill for Firefox support
scripts/modules/detection-rules-manager.js Updated to use browser polyfill
scripts/modules/config-manager.js Added auto-enable debug logging, browser polyfill support
scripts/background.js Browser polyfill integration and webhook improvements
popup/popup.js Enhanced debug data caching and re-trigger functionality
options/options.js Added valid badge timeout setting and main thread toggle
enterprise/* Updated deployment templates with Firefox support
docs/* Added Firefox documentation and deployment guides
manifest.json Version bump and browser polyfill inclusion
package.json Added build scripts for Chrome/Firefox

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

logger.log(
`🔍 processPhishingIndicators: detectionRules available: ${!!detectionRules}`
);

if (!detectionRules?.phishing_indicators) {
logger.warn("No phishing indicators available");
lastProcessingTime = Date.now() - startTime; // Track even for early exit
return { threats: [], score: 0 };
}

const threats = [];
Copy link

Copilot AI Dec 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unused variable threats.

Copilot uses AI. Check for mistakes.
logger.log(
`🔍 processPhishingIndicators: detectionRules available: ${!!detectionRules}`
);

if (!detectionRules?.phishing_indicators) {
logger.warn("No phishing indicators available");
lastProcessingTime = Date.now() - startTime; // Track even for early exit
return { threats: [], score: 0 };
}

const threats = [];
let totalScore = 0;
Copy link

Copilot AI Dec 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unused variable totalScore.

Copilot uses AI. Check for mistakes.
[]) {
if (lowerSource.includes(sub.toLowerCase())) {
matches = true;
matchDetails = "page source (substring match)";
Copy link

Copilot AI Dec 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The value assigned to matchDetails here is unused.

Copilot uses AI. Check for mistakes.
);
if (pattern.test(pageSource)) {
matches = true;
matchDetails = "page source (regex match)";
Copy link

Copilot AI Dec 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The value assigned to matchDetails here is unused.

Copilot uses AI. Check for mistakes.
);
if (pattern.test(pageSource)) {
matches = true;
matchDetails = "page source";
Copy link

Copilot AI Dec 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The value assigned to matchDetails here is unused.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants