Objective 2.4 · Lesson 2 of 2

Build assurance across code, components, and suppliers

An application inherits risk from its design, its implementation, its dependencies, and the organisations supporting it. Different assurance activities expose different weaknesses and must be connected to actual releases.

Combine code review with running-application checks

Static application security testing, or SAST, examines code or related representations without exercising the running application. It can identify unsafe patterns early, but a reported path may need developer review to establish reachability and impact. Keep findings linked to the relevant revision and build. A clean result covers only the rules, languages, and code included in that assessment.

Dynamic application security testing, or DAST, observes a running application through its interfaces. It can reveal behaviour that depends on configuration and integration, but only for the routes, identities, and interactions actually exercised. Use representative synthetic data and authenticated workflows where appropriate. Combine static findings, dynamic results, and manual reasoning; none of them independently proves that all business-logic or authorisation requirements are satisfied.

Use maturity assessment to improve the programme

The Software Assurance Maturity Model, or SAMM, helps an organisation evaluate and improve software security activities across the lifecycle. It is a framework for programme development, not a scanner or a certificate that a particular build is safe. Use it to identify gaps in areas such as security requirements, design review, verification, governance, and operational feedback.

Choose improvements that address observed failures. If the same access-control defect repeatedly reaches production, add clearer design requirements, developer guidance, and targeted regression checks rather than merely buying another scanner. Assign an owner and evidence of adoption for each improvement. Review whether the change reduced recurrence and whether teams can sustain it within normal development and release work.

Connect component inventory to supplier decisions

A software bill of materials, or SBOM, records components and their relationships or versions for a software artefact. Software composition analysis, or SCA, helps identify dependencies and match them with known issues. The inventory and the analysis complement each other: an SBOM is not itself a guarantee of security, and a dependency match still requires version, applicability, deployment, and exposure review.

Extend this reasoning to suppliers that build, host, or maintain services. Establish ownership of assessment, update delivery, notification, access, evidence, and end-of-support planning. Include transitive dependencies and build inputs where relevant, not just the product name on a purchase order. Request appropriate assurance and verify important claims, while using procurement or legal colleagues to interpret contractual obligations and residual-risk decisions.

Keep these points in mind

  • SAST and DAST inspect different evidence and both have coverage limits.
  • SAMM guides security practice improvement across the lifecycle.
  • Use SBOM and SCA evidence with deployment records and supplier accountability.

Pause and practise

A supplier sends an SBOM and says this proves its application has no vulnerabilities. Draft a short assessment response.

Show a worked response

The SBOM is useful inventory evidence, not a security verdict. Confirm that it matches the supplied release and includes relevant dependencies, then assess known component issues and request appropriate evidence of code and running-application security checks. Agree responsibility for advisory handling and updates, and evaluate remaining uncertainty with the service owner.

← Previous lesson