Den här informationen är avsedd för utvecklare vars app har en säkerhetsbrist i form av ett känsligt JavaScript-gränssnitt.
Detta händer
Läs mer i meddelandet på Play Console.
Åtgärd krävs
- Öppna e-postaviseringen som skickades från Google Play till kontoägarens e-postadress. Där ser du vilka appar som berörs och när problemet måste vara åtgärdat.
- Uppdatera de berörda apparna och åtgärda säkerhetsbristen.
- Skicka in uppdaterade versioner av de berörda apparna.
När du skickar in den nya appversionen granskas den på nytt. Granskningen kan ta flera timmar. Om appen blir godkänd vid granskningen och publiceras utan problem behöver du inte göra något mer. Om appen inte blir godkänd vid granskningen kommer den nya appversionen inte att publiceras och du meddelas via e-post.
Ytterligare information
Som anges i policyn mot otillåten användning av enheter och nätverk får appar eller kod från tredje part (t.ex. SDK:er) med JavaScript som läses in vid körning inte gå att utnyttja till potentiella överträdelser av Plays utvecklarpolicy.
I den här artikeln räknas alla objekt som exponerar funktioner för en WebView via metoden addJavascriptInterface
i en WebView som ett JavaScript-gränssnitt enligt beskrivningen på bloggen Google Developers om att skapa webbappar i WebView.
Säkerhetsbrister av det här slaget öppnar för missbruk av användardata och för skadlig programvara via JavaScript-gränssnitt. Beroende på vilket gränssnitt som exponerats kan konsekvensen bli oväntad datainsamling och datastöld liksom potentiellt skadliga appar utan apputvecklarens eller SDK-utvecklarens kännedom.
Vi rekommenderar att du åtgärdar säkerhetsbristen på något av följande sätt:
Alternativ 1: Säkerställ att ingen WebView lägger till objekt i JavaScript-gränssnittet
Se till att inga objekt läggs till i JavaScript-gränssnittet för någon WebView som läser in osäkert webbinnehåll. Det kan du göra på två sätt:
- Se till att det inte går att lägga till några objekt överhuvudtaget i JavaScript-gränssnittet med anrop till addJavascriptInterface.
-
Ta bort objekt från JavaScript-gränssnittet i shouldInterceptRequest via removeJavascriptInterface innan osäkert innehåll läses in i en WebView.
Alternativ 2: Kontrollera att känsliga funktioner inte exponeras via ett JavaScript-gränssnitt
Se till att inga känsliga funktioner (som Android API-anrop som kräver behörighet) läggs till i JavaScript-gränssnitt. Det innebär till exempel att inga känsliga uppgifter, som information om användaren eller enheten, får samlas in och att inga API:er för exempelvis tillgänglighet eller sms får exponeras. Säkerhetsbristen kan åtgärdas på flera sätt med detta alternativ:
- Implementera om alla funktioner som kräver känsliga behörigheter eller som samlar in känsliga uppgifter så att de anropas från kod som bakats in i appen. Se till att en tydlig redogörelse visas för användarna.
- Ta bort alla funktioner som ger åtkomst till känsliga funktioner eller användaruppgifter som är tillgängliga via gränssnittet.
Alternativ 3: Säkerställ att känsliga funktioner inte exponeras för innehåll som inte är betrott i en WebView
En WebView som innehåller känsliga funktioner får inte läsa in godtycklig JavaScript-kod från okända källor, och det måste finnas en tydlig redogörelse för vilka uppgifter eller funktioner som används. Se till att endast strikt avgränsade webbadresser och innehåll som apputvecklaren äger läses in i en WebView.
Om den här säkerhetsbristen inte åtgärdas kommer vi att vidta åtgärder mot potentiell överträdelse av Plays policy.
Vi hjälper dig gärna
Om du har läst igenom policyn och anser att vi har fattat ett felaktigt beslut kontaktar du vårt supportteam för policyfrågor. Vi hör av oss inom två arbetsdagar.
Tack för att du hjälper oss att göra Google Play till en positiv upplevelse för såväl utvecklare som konsumenter.