Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

OpenAI + Gmail: skanna JS-läckor med mejlade rapporter

Rickard Andersson Partner, Nodenordic.se

Du hittar inte JavaScript-läckor när du ”har tid”. Du hittar dem efter ett kundmejl, en säkerhetsvarning eller ett panikartat meddelande om att en API-nyckel exponerats i en publik bundle.

Det här upplägget för OpenAI Gmail scans träffar SecOps-ansvariga först, men produktfokuserade utvecklare och upptagna byråägare känner av det också. Du får ett repeterbart sätt att skanna valfri URL efter läckta nycklar, e-postadresser och PII, och sedan få en tydlig rapport i inkorgen.

Nedan ser du exakt vad arbetsflödet gör, vad det returnerar och vad du behöver för att köra det i n8n utan att det blir ett projekt som tar en hel vecka.

Så fungerar den här automatiseringen

Hela n8n-arbetsflödet, från trigger till slutlig output:

n8n Workflow Template: OpenAI + Gmail: skanna JS-läckor med mejlade rapporter

Problemet: JavaScript-läckor gömmer sig mitt framför ögonen

Moderna sajter skickar mycket JavaScript. Tredjepartstaggar, bundlad appkod, analytics, A/B-testning, chattwidgets, feature flags. Någonstans i den röran kan känsliga strängar slinka igenom: en API-nyckel som committats ”tillfälligt”, en intern endpoint med tokens i query-parametrar, en e-postlista som använts för test, eller persondata som av misstag ekats in i ett script. Det värsta är hur tyst det är. Du kan surfa på sajten hela dagen utan att märka läckan förrän någon skrapar den, rapporterar den eller utnyttjar den.

Och när du väl kontrollerar manuellt är processen långsam och märkligt utmattande.

  • Du slutar med att öppna DevTools, kopiera script-URL:er och tappar bort vad du redan har kontrollerat.
  • Minifierade filer gör mönsterigenkänning plågsam, så uppenbara läckor missas.
  • Varje målsajt blir en engångsprocess, vilket betyder ingen konsekvent rapportering för teamet eller kunderna.
  • Om du gör bug bounties eller kundrevisioner bränner du timmar på triage innan du ens börjar med det ”riktiga” arbetet.

Lösningen: skanna en URL, låt AI flagga risker, mejla rapporten

Det här n8n-arbetsflödet gör ”jag borde nog kontrollera den sajten” till en snabb, repeterbar skanning. Du kör det, anger en URL och arbetsflödet använder en webbläsarcrawler (Puppeteer) för att ladda sidan som en riktig besökare. Det extraherar alla JavaScript-länkar som hittas, filtrerar ner dem till script som faktiskt hör ihop med URL:en du begärde, och skickar sedan listan till en AI-agent som drivs av en OpenAI-chatmodell. Agenten söker igenom scripten efter riskmönster som API-nycklar, e-postadresser och andra PII-indikatorer, och sammanställer en läsbar sammanfattning. Till sist formateras allt till en strukturerad rapport och mejlas till den adress du väljer i Gmail.

Arbetsflödet startar med en enkel formulärprompt för mål-URL:en. Därefter crawlar det, extraherar, aggregerar och skannar de script som hittas. Gmail levererar slutrapporten så att den är enkel att vidarebefordra, arkivera eller lägga in i ett internt ärende.

Vad du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du granskar 5 kunders landningssidor i veckan. Manuellt kanske du lägger cirka 10 minuter på att samla in script-URL:er och sedan ytterligare 40 minuter på att skumma minifierade filer och leta efter typiska mönster, alltså runt 50 minuter per sajt. Med det här arbetsflödet skickar du in URL:en i formuläret (cirka 1 minut) och väntar på att crawl + AI-skanning blir klar (ofta runt 10 minuter), och sedan får du Gmail-rapporten. Det är ungefär 4 timmar tillbaka varje vecka, plus färre missade problem.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • Gmail för att skicka mejlet med skanningsrapporten
  • OpenAI för att flagga nycklar, e-postadresser och PII-mönster
  • OpenAI API-nyckel (hämta den i OpenAI-dashboarden)

Kunskapsnivå: Medel. Du kopplar Gmail och OpenAI och bör vara bekväm med att justera en prompt eller två.

Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

