サンプルコード解説

問題のあるソースコード

それでは、実際に問題のあるソースコードを見てみましょう。
以下のコードは、権限を取得している部分です。
このアプリは、実際にはまったく権限を必要としません。しかし、多くの権限を取得していることが確認できます。
プロジェクト Permission
ソースファイル AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="jp.go.ipa.permission"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="8" />
    <!-- ▼▼▼マルウェアと誤解される可能性のあるソースコード▼▼▼ -->
    <!-- 完全なインターネットアクセス -->
    <uses-permission android:name="android.permission.INTERNET"/>
    <!-- 連絡先データの読み取り -->
    <uses-permission android:name="android.permission.READ_CONTACTS"/>
    <!-- カレンダーの予定の読み取り -->
    <uses-permission android:name="android.permission.READ_CALENDAR"/>
    <!-- 単語リストの読み込み -->
    <uses-permission android:name="android.permission.READ_USER_DICTIONARY"/>
    <!-- ブラウザの履歴とブックマークを書き込む -->
    <uses-permission android:name="android.permission.WRITE_HISTORY_BOOKMARKS"/>
    <!-- 機密ログデータの読み取り -->
    <uses-permission android:name="android.permission.READ_LOGS"/>
    <!-- 実行中のプロセスの数を制限 -->
    <uses-permission android:name="android.permission.SET_ALWAYS_FINISH"/>
    <!-- SMSメッセージの送信 -->
    <uses-permission android:name="android.permission.SEND_SMS"/>
    <!-- 電話番号発信 -->
    <uses-permission android:name="android.permission.CALL_PHONE"/>
    <!-- SMSの受信 -->
    <uses-permission android:name="android.permission.RECEIVE_SMS"/>
    <!-- SMSの読み取り -->
    <uses-permission android:name="android.permission.READ_SMS"/>
    <!-- 精細な位置情報(GPS) -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <!-- おおよその位置情報(ネットワーク基地局) -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <!-- BLUETOOTH接続の作成 -->
    <uses-permission android:name="android.permission.BLUETOOTH"/>
    <!-- SDカードのコンテンツを修正/削除する -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <!-- 録音 -->
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <!-- 写真と動画の撮影 -->
    <uses-permission android:name="android.permission.CAMERA"/>
    <!-- システムの全般設定の変更 -->
    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
    <!-- 実行中のアプリの取得 -->
    <uses-permission android:name="android.permission.GET_TASKS"/>
    <!-- タイムゾーンの設定 -->
    <uses-permission android:name="android.permission.SET_TIME_ZONE"/>
    <!-- 外部ストレージのフォーマット -->
    <uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"/>
    <!-- キーロックを無効にする -->
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
    <!-- Wi-Fi状態の変更 -->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <!-- BLUETOOTHの管理 -->
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
    <!--▲▲▲マルウェアと誤解される可能性のあるソースコード▲▲▲ -->