SkillScanner: ボイスアプリのコンプライアンスを確保する
開発者が音声アプリのガイドラインに沿うのを助けるツール。
― 1 分で読む
目次
アマゾンのアレクサみたいな音声パーソナルアシスタント(VPA)が急速に成長していて、開発者は「スキル」と呼ばれる何千もの音声アプリを作れるようになった。このオープンさは革新を呼び込むけど、スキルのポリシー違反みたいな問題も引き起こす可能性があって、ユーザーに害を及ぼすことも。これを解決するために、SkillScannerっていうツールを開発したんだ。これは開発段階でポリシー違反の可能性を検出するものだよ。
背景
アマゾン・アレクサのプラットフォームには、開発者がスキルを作るときに従わないといけない厳しいガイドラインがある。このガイドラインにはプライバシー保護やコンテンツ基準が含まれていて、例えば、スキルはプライバシーポリシーなしに個人情報を集めたり、不適切なコンテンツを要求したりしてはいけない。けど、これらのガイドラインにも関わらず、多くのスキルがルールを違反してるんだ。
ポリシー違反の問題
多くの開発者は、スキルを作るときにどのポリシーに従うべきかを知らないんだ。私たちのユーザースタディでは、アマゾンが設定した要件と開発者の実際の実践の間に大きなギャップがあることがわかった。その結果、ポリシーに違反するスキルがスキルストアに入り込んでしまって、ユーザーに危険をもたらすことになる。
ユーザースタディの結果
スキル開発者にアマゾンのポリシー要件についての認識を理解するためにユーザースタディを実施したんだけど、結果は懸念すべきものだった。ほとんどの開発者がポリシーを知っていると主張していたものの、実際のスキルにおける違反を特定できなかった人が多かった。これが、開発者がこれらのポリシーを理解し、遵守するためのより良いトレーニングとツールが必要だということを示している。
SkillScannerの紹介
SkillScannerは、第三者の開発者がスキルを公開する前にポテンシャルなポリシー違反を特定できるように設計されてる。静的分析手法を使って、コードを調べてプライバシーやコンテンツのガイドラインに関する問題を報告することができるよ。
システムの概要
SkillScannerは開発者のマシンでローカルに動作するから、プロプライエタリな情報を曝露することなくコードを分析できる。このツールは、プライバシー要件とコンテンツガイドラインに関連する違反を検出することに注力している。
データ収集活動の分析
SkillScannerのコア機能の一つはデータ収集活動を検出すること。スキルはユーザーのデータを2つの方法で集めることができる:会話を通じてや、権限を要求することで。このツールはスキルのコード内でこうした活動を特定し、収集されたデータがどのように利用されるかを追跡する。
会話によるデータ収集
スキルは、やり取りの中でユーザーに個人情報を聞くことが多い。SkillScannerはバックエンドコードをスキャンして、データ収集のリクエストを探す。例えば「あなたの名前は何ですか?」みたいな感じ。データを要求するスキルがある場合、そのリクエストを処理するためのフロントエンドコードに対応するスロットがあるかもチェックする。
権限ベースのデータ収集
会話によるリクエストの他にも、スキルはユーザーデータにアクセスするための権限を要求することで情報を集めることができる。SkillScannerはこの権限リクエストをコード内で特定し、要求されたデータが実際にスキルによって使用されているかを追跡する。
データフロー分析
データ収集活動が特定されると、SkillScannerはデータフロー分析を実施する。このプロセスでは、収集されたユーザーデータがスキルのバックエンドコードでどのように利用されているかを追跡する。目標は、データが適切に使用されていることを確保し、データの収集と使用における不整合を検出することだ。
プライバシー違反
プライバシーはスキルの開発において大きな懸念事項なんだ。SkillScannerは、スキルが有効なプライバシーポリシーを提供しているか、また、これらのポリシーがスキルの実際のデータ使用慣行と一致しているかを確認する。さらに、スキルが必要以上の権限を要求している場合を特定して、最小権限の原則に違反しているかを見つける。
コンテンツガイドラインの遵守
プライバシーの他にも、SkillScannerはコンテンツガイドラインの遵守も分析する。これには不適切なコンテンツ、虚偽広告をチェックしたり、スキルがユーザーに明示的にポジティブな評価を求めないようにすることが含まれる。このツールは、スキルがアマゾンの基準に沿ったコンテンツを提供しているかどうか評価するためのさまざまな方法を使用する。
不整合の検出
SkillScannerは、スキルのフロントエンドとバックエンドコードの不整合も探す。例えば、スキルがバックエンドコードでユーザーデータを収集しているのに、そのデータを処理するための対応する意図がフロントエンドコードにない場合、スキルが正しく機能しないかもしれない。このツールは、開発プロセスの早い段階で開発者がこれらの潜在的なバグを特定するのを助ける。
SkillScannerの評価
SkillScannerの効果を評価するために、GitHubから集めたオープンソーススキルのコレクションで評価を行った。この評価では、主に次の3つの質問に答えようとした:
- SkillScannerはスキル内の敏感なデータ収集と使用の行動をどれだけ効果的にキャッチするのか?
- オープンソーススキルのポリシー違反をどれだけ特定できるのか?
- 異なるスキルに見られる同様のポリシー違反の主な理由は何か?
オープンソーススキルの収集と分析
合計で2,451のオープンソーススキルを収集して、どれだけのスキルが敏感なデータ収集リクエストを含んでいるか分析した。多くのスキルが名前や誕生日、場所などの個人情報を求めていることがわかった。結果として、多くのスキルがこのデータをフロントエンドコードで適切に扱っていないことが明らかになった。
結論
音声アプリが成長する中で、これらのスキルがアマゾン・アレクサのようなプラットフォームが設定したガイドラインに従うことがますます重要になっている。SkillScannerは、開発者がこれらのポリシーを遵守するのを助ける重要なツールとして機能し、ポリシー違反の可能性を減らし、ユーザーの安全を高めることができる。開発段階で潜在的な問題を早期に特定することによって、SkillScannerは音声アプリのより健康的なエコシステムに貢献し、最終的には開発者とユーザーの両方に利益をもたらす。
今後の取り組み
私たちは、SkillScannerの機能を拡張し、検出メソッドを洗練させていく計画だ。また、開発者コミュニティと密接に協力して、ポリシー遵守や安全で効果的な音声アプリを作るためのベストプラクティスについての認識を高めていくつもり。
要するに、SkillScannerはアマゾン・アレクサのようなプラットフォームで音声アプリケーションの整合性と安全性を維持するための重要な一歩なんだ。開発者がポリシーを守るのを助けることで、ユーザーにとってより良い体験を作り出し、音声技術への信頼を育むことができる。
タイトル: SkillScanner: Detecting Policy-Violating Voice Applications Through Static Analysis at the Development Phase
概要: 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.
著者: Song Liao, Long Cheng, Haipeng Cai, Linke Guo, Hongxin Hu
最終更新: 2023-09-11 00:00:00
言語: English
ソースURL: https://arxiv.org/abs/2309.05867
ソースPDF: https://arxiv.org/pdf/2309.05867
ライセンス: https://creativecommons.org/licenses/by/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。
参照リンク
- 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/