{% block content %} {% load static %} MobSF Static Analysis Report {% if host_os == 'windows' %} {% else %} {% endif %}
IOS STATIC ANALYSIS REPORT



{% if app_type not in 'Dylib,A' %} app_icon {% else %} app_icon {% endif %}

{{ app_name }} {% if app_version %} ({{app_version}}) {% endif %}






{% if app_type not in 'Dylib,A' %} {% if average_cvss %} {% endif %} {% endif %} {% if trackers|key:"trackers" %} {% endif %} {% if virus_total and virus_total.items|length > 9 and 'request successfully queued' not in virus_total.verbose_msg %} {% endif %}

File Name:

{{file_name}}

Identifier:

{{ bundle_id }}

Scan Date:

{{ timestamp }}

Average CVSS Score:

{% if average_cvss > 6 %} {{ average_cvss }} {% elif average_cvss == 0 %} {{ average_cvss }} {% elif average_cvss >= 4 %} {{ average_cvss }} {% elif average_cvss < 4 %} {{ average_cvss }} {% endif %}

App Security Score:

{% if appsec.security_score < 30 %} {{ appsec.security_score }}/100 (CRITICAL RISK) {% elif appsec.security_score < 40 %} {{ appsec.security_score }}/100 (HIGH RISK) {% elif appsec.security_score < 60 %} {{ appsec.security_score }}/100 (MEDIUM RISK) {% else %} {{ appsec.security_score }}/100 (LOW RISK) {% endif %}

Grade:

F {% elif appsec.security_score < 40 %} #ffc107">C {% elif appsec.security_score < 60 %} #f4ff45">B {% else %} #28a745">A {% endif %}

Trackers Detection:

0 %} class="warning" {% endif %}>{{ trackers.detected_trackers }}/{{ trackers.total_trackers }}

VirusTotal Detection:

{{ virus_total.positives }}/{{ virus_total.total }}

{% if app_type not in 'Dylib,A' %}

















FINDINGS SEVERITY

HIGH MEDIUM INFO SECURE HOTSPOT

{{ appsec.high | length}}

{{ appsec.warning | length}}

{{ appsec.info | length}}

{{ appsec.secure | length}}

{{ appsec.hotspot | length}}

{% endif %}

FILE INFORMATION

File Name:
{{ file_name }}
Size:
{{ size }}
MD5:
{{ md5 }}
SHA1:
{{ sha1 }}
SHA256:
{{ sha256 }}
{% if app_type not in 'Dylib,A' %}

APP INFORMATION

App Name:
{{ app_name }}
App Type:
{{ app_type }}
Identifier:
{{ bundle_id }}
SDK Name:
{{ sdk_name }}
Version:
{{ app_version }}
Build:
{{ build }}
Platform Version:
{{ platform }}
Min OS Version:
{{ min_os_version }}
Supported Platforms:
{% for pl in bundle_supported_platforms %} {{pl}}, {% endfor %}
{% endif %} {% if binary_info %}

BINARY INFORMATION

Arch:
{{ binary_info.arch }}
Sub Arch:
{{ binary_info.subarch }}
Bit:
{{ binary_info.bit }}
Endian:
{{ binary_info.endian }}
{% endif %} {% if bundle_url_types|length > 0 %}

CUSTOM URL SCHEMES

{% for scheme in bundle_url_types %} {% endfor %}
URL NAME SCHEMES
{{scheme | key:"CFBundleURLName" }} {% if scheme|key:"CFBundleTypeRole" %}
{{scheme | key:"CFBundleTypeRole" }} {% endif %}
{% if scheme|key:"CFBundleURLSchemes" %} {% for ul in scheme.CFBundleURLSchemes %} {{ul}}
{% endfor %} {% endif %}
{% endif %} {% if permissions %}

APPLICATION PERMISSIONS

{% for perm,desc in permissions.items %} {% endfor %}
PERMISSIONS STATUS INFO REASON IN MANIFEST
{{ perm }} {{ desc.status }} {{ desc.info}} {{ desc.description }}
{% endif %} {% if ats_analysis %}

APP TRANSPORT SECURITY (ATS)

{% if ats_analysis and 'ats_summary' in ats_analysis and ats_analysis.ats_summary|length > 0 %} HIGH:
{{ ats_analysis.ats_summary.high }}
| WARNING:
{{ ats_analysis.ats_summary.warning }}
| INFO:
{{ ats_analysis.ats_summary.info }}
| SECURE:
{{ ats_analysis.ats_summary.secure }}
{% endif %}
{% if ats_analysis and 'ats_findings' in ats_analysis %} {% for findings in ats_analysis.ats_findings %} {% endfor %} {% endif %}
NO ISSUE SEVERITY DESCRIPTION
{{ forloop.counter }} {{findings.issue}} {% if findings.severity == "high" %} high {% elif findings.severity == "secure" %} secure {% elif findings.severity == "warning" %} warning {% elif findings.severity == "info" %} info {% endif %} {{findings.description}}
{% endif %} {% if app_type not in 'Dylib,A' %} {% endif %} {% if virus_total and virus_total.items|length > 9 and 'request successfully queued' not in virus_total.verbose_msg %}

