Åtgärda säkerhetsbrist med känsligt JavaScript-gränssnitt

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

Alla appar där säkerhetsbristen inte har åtgärdats kan tas bort från Google Play efter det datum som anges på Play Console.

Åtgärd krävs​

  1. Ö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.
  2. Uppdatera de berörda apparna och åtgärda säkerhetsbristen.
  3. 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:

  1. Se till att det inte går att lägga till några objekt överhuvudtaget i JavaScript-gränssnittet med anrop till addJavascriptInterface.
  2. 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:

  1. 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.
  2. 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.

 

Var det här till hjälp?

Hur kan vi förbättra den?

Behöver du mer hjälp?

Testa detta härnäst:

Sök
Rensa sökning
Stäng sökrutan
Huvudmeny
4478510496885384332
true
Sök i hjälpcentret
true
true
true
true
true
92637
false
false