M2 69 articles

M2: Inadequate Supply Chain Security (2024)

OWASP Risk Analysis

Risks from third-party SDKs, malicious dependencies, and compromised build pipelines. Attackers inject code through trusted libraries or tamper with CI/CD systems.

Risk Assessment

Threat Agents
Attackers manipulate mobile app functionality by exploiting supply chain vulnerabilities, including injecting malicious code during development, modifying code during builds to introduce backdoors or spyware, exploiting vulnerabilities in third-party libraries and SDKs, or leveraging hardcoded credentials for unauthorized access.
Attack Vectors
Exploitability AVERAGE
Multiple exploitation methods exist: insider threats or attackers can inject malicious code during development; threat agents can compromise app signing keys or certificates to sign malicious code as trusted; or attackers can exploit vulnerabilities in third-party libraries or components.
Security Weakness
Prevalence COMMON Detectability DIFFICULT
Results from inadequate secure coding practices, insufficient code reviews and testing, insecure app signing and distribution processes, weaknesses in third-party software components or libraries, and insufficient security controls for data encryption, storage, or protection against unauthorized access.
Technical Impact
Impact SEVERE
Data breaches where attackers steal sensitive data including login credentials, personal information, or financial data. Malware infection of user devices. Unauthorized access to application servers to modify or delete data. Complete system compromise leading to application shutdown, significant data loss, and long-term reputational damage.
Business Impact
Impact SEVERE
Financial losses from investigation costs, notification expenses, legal settlements, and lost revenue. Reputational damage reducing customer trust and revenue. Legal and regulatory consequences including fines, lawsuits, and government investigations. Supply chain disruption causing operational delays and delivery interruptions.

Am I Vulnerable?

How Do I Prevent It?

Example Attack Scenarios

Based on OWASP Mobile Top 10 (2024) — the industry standard for mobile app security risks.

Platforms

Related Articles

SoundCloud Mar 8, 2014

CocoaPods Sponsorship and iOS Dependency Management

Coupang Jul 14, 2022

Improving the CI/CD pipeline for mobile app development

Expo Feb 12, 2026

Automate Mobile CI/CD with EAS Workflows and Custom Builds

Infinite Red Sep 8, 2025

Expo SDK 54: Better. Faster. Simpler.

Auth0 Mar 26, 2024

Auth0 Flutter SDK vs API: Which one should you pick?

IDN Media Aug 22, 2023

Optimizing CI/CD Efficiency with Git Hooks

IDN Media Aug 15, 2023

Improving iOS CI/CD Performance: Migrating from Azure to Codemagic

Square Jul 27, 2023

Supercharging Continuous Integration with Gradle

Premise Jun 6, 2023

Using Gradle Enterprise to Detect Configuration Regressions in an Android Gradle Build

Square Dec 13, 2022

Saving 5,400 Hours a Year: Developer Productivity with Gradle

OLX May 31, 2022

Scaling Android Apps with Gradle Build Types and Product Flavors

Dropbox Mar 29, 2022

Introducing Focus: A New Open Source Gradle Plugin

Walmart Mar 9, 2021

Improve Reliability with Observability Tracing in Your CI/CD Pipeline

Badoo Jul 30, 2020

Using Gradle Composite Builds as a BuildSrc Replacement

Swift.org Blog Feb 27, 2020

Argument Parser Library for Swift

SoundCloud Aug 30, 2019

Gradle Remote Build Cache Optimization

Callstack Apr 12, 2019

Bob: A React Native Library Builder Tool

Badoo Dec 12, 2018

Bundling C Library in Swift Framework

Groupon Jan 30, 2018

Developing Android Studio Plugins With Gradle

Teknasyon Mar 2, 2026

Using Gradle in Android: Build Variants, Build Types, and Manifest Placeholders

Callstack Feb 10, 2026

What Is the React Native AI SDK? A Complete Intro & Quickstart

Callstack Jan 29, 2026

Introducing AI SDK Profiler for React Native Performance Analysis

Swift.org Blog Dec 18, 2025

Exploring the Swift SDK for Android

Posts on Medium Nov 24, 2025

Core/Core-Impl Pattern: Build-Performance Superpower of DI & Gradle

