liveBook · Manning

Application decomposition

As explained in Secure APIs

Application decomposition is the analysis of an application’s structure, components, and interactions for security assessment.

Application decomposition maps how data moves through an application and identifies every component involved in processing it. In threat modeling, it answers: “What are we working on?” section 2.2 section 2.2.1

Use data flow diagrams to expose attack vectors, including overlooked calls to internal or external services. A missing public-to-internal API flow can hide SSRF risks, data leaks, and unauthorized access to internal systems. section 2.2.1

A practical decomposition should:

  • Trace actions such as updating a profile picture through every processing component. section 2.2.1
  • Include API calls to internal and external services. section 2.2.1
  • Involve relevant engineers and product stakeholders when drawing and checking the flows. section 2.2.1

External avatar URL

A user submits an external URL for an avatar. If the public API fetches it without adequate controls, an attacker may scan private network ports, reach internal services or databases, or leak access tokens.

How Secure APIs covers it

How deep it goes
Explains data flow diagrams, attack vectors, omissions, and collaboration, but stops before threat ranking and mitigation.
Examples
Uses an avatar update through an external URL to illustrate hidden flows, SSRF, port scanning, and token leakage.
What it assumes
Assumes familiarity with application components and malicious user interactions while teaching the decomposition step through DFDs.
What you can do after
Evaluate an application’s data flows and expose components that require security analysis.
How it connects
Connects data flow diagrams with threat modeling, attack vectors, internal services, external services, and SSRF.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Secure APIs. The section links point to the parts of the book it draws on.