実際に脆弱性のあるソースコードを確認し、修正してみましょう。
まず、「ソースコードを開く」ボタンをクリックし、「AndroidManifest.xml」を開いてください。
ソースコードを開く
修正前:
プロジェクト |
ComponentActivityExported |
ソースファイル |
AndroidManifest.xml |
<!-- ▼▼▼脆弱性のあるソースコード▼▼▼ -->
<!-- exported属性をtrueに設定。 -->
<activity
android:name="jp.go.ipa.component.activity.exported.UploadActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:exported="true"/>
<!-- ▲▲▲脆弱性のあるソースコード▲▲▲ -->
|
このアプリには脆弱性対策を行うべき箇所が1箇所あります。修正例は以下の通りです。
-
37行目
android:exported属性に設定している値をtrueからfalseに修正します。
android:exported属性は、コンポーネントを他のアプリに対して公開するかどうかを指定する項目です。
これをfalseに設定することで、Activityは非公開となり、他アプリから呼び出すことができなくなります。
37行目を以下のようにfalse(赤文字部分)に修正します。
このアプリでは使用していませんが、exportedが未定義でintent-filterが存在していた場合はexportedにtrueを設定していた場合と同様にコンポーネントは公開されます。
非公開にしたい場合はIntentFilterを削除するか、exportedにfalseを設定する記述を追加しましょう。
修正後:
プロジェクト |
ComponentActivityExported |
ソースファイル |
AndroidManifest.xml |
<!-- ▼▼▼脆弱性のあるソースコード▼▼▼ -->
<!-- exported属性をfalseに設定。 -->
<activity
android:name="jp.go.ipa.component.activity.exported.UploadActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:exported="false"/>
<!-- ▲▲▲脆弱性のあるソースコード▲▲▲ -->
|