Grab Nov 6, 2025

Grab’s Mac Cloud Exit supercharges macOS CI/CD

RevenueCat Jun 11, 2025

Server-driven UI SDK on Android: how RevenueCat enables remote paywalls without app updates

Square Feb 24, 2025

Mobile Payments SDK General Availability and Terminal API Features

Grab Nov 22, 2024

How We Reduced GrabX SDK Initialisation Time

Google Oct 31, 2024

Android SDK Release Update

Grab Oct 30, 2024

How we reduced peak memory and CPU usage of the product configuration management SDK

Square Jun 6, 2024

What's New in the Mobile Payments SDK Beta

Just Eat Jan 3, 2024

Scalable CI/CD Pipelines for iOS

Glovo Nov 6, 2023

Accelerate Your Android Development: Essential Tips to Minimize Gradle Build Time (Part II of II)

Glovo Oct 23, 2023

Accelerate Your Android Development: Top Techniques to Reduce Gradle Build Time (Part I of II)

Getir Mar 6, 2023

Building a Modern iOS Networking Library with Swift Concurrency

Swiggy Jan 24, 2023

Gradle Incremental Test Runner

Embrace Dec 7, 2022

Building a Flutter SDK for Embrace

Traveloka Sep 8, 2022

Automating Android Build Benchmarking with Gradle Profiler

Individual Author Feb 2, 2022

Microapps architecture in Swift. Dependency Injection.

Revolut Sep 14, 2021

Improving Product Reliability by Imposing Constraints as a Part of CI/CD Process

Teknasyon Sep 8, 2021

Android Hilt Dependency Injection

OLX Jul 6, 2021

Scaling Android Apps with Gradle: Different Source Sets (Part 2)

AWS Jul 1, 2021

Complete guide to full-stack CI/CD workflows with AWS Amplify

Just Eat Jun 16, 2021

iOS Monorepo CI/CD Pipelines

Callstack Feb 3, 2021

Grow Your Business With React Native SDK Wrapper

Nextdoor Nov 17, 2020

Our iOS CI/CD Journey At Nextdoor

Swift.org Blog Sep 25, 2020

Swift System Library

DoorDash Aug 4, 2020

Implementing the Android Navigation Library

AWS Mar 14, 2019

Amplify Framework adds authentication features and enhancements for iOS and Android Mobile SDKs

Bumble Dec 12, 2018

Bundling C Library in Swift Framework

Instacart Oct 16, 2018

Using Kotlin extensions to make the Android SDK friendlier

BlaBlaCar Dec 6, 2017

Building a Reusable Component Library on iOS

Callstack Oct 12, 2017

Adding an Example App to Your React Native Library

Kotlin Blog Aug 5, 2015

Gradle Daemon Support for Faster Build Compilation

Sentry Nov 9, 2025

Reverse Engineering iOS to Fix SDK Crashes

Swift.org Blog Oct 24, 2025

Nightly Swift SDK for Android

Flink Oct 6, 2025

Managing Dependency Hell in a 400-Module Android Project

Sentry Nov 4, 2024

Enabling Out Of The Box Performance Insights In The Unity SDK

Wealthfront Aug 19, 2024

Speed Up Your Android Tests: Gradle Plugin for Unit Test Filtering

Revolut Dec 5, 2023

Evolution of Translations Management for Android

Just Eat Jan 25, 2023

Migrating to Swift Package Manager

Turo Oct 18, 2022

Introducing Nibel: A Navigation Library for Adopting Jetpack Compose in Fragment-Based Apps | by Pavlo Stavytskyi | Turo Engineering | Medium

Callstack Nov 8, 2021

Migrating from Tipsi Stripe to Stripe React Native SDK

Doist Sep 15, 2021

Debugging the UI of Third-Party iOS Apps

Swift.org Blog Apr 5, 2021

Swift Collections Library

Lyft Dec 17, 2020

Introducing Pulse: Envoy Mobile's stats library

Swift.org Blog Oct 7, 2020

Swift Algorithms Library

Swift.org Blog Oct 1, 2020

Swift Atomics Library

Adevinta Germany Dec 5, 2016

Checkstyle on Changed Files with Gradle