En URL startar allt. Arbetsflödet börjar med en inkommande formulärtrigger som frågar efter webbplatsens URL som du vill skanna. Enkel input, färre misstag.

Sidan crawlas som en användare skulle göra. Puppeteer laddar sidan och fångar JavaScript-resurserna som refereras under besöket, inte bara det du gissar kan vara inkluderat.

Scriptlistan rensas och paketeras. Ett kodsteg extraherar script-URL:er, arbetsflödet aggregerar dem till en enda lista och mappar sedan listan till en payload som AI-agenten kan analysera pålitligt.

OpenAI granskar och Gmail levererar. AI-agenten skannar efter känsliga mönster (nycklar, e-post, PII-liknande strängar), en formatterare gör fynden till en läsbar rapport och Gmail skickar den till den mottagaradress du väljer.

Du kan enkelt ändra skanningsomfattningen för att inkludera flera sidor eller djupare crawling utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementation

Steg 1: Konfigurera formulärtriggern

Det här arbetsflödet startar när en användare skickar in en webbplats-URL via ett formulär.

  1. Lägg till noden Inbound Form Trigger som din trigger.
  2. Ställ in Form Title till Website Security Scanner.
  3. Ställ in Form Description till Check your website for security vulnerabilities and get a detailed report.
  4. Lägg till ett obligatoriskt formulärfält med etiketten Landing Page Url och platshållaren https://example.com.
  5. Koppla Inbound Form Trigger till Browser Crawl Runner.

Steg 2: Crawla webbplatsen och extrahera script-URL:er

Dessa noder hämtar landningssidans HTML och extraherar URL:er till JavaScript-filer.

  1. I Browser Crawl Runner, ställ in URL till ={{ $json['Landing Page Url'] }}.
  2. I Browser Crawl Runner, behåll Wait Until som networkidle2 för att säkerställa att scripts laddas helt.
  3. I Script URL Extractor, klistra in den tillhandahållna JavaScript Code för att tolka script-taggar och returnera items med URL.
  4. Koppla Browser Crawl RunnerScript URL ExtractorCombine Script List.

Tips: Om en webbplats använder tung klient-side rendering, öka väntvillkoret i Browser Crawl Runner eller lägg till ett fördröjningssteg före Script URL Extractor.

Steg 3: Aggregera och mappa script-data

Aggregera alla extraherade script-URL:er till en enda payload för AI-analysen.

  1. I Combine Script List, ställ in Aggregate till aggregateAllItemData.
  2. Koppla Combine Script List till Map Aggregate Payload.
  3. I Map Aggregate Payload, lägg till en tilldelning med Name data[0] och Value ={{ $json.data[0] }}.
  4. Koppla Map Aggregate Payload till Security Scan Agent.

Steg 4: Konfigurera AI-baserad säkerhetsanalys

AI-agenten analyserar JavaScript-filer och tar fram ett utkast till en säkerhetsrapport.

  1. I Security Scan Agent, ställ in Text till hela prompten som finns i arbetsflödet, inklusive uttryck som {{ $('Inbound Form Trigger').item.json['Landing Page Url'] }} och {{ JSON.stringify($input.all()) }}.
  2. Säkerställ att OpenAI Chat Engine är ansluten som språkmodell för Security Scan Agent.
  3. Credential Required: Anslut era openAiApi-uppgifter i OpenAI Chat Engine (uppgifterna läggs till på den överordnade modellnoden, inte på agenten).

⚠️ Vanlig fallgrop: Om ni redigerar prompten i Security Scan Agent, behåll alla URL- och datauttryck intakta, annars får agenten inte crawl-resultaten.

Steg 5: Konfigurera e-postutskicket

Formatera AI-utdata till HTML och skicka den via Gmail.

  1. I Email Report Formatter, behåll JavaScript-koden som kapslar in AI-utdata i htmlReport.
  2. Koppla Security Scan AgentEmail Report FormatterDispatch Gmail Notice.
  3. I Dispatch Gmail Notice, ställ in Send To till [YOUR_EMAIL] och ersätt det med er riktiga e-postadress.
  4. Ställ in Message till ={{ $json.htmlReport }}.
  5. Ställ in Subject till Static subject (edit manually) eller uppdatera den till er föredragna ämnesrad.
  6. Credential Required: Anslut era gmailOAuth2-uppgifter i Dispatch Gmail Notice.

