Files
EnterpriseAppProtection/testsite.html
becarta ba83c95914 feat: Add Enterprise App Protection extension with settings and popup UI
- Implement manifest.json for Chrome extension with necessary permissions and background scripts.
- Create options.html for user settings including Google Safe Browsing API key, domains database URL, update interval, and warning message template.
- Develop options.js to handle loading and saving settings using Chrome storage.
- Design popup.html to display suspicious links and provide options to update the database and manage domains.
- Implement popup.js to manage interactions in the popup, including updating the database and resetting the suspicious links counter.
- Add testsite.html for dynamic testing of the extension with both official and fake links.
2025-05-10 03:25:49 +02:00

133 lines
19 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Enterprise App Protection - Fixed Dynamic Test</title>
<style>
body { font-family: Arial, sans-serif; padding: 20px; }
h1 { color: #333; }
.test-link { margin-bottom: 10px; display: block; }
</style>
</head>
<body>
<h1>Enterprise App Protection - Fixed Dynamic Test</h1>
<p>This page contains randomly selected fake and official URLs for testing the browser extension.</p>
<h2>✅ Official Enterprise Links (Should Not Trigger Warnings)</h2>
<a class="test-link" href="https://adp.com">ADP (Official) - adp.com</a>
<a class="test-link" href="https://canva.com">Canva (Official) - canva.com</a>
<a class="test-link" href="https://redhat.com">Red Hat (Official) - redhat.com</a>
<a class="test-link" href="https://anchore.com">Anchore (Official) - anchore.com</a>
<a class="test-link" href="https://oracle.com">Oracle (Official) - oracle.com</a>
<a class="test-link" href="https://allocadia.com">Allocadia (Official) - allocadia.com</a>
<a class="test-link" href="https://airtable.com">Airtable (Official) - airtable.com</a>
<a class="test-link" href="https://4me.com">4me (Official) - 4me.com</a>
<a class="test-link" href="https://expressvpn.com">ExpressVPN (Official) - expressvpn.com</a>
<a class="test-link" href="https://activecampaign.com">Active Campaign (Official) - activecampaign.com</a>
<h2>❌ Fake or Suspicious Links (Should Trigger Warnings)</h2>
<a class="test-link" href="https://secure-now.com">ServiceNow (Fake) - secure-now.com</a>
<a class="test-link" href="https://secure-licdn.com">LinkedIn (Fake) - secure-licdn.com</a>
<a class="test-link" href="https://verify-arangodb.net">ArangoDB (Fake) - verify-arangodb.net</a>
<a class="test-link" href="https://activecampaign-security.com">Active Campaign (Fake) - activecampaign-security.com</a>
<a class="test-link" href="https://appviewx-login.com">AppViewX (Fake) - appviewx-login.com</a>
<a class="test-link" href="https://verify-salesforce.com">Pardot (Fake) - verify-salesforce.com</a>
<a class="test-link" href="https://absolutesoftware-login.com">Absolute Software (Fake) - absolutesoftware-login.com</a>
<a class="test-link" href="https://verify-progress.com">Chef (Fake) - verify-progress.com</a>
<a class="test-link" href="https://secure-bitdefender.net">Bitdefender (Fake) - secure-bitdefender.net</a>
<a class="test-link" href="https://verify-boxcdn.net">Box (Fake) - verify-boxcdn.net</a>
<a class="test-link" href="https://crowdstrike-security.com">CrowdStrike (Fake) - crowdstrike-security.com</a>
<a class="test-link" href="https://verify-agiloft.net">Agiloft (Fake) - verify-agiloft.net</a>
<a class="test-link" href="https://verify-3mcloud.com">3M Cloud (Fake) - verify-3mcloud.com</a>
<a class="test-link" href="https://verify-absolutdata.net">Absolutdata (Fake) - verify-absolutdata.net</a>
<a class="test-link" href="https://netlify-security.com">Netlify (Fake) - netlify-security.com</a>
<a class="test-link" href="https://verify-docker.io">Docker (Fake) - verify-docker.io</a>
<a class="test-link" href="https://secure-allscriptscloud.com">Allscripts (Fake) - secure-allscriptscloud.com</a>
<a class="test-link" href="https://aon-login.com">Aon (Fake) - aon-login.com</a>
<a class="test-link" href="https://atlassian-login.com">Atlassian (Fake) - atlassian-login.com</a>
<a class="test-link" href="https://adaptiveinsights-login.com">Adaptive Insights (Fake) - adaptiveinsights-login.com</a>
<a class="test-link" href="https://tanium-login.com">Tanium (Fake) - tanium-login.com</a>
<a class="test-link" href="https://verify-puppetlabs.com">Puppet (Fake) - verify-puppetlabs.com</a>
<a class="test-link" href="https://appsense-login.com">AppSense (Fake) - appsense-login.com</a>
<a class="test-link" href="https://accuweather-login.com">AccuWeather (Fake) - accuweather-login.com</a>
<a class="test-link" href="https://aerospike-login.com">Aerospike (Fake) - aerospike-login.com</a>
<a class="test-link" href="https://verify-falcon.crowdstrike.com">CrowdStrike Falcon (Fake) - verify-falcon.crowdstrike.com</a>
<a class="test-link" href="https://verify-alluxio.io">Alluxio (Fake) - verify-alluxio.io</a>
<a class="test-link" href="https://okta-login.com">Okta (Fake) - okta-login.com</a>
<a class="test-link" href="https://sapconcur-security.com">SAP Concur (Fake) - sapconcur-security.com</a>
<a class="test-link" href="https://mcafee-security.com">McAfee (Fake) - mcafee-security.com</a>
<a class="test-link" href="https://ariasystems-login.com">Aria Systems (Fake) - ariasystems-login.com</a>
<a class="test-link" href="https://magento-login.com">Magento (Fake) - magento-login.com</a>
<a class="test-link" href="https://secure-atlassian.com">Trello (Fake) - secure-atlassian.com</a>
<a class="test-link" href="https://verify-aravo.net">Aravo (Fake) - verify-aravo.net</a>
<a class="test-link" href="https://fastly-login.com">Fastly (Fake) - fastly-login.com</a>
<a class="test-link" href="https://secure-alto.sh">Alto (Fake) - secure-alto.sh</a>
<a class="test-link" href="https://apptus-login.com">Apptus (Fake) - apptus-login.com</a>
<a class="test-link" href="https://secure-cloud.google.com">Prometheus (Fake) - secure-cloud.google.com</a>
<a class="test-link" href="https://verify-att.com">AlienVault (Fake) - verify-att.com</a>
<a class="test-link" href="https://secure-freshworks.com">Freshdesk (Fake) - secure-freshworks.com</a>
<a class="test-link" href="https://verify-armis.io">ArmisIT (Fake) - verify-armis.io</a>
<a class="test-link" href="https://verify-3cx.cloud">3CX (Fake) - verify-3cx.cloud</a>
<a class="test-link" href="https://salesforce-login.com">Salesforce (Fake) - salesforce-login.com</a>
<a class="test-link" href="https://secure-wetransfer.net">WeTransfer (Fake) - secure-wetransfer.net</a>
<a class="test-link" href="https://accenture-login.com">Accenture (Fake) - accenture-login.com</a>
<a class="test-link" href="https://verify-sentinelone.net">SentinelOne (Fake) - verify-sentinelone.net</a>
<a class="test-link" href="https://secure-7digital.net">7digital (Fake) - secure-7digital.net</a>
<a class="test-link" href="https://verify-onmicrosoft.com">Microsoft 365 (Fake) - verify-onmicrosoft.com</a>
<a class="test-link" href="https://invision-login.com">InVision (Fake) - invision-login.com</a>
<a class="test-link" href="https://verify-notion.com">Notion (Fake) - verify-notion.com</a>
<h2>🛠️ Dynamic Content (To Test MutationObserver)</h2>
<button onclick="addRandomLink()">Add Random Link</button>
<div id="dynamic-content"></div>
<script>
const services = {"1Password": ["1password.com", "1password.eu", "agilebits.com"], "2checkout": ["2checkout.com", "2co.com", "verifone.cloud"], "3CX": ["3cx.com", "3cx.net", "3cx.cloud"], "3M Cloud": ["3m.com", "3mcloud.com"], "4me": ["4me.com", "4me.app"], "6sense": ["6sense.com", "6sense.io", "6sense.ai"], "7digital": ["7digital.com", "7digital.net"], "8x8": ["8x8.com", "8x8.net", "8x8.vc"], "10x Genomics": ["10xgenomics.com", "10xgenomics.net"], "A10 Networks": ["a10networks.com", "a10networks.net"], "Aason": ["aason.com", "aason.cloud"], "Abacus": ["abacus.com", "abacusfi.com"], "ABB": ["abb.com", "abb.net"], "AbbVie": ["abbvie.com", "abbvie.net"], "Abiomed": ["abiomed.com", "abiomed.net"], "Abnormal Security": ["abnormalsecurity.com", "abnormal.com"], "Absolute Software": ["absolute.com", "absolutesoftware.com"], "Absolutdata": ["absolutdata.com", "absolutdata.net"], "Abukai": ["abukai.com", "abukaiexpense.com"], "Accenture": ["accenture.com", "accenture.net"], "AccuWeather": ["accuweather.com", "accuweather.net"], "Achieve3000": ["achieve3000.com", "achieve3000.net"], "Acquia": ["acquia.com", "acquia.net"], "Acronis": ["acronis.com", "acronis.net"], "ActionIQ": ["actioniq.com", "actioniq.ai"], "Actionstep": ["actionstep.com", "actionstep.net"], "Active Campaign": ["activecampaign.com", "activehosted.com"], "ActiveBatch": ["advsyscon.com", "activebatch.com"], "Acuity Scheduling": ["acuityscheduling.com", "squareup.com"], "Acumatica": ["acumatica.com", "acumatica.net"], "Adaptive Insights": ["adaptiveinsights.com", "adaptive.com"], "AdaptiveShield": ["adaptiveshield.com", "adaptiveshield.io"], "Addteq": ["addteq.com", "addteq.net"], "Adobe": ["adobe.com", "adobe.net", "adobelogin.com", "adobe.io", "creative.adobe.com", "acrobat.com", "behance.net"], "ADP": ["adp.com", "workforcenow.adp.com", "run.adp.com", "adpself-service.com"], "Adroll": ["adroll.com", "adroll.net"], "Adswerve": ["adswerve.com", "analytics-360.com"], "Advantech": ["advantech.com", "advantech.net"], "Aerospike": ["aerospike.com", "aerospike.net"], "Agiloft": ["agiloft.com", "agiloft.net"], "Aha!": ["aha.io", "aha.com"], "Airbnb": ["airbnb.com", "airbnb.co.uk", "airbnb.ca", "airbnbchina.cn"], "Airtable": ["airtable.com", "airtable.net", "airtableusercontent.com"], "Airwatch": ["air-watch.com", "awmdm.com"], "Akamai": ["akamai.com", "akamai.net", "akamaiedge.net", "akamaized.net"], "Akka": ["akka.io", "lightbend.com"], "Alarm.com": ["alarm.com", "alarm.net"], "Alation": ["alation.com", "alation.net"], "Alcatel-Lucent": ["al-enterprise.com", "alcatel-lucent.com"], "AlertMedia": ["alertmedia.com", "alertmedia.net"], "Alfresco": ["alfresco.com", "alfresco.net"], "Algolia": ["algolia.com", "algolia.net", "algolianet.com"], "AlienVault": ["alienvault.com", "att.com"], "AliCloud": ["aliyun.com", "alibabacloud.com", "alipay.com"], "Allocadia": ["allocadia.com", "allocadia.net"], "Allscripts": ["allscripts.com", "allscriptscloud.com"], "Alluxio": ["alluxio.com", "alluxio.io"], "Alpha Software": ["alphasoftware.com", "alpha-anywhere.com"], "Alteryx": ["alteryx.com", "alteryx.net"], "Alto": ["alto.com", "alto.sh"], "Altova": ["altova.com", "altova.net"], "Alyne": ["alyne.com", "alyne.ai"], "Amazon AWS": ["aws.amazon.com", "amazonaws.com", "cloudfront.net", "amazon.com", "awsstatic.com"], "Amelia": ["amelia.ai", "amelia.com"], "Amplitude": ["amplitude.com", "amplitude.net"], "AMS Neve": ["ams-neve.com", "neve.com"], "Anaplan": ["anaplan.com", "anaplan.net"], "Anchore": ["anchore.com", "anchore.io"], "Andela": ["andela.com", "andela.co"], "Angular": ["angular.io", "angularjs.org"], "Anime": ["anime.com", "crunchyroll.com"], "Anova": ["anova.com", "anovaculinary.com"], "Ansible": ["ansible.com", "redhat.com"], "Anthos": ["cloud.google.com/anthos", "googleapis.com"], "AntWorks": ["ant.works", "antworks.com"], "Anydesk": ["anydesk.com", "anydesk.net"], "Aon": ["aon.com", "aon.net"], "Apache": ["apache.org", "apachecloud.com"], "Apigee": ["apigee.com", "apigee.net"], "Appcues": ["appcues.com", "appcues.net"], "AppDirect": ["appdirect.com", "appdirect.net"], "AppDynamics": ["appdynamics.com", "appdynamics.net"], "Appery.io": ["appery.io", "appery.net"], "Appfolio": ["appfolio.com", "appfolio.net"], "Appian": ["appian.com", "appian.net"], "Apple Business": ["apple.com", "icloud.com"], "ApplicationHA": ["veritas.com", "symantec.com"], "Apprenda": ["apprenda.com", "apprenda.net"], "AppSense": ["appsense.com", "ivanti.com"], "Apptio": ["apptio.com", "apptio.net"], "Apptus": ["apptus.com", "apptus.net"], "AppViewX": ["appviewx.com", "appviewx.net"], "Apptentive": ["apptentive.com", "apptentive.net"], "Aprimo": ["aprimo.com", "aprimo.net"], "ArangoDB": ["arangodb.com", "arangodb.net"], "Aravo": ["aravo.com", "aravo.net"], "Arcadia Data": ["arcadiadata.com", "arcadia.com"], "Archer": ["archerirm.com", "rsa.com"], "Archi": ["archimatetool.com", "archi.com"], "Archibus": ["archibus.com", "archibus.net"], "Arctic Wolf": ["arcticwolf.com", "arcticwolf.net"], "Aria Systems": ["ariasystems.com", "aria.com"], "Arista": ["arista.com", "aristanetworks.com"], "Arkadin": ["arkadin.com", "arkadin.net"], "ArmisIT": ["armis.com", "armis.io"], "Armorblox": ["armorblox.com", "armorblox.io"], "Asana": ["asana.com", "asana.net", "app.asana.com"], "Ascender": ["ascenderpay.com", "ascender.com"], "AspenTech": ["aspentech.com", "aspentech.net"], "Assemble": ["assemble.com", "assemblesystems.com"], "Assessteam": ["assessteam.com", "assessteam.net"], "Atlassian": ["atlassian.com", "jira.com", "atlassian.net"], "Atlassian Jira": ["atlassian.com", "jira.com", "atlassian.net"], "Aternity": ["aternity.com", "aternity.net"], "Atos": ["atos.net", "atosglobal.com"], "Attentive": ["attentive.com", "attentivemobile.com"], "Auth0": ["auth0.com", "auth0.net"], "Autodesk": ["autodesk.com", "autodesk.net", "autocad360.com"], "Automation Anywhere": ["automationanywhere.com", "autoany.com"], "Avalara": ["avalara.com", "avalara.net"], "Avaya": ["avaya.com", "avaya.net"], "Aveva": ["aveva.com", "aveva.net"], "Basecamp": ["basecamp.com", "basecamp.net"], "BigCommerce": ["bigcommerce.com", "bigcommerce.net"], "Bitbucket": ["bitbucket.org", "atlassian.com"], "Bitdefender": ["bitdefender.com", "bitdefender.net"], "BlueJeans": ["bluejeans.com", "bluejeansnet.com"], "Box": ["box.com", "boxcdn.net"], "Buffer": ["buffer.com", "bufferapp.com"], "Carbon Black": ["carbonblack.com", "vmware.com"], "Canva": ["canva.com", "canvaassets.com"], "Chef": ["chef.io", "progress.com"], "Cisco AnyConnect": ["cisco.com", "vpn.com"], "Cisco Jabber": ["jabber.com", "cisco.com"], "Cisco WebEx": ["webex.com", "cisco.com"], "Citrix": ["citrix.com", "cloud.com"], "Cloudflare": ["cloudflare.com", "cloudflare.net", "cfassets.net"], "Confluence": ["confluence.com", "atlassian.com", "atlassian.net"], "CrowdStrike": ["crowdstrike.com", "crowdstrike.net"], "CrowdStrike Falcon": ["crowdstrike.com", "falcon.crowdstrike.com"], "Datadog": ["datadoghq.com", "datadog.com"], "DigitalOcean": ["digitalocean.com", "digitaloceanspaces.com"], "Docker": ["docker.com", "docker.io"], "Docusign": ["docusign.com", "docusign.net", "docusigncdn.com"], "Dropbox": ["dropbox.com", "dropboxusercontent.com", "dropboxapi.com"], "Dropbox Paper": ["paper.dropbox.com", "dropboxusercontent.com"], "Elastic": ["elastic.co", "elasticsearch.com"], "ExpressVPN": ["expressvpn.com", "expressvpn.net"], "Fastly": ["fastly.com", "fastly.net"], "Flock": ["flock.com", "flock.co"], "Fortinet": ["fortinet.com", "fortiguard.com", "forticloud.com"], "Freshdesk": ["freshdesk.com", "freshworks.com"], "GitHub": ["github.com", "githubusercontent.com"], "GitLab": ["gitlab.com", "gitlab.net"], "GoDaddy": ["godaddy.com", "godaddy.net"], "Google Workspace": ["google.com", "workspace.google.com", "googleusercontent.com"], "Grafana": ["grafana.com", "grafana.net"], "Heroku": ["heroku.com", "salesforce.com", "herokuapp.com"], "Hootsuite": ["hootsuite.com", "hootsuitecdn.com"], "HubSpot": ["hubspot.com", "hubspot.net", "hs-sites.com"], "InVision": ["invisionapp.com", "invision.com"], "Intuit": ["intuit.com", "quickbooks.com"], "Kaspersky": ["kaspersky.com", "kaspersky.net"], "Keeper": ["keepersecurity.com", "keepersecurity.net"], "Kubernetes": ["kubernetes.io", "cloud.google.com"], "LastPass": ["lastpass.com", "logmein.com"], "LinkedIn": ["linkedin.com", "linkedin.net", "licdn.com"], "LogMeIn": ["logmein.com", "logmeinrescue.com"], "Lucidchart": ["lucidchart.com", "lucid.co"], "Magento": ["magento.com", "magento.net"], "Mailchimp": ["mailchimp.com", "mailchimp.net"], "Marketo": ["marketo.com", "adobe.com"], "McAfee": ["mcafee.com", "mcafee.net"], "Microsoft 365": ["microsoft.com", "office.com", "onmicrosoft.com"], "Microsoft Teams": ["teams.microsoft.com", "office.com"], "Miro": ["miro.com", "mirocdn.com"], "Monday.com": ["monday.com", "monday.net"], "Netlify": ["netlify.com", "netlify.app"], "New Relic": ["newrelic.com", "newrelic.net"], "NordVPN": ["nordvpn.com", "nordvpn.net"], "Notion": ["notion.so", "notion.com"], "Okta": ["okta.com", "okta.net"], "Olark": ["olark.com", "olark.net"], "Oracle": ["oracle.com", "oraclecloud.com"], "Palo Alto Networks": ["paloaltonetworks.com", "paloaltonetworks.net"], "PagerDuty": ["pagerduty.com", "pagerduty.net"], "PayPal": ["paypal.com", "paypalobjects.com", "paypal-cdn.com"], "Pardot": ["pardot.com", "salesforce.com"], "Proofpoint": ["proofpoint.com", "proofpoint.net"], "Prometheus": ["prometheus.io", "cloud.google.com"], "Puppet": ["puppet.com", "puppetlabs.com"], "Red Hat": ["redhat.com", "openshift.com"], "RingCentral": ["ringcentral.com", "ringcentral.net"], "SAP": ["sap.com", "sap-anywhere.com"], "SAP Concur": ["concur.com", "sap.com"], "Salesforce": ["salesforce.com", "force.com"], "SentinelOne": ["sentinelone.com", "sentinelone.net"], "ServiceNow": ["servicenow.com", "now.com"], "Shopify": ["shopify.com", "shopifycdn.com"], "Slack": ["slack.com", "slack-edge.com"], "Sophos": ["sophos.com", "sophos.net"], "Splashtop": ["splashtop.com", "splashtop.net"], "Splunk": ["splunk.com", "splunkcloud.com"], "Square": ["squareup.com", "square.com"], "Stripe": ["stripe.com", "stripe.net"], "Symantec": ["symantec.com", "broadcom.com"], "Tableau": ["tableau.com", "salesforce.com"], "Tanium": ["tanium.com", "tanium.net"], "Terraform": ["terraform.io", "hashicorp.com"], "TeamViewer": ["teamviewer.com", "teamviewer.net"], "TOPdesk": ["topdesk.com", "topdesk.net"], "Trello": ["trello.com", "atlassian.com"], "Twilio": ["twilio.com", "twilio.ai"], "Vercel": ["vercel.com", "vercel.app"], "Vonage": ["vonage.com", "vonagebusiness.com"], "WeTransfer": ["wetransfer.com", "wetransfer.net"], "Wix": ["wix.com", "wixstatic.com"], "Workday": ["workday.com", "workday.net"], "Zendesk": ["zendesk.com", "zdassets.com"], "Zendesk Sell": ["sell.zendesk.com", "zdassets.com"], "Zoom": ["zoom.us", "zoom.com", "zoomgov.com"], "ZoomInfo": ["zoominfo.com", "zoominfo.net"], "Zoom Phone": ["zoom.us", "zoom.com"]};
function getRandomProperty(obj) {
const keys = Object.keys(obj);
return keys[Math.floor(Math.random() * keys.length)];
}
function addRandomLink() {
const service = getRandomProperty(services);
const domains = services[service];
let isFake = Math.random() < 0.5; // 50% chance of fake
let url, label;
if (isFake && domains.length > 1) {
const fakeVariations = [
`secure-${domains[domains.length - 1]}`,
`${service.toLowerCase().replace(/\s+/g, '')}-login.com`,
`${service.toLowerCase().replace(/\s+/g, '')}-security.com`,
`verify-${domains[domains.length - 1]}`
];
url = "https://" + fakeVariations[Math.floor(Math.random() * fakeVariations.length)];
label = `${service} (Fake) - ${url}`;
} else {
url = "https://" + domains[0]; // Official domain
label = `${service} (Official) - ${url}`;
}
const newLink = document.createElement("a");
newLink.href = url;
newLink.className = "test-link";
newLink.innerText = label;
// Add to dynamic content container
const container = document.getElementById("dynamic-content");
container.appendChild(newLink);
console.log("New link added:", label);
}
</script>
</body>
</html>