SkillScanner: Garantire la Conformità nelle App Vocali
Uno strumento per aiutare gli sviluppatori a seguire le linee guida delle applicazioni vocali.
― 6 leggere min
Indice
- Contesto
- Il Problema delle Violazioni delle Politiche
- Risultati dello Studio sugli Utenti
- Introduzione a SkillScanner
- Panoramica del Sistema
- Analisi delle Attività di Raccolta Dati
- Analisi del Flusso di Dati
- Violazioni della Privacy
- Conformità alle Linee Guida sui Contenuti
- Rilevamento delle Incoerenze
- Valutazione di SkillScanner
- Raccolta e Analisi di Competenze Open-Source
- Conclusione
- Lavori Futuri
- Fonte originale
- Link di riferimento
Gli Assistenti Vocali Personali (VPA) come Amazon Alexa sono cresciuti rapidamente, permettendo agli sviluppatori di creare migliaia di applicazioni vocali, o "competenze." Anche se questa apertura invita all'innovazione, porta anche a problemi come le violazioni delle politiche nelle competenze, che possono danneggiare gli utenti. Per affrontare questo, abbiamo sviluppato uno strumento chiamato SkillScanner, che rileva potenziali violazioni delle politiche durante la fase di sviluppo.
Contesto
La piattaforma Amazon Alexa ha linee guida severe che gli sviluppatori devono seguire mentre creano competenze. Queste linee guida includono protezioni della Privacy e standard di contenuto. Ad esempio, le competenze non devono raccogliere informazioni personali senza una politica sulla privacy o chiedere contenuti inappropriati. Nonostante queste linee guida, molte competenze sulla piattaforma violano queste regole.
Il Problema delle Violazioni delle Politiche
Molti sviluppatori non sono a conoscenza delle politiche specifiche da seguire quando creano competenze. Il nostro studio sugli utenti ha mostrato che c'è un significativo divario tra i requisiti stabiliti da Amazon e le pratiche effettive degli sviluppatori. Di conseguenza, le competenze che violano queste politiche spesso arrivano nello store delle competenze, portando a potenziali rischi per gli utenti.
Risultati dello Studio sugli Utenti
Abbiamo condotto uno studio sugli utenti con sviluppatori di competenze per capire la loro consapevolezza riguardo ai requisiti delle politiche Amazon. I risultati erano preoccupanti. Mentre la maggior parte degli sviluppatori dichiarava di conoscere le politiche, molti non riuscivano a identificare effettive violazioni nelle competenze. Questo ha evidenziato la necessità di una formazione e di strumenti migliori per aiutare gli sviluppatori a comprendere e rispettare queste politiche.
Introduzione a SkillScanner
SkillScanner è progettato per aiutare gli sviluppatori terzi a identificare potenziali violazioni delle politiche nelle loro competenze prima che vengano pubblicate. Utilizzando tecniche di analisi statica, può esaminare il codice e segnalare problemi relativi alle linee guida sulla privacy e sul contenuto.
Panoramica del Sistema
SkillScanner funziona localmente sui computer degli sviluppatori, permettendo loro di analizzare il proprio codice senza esporre informazioni riservate. Questo strumento si concentra sul rilevamento di violazioni relative ai requisiti di privacy e alle Linee guida sui contenuti.
Raccolta Dati
Analisi delle Attività diUna delle funzioni principali di SkillScanner è rilevare le attività di raccolta dati. Le competenze possono raccogliere dati degli utenti in due modi: attraverso conversazioni o richiedendo permessi. Lo strumento identifica queste attività nel codice della competenza, tracciando come vengono utilizzati i dati raccolti.
Raccolta Dati Conversazionale
Spesso le competenze chiedono agli utenti informazioni personali durante le interazioni. SkillScanner esamina il codice back-end per richieste di raccolta dati, come "Qual è il tuo nome?" Se una competenza richiede dati, controlla anche se ci sono slot corrispondenti nel codice front-end progettati per gestire queste richieste.
Raccolta Dati Basata su Permessi
Oltre alle richieste conversazionali, le competenze possono raccogliere informazioni chiedendo permessi per accedere ai dati degli utenti. SkillScanner identifica queste richieste di permessi nel codice e verifica se i dati richiesti vengono effettivamente utilizzati dalla competenza.
Analisi del Flusso di Dati
Una volta identificate le attività di raccolta dati, SkillScanner esegue un'analisi del flusso di dati. Questo processo comporta il tracciamento di come i dati utente raccolti vengono utilizzati nel codice back-end della competenza. L'obiettivo è garantire che i dati vengano utilizzati in modo appropriato e rilevare eventuali incoerenze nel modo in cui vengono raccolti e utilizzati.
Violazioni della Privacy
La privacy è una preoccupazione importante nello sviluppo delle competenze. SkillScanner verifica se le competenze forniscono politiche sulla privacy valide e se queste politiche corrispondono alle pratiche effettive dei dati della competenza. Identifica anche i casi in cui le competenze richiedono più permessi di quanti ne necessitino, violando il principio del minimo privilegio.
Conformità alle Linee Guida sui Contenuti
Oltre alla privacy, SkillScanner analizza le competenze per la conformità alle linee guida sui contenuti. Questo include controllare contenuti inappropriati, pubblicità ingannevole e assicurarsi che le competenze non chiedano esplicitamente agli utenti valutazioni positive. Lo strumento utilizza vari metodi per valutare se il contenuto fornito dalle competenze rispetta gli standard di Amazon.
Rilevamento delle Incoerenze
SkillScanner cerca anche incoerenze tra il codice front-end e back-end delle competenze. Ad esempio, se una competenza raccoglie dati degli utenti nel codice back-end ma non ha un'intenzione corrispondente nel codice front-end per elaborare quei dati, la competenza potrebbe non funzionare correttamente. Lo strumento aiuta gli sviluppatori a identificare questi potenziali bug presto nel processo di sviluppo.
Valutazione di SkillScanner
Per valutare l'efficacia di SkillScanner, lo abbiamo testato su una collezione di competenze open-source da GitHub. La valutazione mirava a rispondere a tre domande principali:
- Quanto efficacemente SkillScanner cattura comportamenti sensibili di raccolta e utilizzo dei dati nelle competenze?
- Quanto bene identifica le violazioni delle politiche nelle competenze open-source?
- Quali sono le principali ragioni delle violazioni simili delle politiche trovate in diverse competenze?
Raccolta e Analisi di Competenze Open-Source
Abbiamo raccolto un totale di 2.451 competenze open-source e abbiamo effettuato un'analisi per vedere quante contenevano richieste di raccolta dati sensibili. Abbiamo identificato che un numero significativo di competenze chiede informazioni personali come nomi, compleanni e posizioni. I risultati hanno mostrato che molte competenze non hanno una gestione appropriata per questi dati nel codice front-end.
Conclusione
Con la crescita delle applicazioni vocali, diventa sempre più importante assicurarsi che queste competenze seguano le linee guida stabilite da piattaforme come Amazon Alexa. SkillScanner è uno strumento fondamentale per aiutare gli sviluppatori a rispettare queste politiche, riducendo le possibilità di violazioni e migliorando la sicurezza degli utenti. Identificando potenziali problemi presto nella fase di sviluppo, SkillScanner contribuisce a un ecosistema più sano per le applicazioni vocali, beneficiando alla fine sia gli sviluppatori che gli utenti.
Lavori Futuri
Puntiamo a continuare a migliorare SkillScanner espandendo le sue capacità e affinando i suoi metodi di rilevamento. Inoltre, pianifichiamo di lavorare a stretto contatto con la comunità degli sviluppatori per aumentare la consapevolezza riguardo alla conformità alle politiche e alle migliori pratiche per creare applicazioni vocali sicure ed efficaci.
In sintesi, SkillScanner è un passo cruciale per mantenere l'integrità e la sicurezza delle applicazioni vocali su piattaforme come Amazon Alexa. Aiutando gli sviluppatori a rispettare le politiche, possiamo creare un'esperienza migliore per gli utenti e favorire la fiducia nella tecnologia vocale.
Titolo: SkillScanner: Detecting Policy-Violating Voice Applications Through Static Analysis at the Development Phase
Estratto: The Amazon Alexa marketplace is the largest Voice Personal Assistant (VPA) platform with over 100,000 voice applications (i.e., skills) published to the skills store. In an effort to maintain the quality and trustworthiness of voice-apps, Amazon Alexa has implemented a set of policy requirements to be adhered to by third-party skill developers. However, recent works reveal the prevalence of policy-violating skills in the current skills store. To understand the causes of policy violations in skills, we first conduct a user study with 34 third-party skill developers focusing on whether they are aware of the various policy requirements defined by the Amazon Alexa platform. Our user study results show that there is a notable gap between VPA's policy requirements and skill developers' practices. As a result, it is inevitable that policy-violating skills will be published. To prevent the inflow of new policy-breaking skills to the skills store from the source, it is critical to identify potential policy violations at the development phase. In this work, we design and develop SkillScanner, an efficient static code analysis tool to facilitate third-party developers to detect policy violations early in the skill development lifecycle. To evaluate the performance of SkillScanner, we conducted an empirical study on 2,451 open source skills collected from GitHub. SkillScanner effectively identified 1,328 different policy violations from 786 skills. Our results suggest that 32% of these policy violations are introduced through code duplication (i.e., code copy and paste). In particular, we found that 42 skill code examples from potential Alexa's official accounts (e.g., "alexa" and "alexa-samples" on GitHub) contain policy violations, which lead to 81 policy violations in other skills due to the copy-pasted code snippets from these Alexa's code examples.
Autori: Song Liao, Long Cheng, Haipeng Cai, Linke Guo, Hongxin Hu
Ultimo aggiornamento: 2023-09-11 00:00:00
Lingua: English
URL di origine: https://arxiv.org/abs/2309.05867
Fonte PDF: https://arxiv.org/pdf/2309.05867
Licenza: https://creativecommons.org/licenses/by/4.0/
Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.
Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.
Link di riferimento
- https://github.com/CUSecLab/SkillScanner
- https://www.michaelshell.org/
- https://www.michaelshell.org/tex/ieeetran/
- https://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/
- https://www.ieee.org/
- https://www.latex-project.org/
- https://www.michaelshell.org/tex/testflow/
- https://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/
- https://www.ctan.org/tex-archive/macros/latex/contrib/cite/
- https://www.ctan.org/tex-archive/macros/latex/required/graphics/
- https://www.ctan.org/tex-archive/info/
- https://www.tug.org/applications/pdftex
- https://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/
- https://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/
- https://algorithms.berlios.de/index.html
- https://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/
- https://www.ctan.org/tex-archive/macros/latex/required/tools/
- https://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/
- https://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/
- https://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/
- https://www.ctan.org/tex-archive/macros/latex/contrib/subfig/
- https://www.ctan.org/tex-archive/macros/latex/contrib/caption/
- https://www.ctan.org/tex-archive/macros/latex/base/
- https://www.ctan.org/tex-archive/macros/latex/contrib/sttools/
- https://www.ctan.org/tex-archive/macros/latex/contrib/misc/
- https://www.michaelshell.org/contact.html
- https://dx.doi.org/10.14722/yyy.2023.24xxx
- https://www.alliantcybersecurity.com/researchers-identified-that-amazon-alexa-can-learn-malicious-skills/