Leveranciersmachtigingen
Bepaal wat de scripts van elke leverancier op je site mogen doen. Ontdek wat elke machtiging dekt en wat blokkeren voorkomt.
De weergave Dependencies (afhankelijkheden) in het cside-dashboard toont elke leverancier en elk domein dat scripts aan je site levert. Open een leverancier om het machtigingenraster te zien: een set toggles voor Allow (toestaan) en Block (blokkeren) die bepalen wat de scripts van die leverancier in de browsers van je gebruikers kunnen doen.
Deze pagina legt elke machtiging uit: wat ze dekt en wat blokkeren voorkomt.
Hoe machtigingen werken
Elke machtiging heeft drie statussen:
- Allow (groen vinkje): de scripts van de leverancier kunnen deze functionaliteit gebruiken.
- Block (rood schild): cside voorkomt dat de scripts van de leverancier deze functionaliteit gebruiken.
- Unset (standaard): de leverancier behoudt zijn normale gedrag en cside blijft monitoren wat hij doet.
Machtigingen gelden per leverancier, voor je hele team. Wanneer een script niet aan een bekende leverancier wordt gekoppeld, kun je dezelfde machtigingen op het domein ervan instellen.
Wanneer je een machtiging blokkeert, handhaaft cside je beslissing in de browser. Geblokkeerde pogingen worden nog steeds geregistreerd, zodat je kunt zien wat een leverancier probeerde te doen nadat je hem hebt vergrendeld.
Zie machtigingen als least privilege voor derden: elke leverancier krijgt alleen de functionaliteit die hij nodig heeft om zijn werk te doen.
Resources
Deze machtigingen bepalen wat de scripts van een leverancier op je pagina’s kunnen laden, insluiten of uitvoeren.
| Machtiging | Wat het dekt | Wat blokkeren voorkomt |
|---|---|---|
| Create and execute dynamic scripts | Het laden van extra code tijdens runtime via scripttags | Verhindert dat de leverancier nieuwe, niet-beoordeelde code binnenhaalt nadat de pagina is geladen. Zo escaleert een gecompromitteerde leverancier doorgaans een aanval. |
| Network Requests | Het maken van fetch- en XHR-netwerkverzoeken | Verhindert dat de leverancier data vanuit de browser naar zijn eigen servers stuurt. Dit is het belangrijkste kanaal voor data-exfiltratie. |
| Frames | Het insluiten van iframes en frames | Stopt verborgen iframe-overlays, valse inlogprompts en UI-injectie in clickjacking-stijl. |
| Objects | Het insluiten van plugins en objecten | Stopt legacy plugincontent (<object>- en <embed>-tags), een oud maar nog steeds misbruikt injectiepad. |
| Workers | Het uitvoeren van web workers en service workers | Stopt achtergrondscripts die uit het zicht draaien, verzoeken onderscheppen of blijven doorwerken nadat de gebruiker de pagina heeft verlaten. |
| Media | Het laden van audio- en videocontent | Stopt het laden van ongewenste audio of video, inclusief media die voor tracking of advertentiefraude wordt gebruikt. |
| Stylesheets | Het laden van externe stylesheets | Stopt stijlinjectie die pagina-elementen kan verbergen, valse UI over de pagina kan leggen of getypte data via CSS-selectors kan lekken. |
| Prefetch | Het prefetchen van resources | Stopt het speculatief laden van resources van de leverancier, wat signalen over surfgedrag kan lekken voordat een gebruiker interactie heeft. |
| Manifest | Het laden van web app manifests | Verhindert dat de leverancier een manifest meelevert dat verandert hoe je site zich als app installeert of gedraagt. |
| Images | Het laden van externe afbeeldingen | Stopt het laden van afbeeldingen, inclusief tracking pixels: kleine afbeeldingen die worden gebruikt om data naar buiten te sturen. |
| Fonts | Het laden van externe fonts | Stopt het laden van fonts van de leverancier, een stil kanaal voor tracking en fingerprinting. |
Gevoelige API’s
Deze machtigingen bepalen de toegang tot apparaathardware via de browser.
| Machtiging | Wat het dekt | Wat blokkeren voorkomt |
|---|---|---|
| Camera | Toegang tot de camera van het apparaat | Verhindert dat scripts cameratoegang aanvragen, zodat gebruikers nooit een prompt te zien krijgen die ze per ongeluk zouden kunnen accepteren. |
| Screen Capture | Het vastleggen van scherm- of vensterinhoud | Verhindert dat scripts schermopname aanvragen, wat alles kan blootleggen wat zichtbaar is op het scherm van de gebruiker. |
| Geolocation | Toegang tot de locatie van het apparaat | Verhindert dat scripts de fysieke locatie van je gebruikers opvragen. |
| Microphone | Toegang tot de microfoon van het apparaat | Verhindert dat scripts microfoontoegang aanvragen en audio opnemen. |
Opslag
Deze machtigingen bepalen de toegang tot data die in de browser is opgeslagen.
| Machtiging | Wat het dekt | Wat blokkeren voorkomt |
|---|---|---|
| Cookies | Het lezen of schrijven van cookies | Verhindert dat de leverancier sessie-identifiers of tokens leest en zijn eigen trackingcookies plaatst. |
| Local Storage | Het lezen of schrijven van localStorage | Stopt toegang tot persistente data, die vaak gebruikersidentifiers en in de cache bewaarde persoonlijke informatie bevat. |
| Session Storage | Het lezen of schrijven van sessionStorage | Stopt toegang tot sessiedata per tabblad, zoals de status van een lopende checkout. |
| IndexedDB | Toegang tot IndexedDB-databases | Stopt toegang tot gestructureerde browserdatabases, waarin applicaties vaak grotere hoeveelheden gebruikersdata cachen. |
Events
Deze machtigingen bepalen of een leverancier kan observeren hoe gebruikers met je pagina’s omgaan.
| Machtiging | Wat het dekt | Wat blokkeren voorkomt |
|---|---|---|
| Click Events | Het luisteren naar klik-events | Stopt kliktracking op je pagina’s, inclusief het vastleggen van wat gebruikers aantikken en selecteren. |
| Keyboard Events | Het luisteren naar toetsenbord-events | Stopt keylogging. Een script dat naar toetsaanslagen luistert, kan alles vastleggen wat een gebruiker typt, inclusief inloggegevens en kaartnummers. |
Formuliermachtigingen
Deze machtigingen bepalen welke formuliervelden de scripts van een leverancier kunnen lezen. Ze zijn essentieel voor het voorkomen van diefstal van formulierdata, inclusief skimming in Magecart-stijl, en ondersteunen de vereisten 6.4.3 en 11.6.1 van PCI DSS 4.0.1 voor betaalpagina’s.
| Machtiging | Wat het dekt | Wat blokkeren voorkomt |
|---|---|---|
| Form Access | Toegang tot formulierelementen en -data | De algemene formuliermachtiging. Blokkeren verhindert dat de leverancier formuliervelden leest die niet onder een specifiekere machtiging hieronder vallen. |
| Email Fields | E-mailinvoervelden | Stopt het verzamelen van e-mailadressen die je gebruikers typen. |
| File Uploads | Bestandsinvoervelden | Stopt toegang tot bestanden die gebruikers bijvoegen, zoals identiteitsdocumenten of afschriften. |
| Password Fields | Wachtwoordinvoervelden | Stopt het buitmaken van inloggegevens uit inlog- en registratieformulieren. |
| Hidden Fields | Verborgen formuliervelden | Stopt het lezen van verborgen invoervelden, die vaak sessietokens, CSRF-tokens of interne ID’s bevatten. |
| Address Fields | Adresinvoervelden | Stopt het verzamelen van woon- en verzendadressen. |
| Search Fields | Zoekinvoervelden | Stopt het vastleggen van wat gebruikers op je site zoeken. |
| Phone Fields | Telefooninvoervelden | Stopt het verzamelen van telefoonnummers. |
| URL Fields | URL-invoervelden | Stopt het lezen van URLs die gebruikers in formulieren invoeren. |
| Name Fields | Naaminvoervelden | Stopt het verzamelen van persoonsnamen. |
| One-Time Login | Velden voor eenmalig inloggen | Stopt diefstal van eenmalige codes, die aanvallers gebruiken om MFA te omzeilen. |
| Birthday Fields | Geboortedatumvelden | Stopt het verzamelen van geboortedata, een cruciaal gegeven bij identiteitsdiefstal. |
| Sex/Gender Fields | Invoervelden voor geslacht en gender | Stopt het verzamelen van gevoelige demografische data. |
| Credit Card Fields | Creditcardinvoervelden | Stopt card skimming: scripts die kaartnummers lezen terwijl gebruikers ze bij het afrekenen typen. |
Overig
| Machtiging | Wat het dekt | Wat blokkeren voorkomt |
|---|---|---|
| Notifications | Het versturen van pushnotificaties | Stopt notificatieprompts en pushspam van de leverancier. |
| Full Screen | Het aanvragen van schermvullende weergave | Stopt schermvullende overnames die worden gebruikt om browser-UI in phishing-overlays na te bootsen. |
| Payment API | Toegang tot de Payment Request API | Verhindert dat de leverancier het betaalvenster van de browser aanroept of betaalmogelijkheden aftast. |
| History API | Het manipuleren van de browsergeschiedenis | Stopt URL-manipulatie die kan verhullen op welke pagina een gebruiker werkelijk zit of de terugknop kan saboteren. |
| Clipboard | Het lezen van of schrijven naar het klembord | Verhindert dat scripts lezen wat gebruikers elders hebben gekopieerd, zoals wachtwoorden of walletadressen, en stopt klembordkaping, zoals het vervangen van een gekopieerd betaaladres door dat van een aanvaller. |
Kiezen wat je blokkeert
Je hoeft op dag één geen 40 beslissingen per leverancier te nemen. Een praktische aanpak:
- Begin met functionaliteit die de leverancier helemaal niet zou moeten gebruiken. De meeste leveranciers hebben toetsenbord-events, wachtwoordvelden, creditcardvelden of het klembord nooit nodig. Die blokkeren heeft zelden invloed op de functionaliteit.
- Bekijk het geregistreerde gedrag van de leverancier. De weergave Dependencies toont wat elke leverancier daadwerkelijk op je site doet. Als een leverancier een functionaliteit nooit heeft gebruikt, is het risico van blokkeren laag.
- Zet de pagina’s met de data op slot. Geef in checkout- en inlogflows prioriteit aan de formuliermachtigingen en Keyboard Events.
- Houd rapportages na het blokkeren in de gaten. Geblokkeerde pogingen worden nog steeds geregistreerd. Een leverancier die herhaaldelijk iets probeert wat je hebt geblokkeerd, is het onderzoeken waard.
Zie je Dependencies nog niet in je dashboard? De functie wordt geleidelijk uitgerold. Neem contact op met support@cside.dev om deze voor je team in te schakelen.
Gerelateerde pagina’s
- Dreigingsdetectie: hoe cside kwaadaardige scripts automatisch identificeert
- Kwetsbaarheidsdetectie: hoe cside scripts met bekende kwetsbaarheden markeert
- PCI DSS / PCI Shield: scriptvereisten voor betaalpagina’s
- Auditlogs: volg configuratiewijzigingen die je team heeft doorgevoerd
Thanks for your feedback!