VIRUSTOTAL SCAN

{{ virus_total.positives }} / {{ virus_total.total }}
  AVs found this file Malicious!

{% if virus_total.positives %} {% for av_name,av_result in virus_total.scans.items %} {% if av_result.detected == True %} {% endif %} {% endfor %}
AV DETECTION
{{ av_name }} {{ av_result.result }}
{% endif %} {% endif %} {% if binary_analysis %}

{% if app_type not in 'Dylib,A' %}IPA {% endif %}BINARY CODE ANALYSIS

{% if binary_analysis and 'summary' in binary_analysis and binary_analysis.summary|length > 0 %} HIGH:
{{ binary_analysis.summary.high }}
| WARNING:
{{ binary_analysis.summary.warning }}
| INFO:
{{ binary_analysis.summary.info }}
| SECURE:
{{ binary_analysis.summary.secure }}
| SUPPRESSED:
{{ binary_analysis.summary.suppressed }}
{% endif %}
{% if binary_analysis and 'findings' in binary_analysis %} {% for issue, details in binary_analysis.findings.items %} {% endfor %} {% endif %}
NO ISSUE SEVERITY STANDARDS DESCRIPTION
{{ forloop.counter }} {{ issue }} {% if details|key:"severity" == 'info' %} info {% elif details|key:"severity" == 'good' %} secure {% elif details|key:"severity" == 'high' %} high {% elif details|key:"severity" == 'warning' %} warning {% endif %} {% if average_cvss %}
CVSS V2:
{% if details|key:"cvss" > 6 %} {{ details|key:"cvss" }} (high) {% elif details|key:"cvss" == 0 %} {{ details|key:"cvss" }} (info) {% elif details|key:"cvss" >= 4 %} {{ details|key:"cvss" }} (medium) {% elif details|key:"cvss" < 4 %} {{ details|key:"cvss" }} (low) {% endif %}
{% endif %} {% if details|key:"cwe" %}
CWE:
{{ details|key:"cwe" }}{% endif %} {% if details|key:"owasp-mobile" %}
OWASP Top 10:
{{ details|key:"owasp-mobile" }}{% endif %} {% if details|key:"masvs" %}
OWASP MASVS:
{{ details|key:"masvs" }}{% endif %}
{{ details|key:"detailed_desc" }}
{% endif %} {% if macho_analysis %}

IPA BINARY ANALYSIS

{% if not macho_analysis %} Binary Analysis Failed. {% else %} {% endif %}
PROTECTION STATUS SEVERITY DESCRIPTION
NX {{macho_analysis.nx.has_nx}} {{macho_analysis.nx.severity}} {{macho_analysis.nx.description}}
PIE {{macho_analysis.pie.has_pie}} {{macho_analysis.pie.severity}} {{macho_analysis.pie.description}}
STACK CANARY {{macho_analysis.stack_canary.has_canary}} {{macho_analysis.stack_canary.severity}} {{macho_analysis.stack_canary.description}}
ARC {{macho_analysis.arc.has_arc}} {{macho_analysis.arc.severity}} {{macho_analysis.arc.description}}
RPATH {{macho_analysis.rpath.has_rpath}} {{macho_analysis.rpath.severity}} {{macho_analysis.rpath.description}}
CODE SIGNATURE {{macho_analysis.code_signature.has_code_signature}} {{macho_analysis.code_signature.severity}} {{macho_analysis.code_signature.description}}
ENCRYPTED {{macho_analysis.encrypted.is_encrypted}} {{macho_analysis.encrypted.severity}} {{macho_analysis.encrypted.description}}
SYMBOLS STRIPPED {{macho_analysis.symbol.is_stripped}} {{macho_analysis.symbol.severity}} {{macho_analysis.symbol.description}}
{% endif %} {% if app_type not in 'A' %} {% if dylib_analysis or framework_analysis %}

DYNAMIC LIBRARY & FRAMEWORK BINARY ANALYSIS

{% for dy in dylib_analysis %} {% endfor %} {% for frm in framework_analysis %} {% endfor %}
NO DYLIB/FRAMEWORK NX STACK CANARY ARC RPATH CODE SIGNATURE ENCRYPTED SYMBOLS STRIPPED
{{ forloop.counter }} {{dy.name | relative_path}} {{dy.nx.has_nx}}
{{dy.nx.severity}}

