TESTING AND ANALYSIS / ARCHITECTURE, CODE AND BEHAVIOUR

Software security analysis

Assess your application before a major release or delivery to an enterprise customer. We combine reviews of architecture, code and the behaviour of running software.

DEPENDENCY ANALYSIS EXAMPLE

You inherit risks from code you did not write.

  1. Your application
  2. Direct dependency
  3. Transitive dependency
Tracing the origin points to a specific remediation.

We trace package relationships and assess actual use. Remediation may involve an update, configuration change or replacement.

Who it is for
Software companies, product teams and organisations assessing their own software or software supplied by others.
Inputs
Architecture, technologies, a specific code revision, an environment and a developer contact.
Deliverables
Verified findings with code locations, impact and recommended fixes; a management summary.

Software and secure development

From risk to a verified fix

A finding delivers value when it leads to an application fix.

From risk to a verified fix Each step is also described in the text beside the diagram. Risk Finding Impact Remediation

01 / Risk

Identify what is at stake

Connecting data flows, actors and business rules explains why an area matters.

02 / Finding

Describe conditions and evidence

Findings identify affected areas, prerequisites and minimal reproduction without overstating impact.

03 / Impact

Turn technical detail into decisions

Data, availability and permission impact informs priorities and accountable owners.

04 / Remediation

Recommend and verify remediation

Fixes address root causes. Where included in the proposal, retesting verifies the original scenario and potential regressions.

SAMPLE FINDING Severity: high

Access to other customers' orders through the API

Affected asset
Orders API, endpoint /api/orders/{id}
Impact
An authenticated user changes an order number to read other customers' data.
Evidence
Reproduction steps and shortened request and response without sensitive data.
Recommendation
Verify record ownership on the server for every request.
Verification
Retest fixes within the proposal's agreed scope.
# logged in as account A
GET /api/orders/1044 HTTP/1.1
Authorization: Bearer ••••••••

HTTP/1.1 200 OK
{ "order": 1044, "owner": "account B" }

Different methods reveal different problems

Software security analysis is not a single automated scan. Depending on the objective and available information, we combine reviews of design, source code, dependencies and application behaviour. We agree the methods and depth in the brief.

Architecture and threats

Data flows, trust boundaries, identities, permissions, integrations and tenant isolation. This reveals risks that code scanning cannot see.

Manual code review

Critical implementation and business logic sections, referenced to a specific revision and code location.

SAST and SCA

Static code analysis and dependency checks support manual review. We deduplicate and assess the results in context.

DAST and application testing

Verifying the behaviour of the running application and APIs, including authentication, permissions and business scenarios.

SaaS and enterprise deliveries raise specific questions

OWASP ASVS can provide a control framework, while WSTG and OWASP API Security provide testing guidance. We always describe the specific coverage in the brief so the analysis boundaries are clear.

  • Does the server enforce tenant isolation for every relevant operation?
  • Do roles and permissions reflect the actual business process?
  • How does the application handle integrations, webhooks, tokens and secrets?
  • Are security decisions consistent across the UI, APIs and background processing?
  • What risks arise from dependencies, configuration and the deployment pipeline?

Deliverables the development team can use

  • A summary of risks, impact and priorities for management.
  • Technical scenario descriptions, evidence and reproduction steps.
  • Affected components, versions and references to code or configuration.
  • Recommended fixes and discussion of complex or disputed findings.
  • Optional retesting of original findings against an agreed version.

What information to prepare

For the first conversation, a short description of the application, technologies, reason for the analysis and required timing is enough. The engagement itself may require architecture, a specific code revision, build instructions, a test environment, user roles and API documentation.

Not every analysis needs all these inputs. However, missing information is always reflected in the stated limitations of the result.

Methodological and product sources

SOFTWARE SECURITY ANALYSIS

Software analysis components

Each can be commissioned separately or combined. Before major releases or enterprise handovers, reviewing design, code and dependencies together usually makes sense.

COVERAGE

Coverage of each analysis component

Indicative qualitative view, not a measurement: 3 primary focus, 0 outside normal scope. Actual coverage is agreed in the brief.

Coverage of each analysis component
ModuleDesign and trust boundariesAuthentication and authorisationInputs and data processingBusiness logicSecrets and cryptographyDependencies and builds
Architecture review and threat modelling Design and trust boundaries: primary focus Authentication and authorisation: primary focus Inputs and data processing: limited focus Business logic: part of the test Secrets and cryptography: part of the test Dependencies and builds: limited focus
Code review and static analysis Design and trust boundaries: part of the test Authentication and authorisation: primary focus Inputs and data processing: primary focus Business logic: primary focus Secrets and cryptography: primary focus Dependencies and builds: limited focus
Dependency and software supply chain analysis Design and trust boundaries: limited focus Authentication and authorisation: out of scope Inputs and data processing: limited focus Business logic: out of scope Secrets and cryptography: limited focus Dependencies and builds: primary focus
Frequently asked questions

Before we start work.

How does analysis differ from penetration testing?

Penetration testing verifies what can be exploited within an agreed scope. Software analysis may also include architecture, source code and dependencies. The methods complement each other according to the objective.

Can SAST replace manual code review?

No. Automation helps identify suspicious areas and recurring patterns, but cannot reliably assess business logic or context. Manual verification remains essential.

Can you deliver findings to our issue tracker?

We agree the delivery format in the brief. The foundation is a clear report with reproduction steps and recommended fixes. Export to your tools or a joint workshop can be included in the proposal.

INITIAL CONVERSATION, NO OBLIGATION

Not sure where to start? Tell us what you are facing.

You do not need to know whether you need a test, a technology or a consultation. We will suggest a suitable next step based on your situation.