⚠️ Vanlig fallgrop: Om ni lämnar [YOUR_EMAIL] oförändrat i Dispatch Gmail Notice kommer e-postleveransen att misslyckas.

Steg 6: Testa och aktivera ert arbetsflöde

Verifiera end-to-end-körning innan ni aktiverar arbetsflödet i produktion.

  1. Klicka på Execute Workflow och skicka in Inbound Form Trigger med en riktig webbplats-URL.
  2. Bekräfta att Browser Crawl Runner returnerar HTML och att Script URL Extractor matar ut script-URL:er.
  3. Verifiera att Security Scan Agent returnerar en rapport i plain text och att Email Report Formatter skapar htmlReport.
  4. Kontrollera att Dispatch Gmail Notice skickar e-post till er adress med den formaterade rapporten.
  5. Växla arbetsflödet till Active för att ta emot inskickningar live från Inbound Form Trigger.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Gmail-inloggningar kan löpa ut eller kräva specifika behörigheter. Om saker slutar fungera, kontrollera statusen för det anslutna kontot i Gmail-noden och återautentisera först.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram misslyckas på grund av tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera output för alltid.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för OpenAI Gmail scans?

Cirka 30 minuter om dina Gmail- och OpenAI-konton är redo.

Behöver jag kodkunskaper för att automatisera OpenAI Gmail scans?

Nej. Du kopplar mest konton och klistrar in din OpenAI-nyckel. De enda ”kod”-delarna finns redan med i arbetsflödet.

Är n8n gratis att använda för det här arbetsflödet för OpenAI Gmail scans?

Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in OpenAI API-kostnader, som oftast är några cent per skanning beroende på scriptstorlek.

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här arbetsflödet för OpenAI Gmail scans för skanning av flera sidor?

Ja, men du bör vara tydlig med omfattningen. Du kan justera crawl-beteendet i Puppeteer-steget för att besöka fler URL:er och sedan behålla samma mönster ”extrahera script → aggregera → AI-agent skannar”. Vanliga anpassningar är att skanna en URL-lista från Google Sheets, lägga till allow/deny-regler för tredjepartsdomäner och ändra rapportformatet så att det inkluderar allvarlighetsgrad-taggar.

Varför misslyckas min Gmail-anslutning i det här arbetsflödet?

Oftast beror det på att OAuth-auktoriseringen har löpt ut eller att fel Gmail-konto är anslutet i n8n. Anslut Gmail på nytt i Gmail-noden och skicka sedan ett testmejl för att bekräfta behörigheter. Om du är i en Google Workspace-miljö kan en adminpolicy också blockera ”mindre vanliga” appintegrationer, så kontrollera Workspace-säkerhetsinställningarna om återautentiseringen fastnar i en loop.

Hur många URL:er klarar den här automatiseringen för OpenAI Gmail scans?

I en typisk self-hosted-setup klarar den så många som din server kan crawla bekvämt och din OpenAI-budget tillåter.

Är den här automatiseringen för OpenAI Gmail scans bättre än att använda Zapier eller Make?

För det här användningsfallet är n8n oftast bättre, eftersom webbläsarcrawling med Puppeteer och AI-agentflödet är mer avancerat än vad de flesta Zapier-liknande byggare hanterar smidigt. Du får också mer kontroll över batchning, aggregering och villkorslogik utan att betala extra för varje gren. Samtidigt: om du bara vill ha ett enkelt flöde ”skicka in URL, mejla mig ett svar” utan crawling kan Zapier eller Make gå snabbare. Det här arbetsflödet använder också community-noder som bara är kompatibla med self-hosted n8n, vilket i praktiken kan vara en deal-breaker för vissa team. Prata med en automationsexpert om du vill ha hjälp att välja den enklaste vägen.

Du kör skanningen, får mejlet och går vidare med dagen. Ärligt talat är den typen av tråkig tillförlitlighet exakt vad säkerhetsarbete behöver.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Launch login modal Launch register modal