{{dy.nx.description}}
{{dy.stack_canary.has_canary}}
{{dy.stack_canary.severity}}

{{dy.stack_canary.description}}
{{dy.arc.has_arc}}
{{dy.arc.severity}}

{{dy.arc.description}}
{{dy.rpath.has_rpath}}
{{dy.rpath.severity}}

{{dy.rpath.description}}
{{dy.code_signature.has_code_signature}}
{{dy.code_signature.severity}}

{{dy.code_signature.description}}
{{dy.encrypted.is_encrypted}}
{{dy.encrypted.severity}}

{{dy.encrypted.description}}
{{dy.symbol.is_stripped}}
{{dy.symbol.severity}}

{{dy.symbol.description}}
{{ forloop.counter }} {{frm.name}} {{frm.nx.has_nx}}
{{frm.nx.severity}}

{{frm.nx.description}}
{{frm.stack_canary.has_canary}}
{{frm.stack_canary.severity}}

{{frm.stack_canary.description}}
{{frm.arc.has_arc}}
{{frm.arc.severity}}

{{frm.arc.description}}
{{frm.rpath.has_rpath}}
{{frm.rpath.severity}}

{{frm.rpath.description}}
{{frm.code_signature.has_code_signature}}
{{frm.code_signature.severity}}

{{frm.code_signature.description}}
{{frm.encrypted.is_encrypted}}
{{frm.encrypted.severity}}

{{frm.encrypted.description}}
{{frm.symbol.is_stripped}}
{{frm.symbol.severity}}

{{frm.symbol.description}}
{% endif %} {% endif %} {% if app_type in 'A' %}

STATIC LIBRARY BINARY ANALYSIS

{% if binary_info.arch == 'MachO' %} {% if not dylib_analysis %} No Static Objects found. {% endif %} {% for dy in dylib_analysis %} {% endfor %}
NO STATIC OBJECT NX STACK CANARY ARC RPATH SYMBOLS STRIPPED
{{ forloop.counter }} {{dy.name}} {{dy.nx.has_nx}}
{{dy.nx.severity}}
{{dy.nx.description}}
{{dy.stack_canary.has_canary}}
{{dy.stack_canary.severity}}
{{dy.stack_canary.description}}
{{dy.arc.has_arc}}
{{dy.arc.severity}}
{{dy.arc.description}}
{{dy.rpath.has_rpath}}
{{dy.rpath.severity}}
{{dy.rpath.description}}
{{dy.symbol.is_stripped}}
{{dy.symbol.severity}}
{{dy.symbol.description}}
{% else %} {% if not dylib_analysis %} No Static Objects found. {% endif %} {% for so in dylib_analysis %} {% endfor %}
NO SHARED OBJECT NX STACK CANARY RPATH RUNPATH FORTIFY SYMBOLS STRIPPED
{{ forloop.counter }} {{so.name}} {{so.nx.is_nx}}
{{so.nx.severity}}
{{so.nx.description}}
{{so.stack_canary.has_canary}}
{{so.stack_canary.severity}}
{{so.stack_canary.description}}
{{so.rpath.rpath}}
{{so.rpath.severity}}
{{so.rpath.description}}
{{so.runpath.runpath}}
{{so.runpath.severity}}
{{so.runpath.description}}
{{so.fortify.is_fortified}}
{{so.fortify.severity}}
{{so.fortify.description}}
{{so.symbol.is_stripped}}
{{so.symbol.severity}}
{{so.symbol.description}}
{% endif %} {% endif %} {% if app_type not in 'Dylib,A' %} {% if code_analysis %}

CODE ANALYSIS

{% if code_analysis and 'summary' in code_analysis and code_analysis.summary|length > 0 %} HIGH:
{{ code_analysis.summary.high }}
| WARNING:
{{ code_analysis.summary.warning }}
| INFO:
{{ code_analysis.summary.info }}
| SECURE:
{{ code_analysis.summary.secure }}
| SUPPRESSED:
{{ code_analysis.summary.suppressed }}
{% endif %}
{% if code_analysis and 'findings' in code_analysis %} {% for rule, details in code_analysis.findings.items %} {% endfor %} {% endif %}
NO ISSUE SEVERITY STANDARDS FILES
{{ forloop.counter }} {% if details.metadata|key:"ref" %} {{ details.metadata.description }} {% else %} {{ details.metadata.description }} {% endif %} {% if details.metadata.severity == "high" %} high {% elif details.metadata.severity == "good" %} secure {% elif details.metadata.severity == "warning" %} warning {% elif details.metadata.severity == "info" %} info {% endif %} {% if average_cvss %}
CVSS V2:
{% if details.metadata.cvss > 6 %} {{ details.metadata.cvss }} (high) {% elif details.metadata.cvss == 0 %} {{ details.metadata.cvss }} (info) {% elif details.metadata.cvss >= 4 %} {{ details.metadata.cvss }} (medium) {% elif details.metadata.cvss < 4 %} {{ details.metadata.cvss }} (low) {% endif %}
{% endif %} {% if details.metadata.cwe %}CWE: {{details.metadata.cwe }}{% endif %} {% if details.metadata|key:"owasp-mobile" %}
OWASP Top 10: {{ details.metadata|key:"owasp-mobile" }}{% endif %} {% if details.metadata.masvs %}
OWASP MASVS: {{ details.metadata.masvs }}{% endif %}
{% for file_path in details.files %} {{ file_path }}
{% endfor %}
{% endif %} {% endif %} {% if domains %}

OFAC SANCTIONED COUNTRIES

This app may communicate with the following OFAC sanctioned list of countries.

{% for domain, details in domains.items %} {% if details|key:"ofac" == True %} {% endif %} {% endfor %}
DOMAIN COUNTRY/REGION
{{domain}} IP: {{details|key:"geolocation"|key:"ip"}}
Country: {{details|key:"geolocation"|key:"country_long"}}
Region: {{details|key:"geolocation"|key:"region"}}
City: {{details|key:"geolocation"|key:"city"}}

DOMAIN MALWARE CHECK

{% for domain, details in domains.items %} {% endfor %}
DOMAIN STATUS GEOLOCATION
{{domain}} {% if details|key:"bad" == "yes" %} malware
URL:
{{details|key:"domain_or_url"}}
IP:
{{details|key:"ip"}}
Description:
{{details|key:"desc"}} {% else %} ok
{% endif %}
{% if details|key:"geolocation" %}
IP:
{{details|key:"geolocation"|key:"ip"}}
Country:
{{details|key:"geolocation"|key:"country_long"}}
Region:
{{details|key:"geolocation"|key:"region"}}
City:
{{details|key:"geolocation"|key:"city"}}
Latitude:
{{details|key:"geolocation"|key:"latitude"}}
Longitude:
{{details|key:"geolocation"|key:"longitude"}}
View:
Google Map {% else %} No Geolocation information available. {% endif %}
{% endif %} {% if app_type in 'Dylib,A' %} {% if urls %}

URLS

{% for urldict in urls %} {% endfor %}
URL FILE
{% for u in urldict|key:"urls" %} {{ u }}
{% endfor %}
{{urldict|key:"path"}}
{% endif %} {% endif %} {% if firebase_urls %}

FIREBASE DATABASES

{% for item in firebase_urls %} {% endfor %}
FIREBASE URL DETAILS
{{ item.url }} {% if item.open %} high
Firebase DB is exposed publicly. {% else %} info
App talks to a Firebase Database. {% endif %}
{% endif %} {% if emails %}

EMAILS

{% for email_dict in emails %} {% endfor %}
EMAIL FILE
{% for em in email_dict|key:"emails" %} {{ em }}
{% endfor %}
{{email_dict|key:"path"}}
{% endif %} {% if trackers|key:"trackers" %}

TRACKERS

{% for trk in trackers|key:"trackers" %} {% endfor %}
TRACKER CATEGORIES URL
{{trk.name}} {{trk.categories}} {{trk.url}}
{% endif %} {% if secrets %}

HARDCODED SECRETS

{% for sec in secrets %} {% endfor %}
POSSIBLE SECRETS
{{ sec }}
{% endif %} {% if app_type in 'Dylib,A' %}

SYMBOLS

{% for val in file_analysis %} {% endfor %}
{{ val }}
{% endif %} {% if app_type not in 'Dylib,A' %} {% if not appstore_details.error %}

APP STORE INFORMATION

Title:
{{ appstore_details.title }}

Score:
{{ appstore_details.score}}
Features:
{% for fea in appstore_details.features %} {{ fea }}, {% endfor %}
Price:
{{ appstore_details.price }}
Category:
{% for cat in appstore_details.category %} {{ cat }}, {% endfor %}
App Store URL:
{{ appstore_details.app_id }}

Developer:
{{appstore_details.developer}}
Developer ID:
{{appstore_details.developer_id}}
Developer Website:
{{appstore_details.developer_website }}
Developer URL:
{{appstore_details.developer_url}}
Supported Devices
{% for dev in appstore_details.supported_devices %} {{ dev }}, {% endfor %}

Description:

{{ appstore_details.description }}

{% endif %} {% endif %}


Report Generated by - MobSF {{ version }}

Mobile Security Framework (MobSF) is an automated, all-in-one mobile application (Android/iOS/Windows) pen-testing, malware analysis and security assessment framework capable of performing static and dynamic analysis.

© {% now "Y" %} Mobile Security Framework - MobSF | Ajin Abraham | OpenSecurity.

{% endblock %}