Application Security
Secure Code Review (SCR) Services
We read your authentication, authorization, payment and data-handling code by hand, and use SAST only to point us at the right places. You get a ranked set of confirmed, exploitable findings and clear fixes, not a noisy scanner dump.
Overview
Automated tools flag thousands of possible issues and leave you to guess which ones matter. A secure code review flips that. We build a quick threat model, pick the paths that carry the most risk, and read them line by line. SAST helps us cover ground and spot patterns, but a person confirms every finding and proves it is reachable before it reaches your report. We review JavaScript and TypeScript, Python, Java, Kotlin, Go, PHP, C# and Swift, and we sit with your developers to make sure the fixes hold.
Methodology
How the Engagement Runs
Every phase has a named output, so you always know what is being worked on and what lands on your side of the table.
6 Phases, 6 Named Handovers
Flow
Flow chart of the Secure Code Review (SCR) engagement, 6 phases in order, each one selectable. Phase 1, Threat Modelling and Critical-Path Selection. We map your application, its trust boundaries and its sensitive flows, then agree which authentication, authorization, payment and data-handling paths we review first. Activities: Walk the architecture and trust boundaries with your engineers; Map authentication and authorization paths; Identify where payment and personal data move; Agree the review scope and repository access. Hands over Critical-Path Review Plan. Phase 2, Automated SAST Triage. We run and tune SAST across the codebase, then triage the output to remove noise and false positives so manual effort goes where it counts. Activities: Tune SAST rules to your languages and frameworks; Triage the SAST backlog and remove false positives; Cluster repeated patterns into single root causes; Map surviving alerts to CWE categories. Hands over Triaged SAST Backlog. Phase 3, Manual Code Review. Our engineers read the selected paths line by line, following data and control flow to find flaws that scanners miss in logic, access control and trust decisions. Activities: Read payment and data-export flows line by line; Trace user input from entry point to sink; Check every access decision against the intended role model; Review session, token and secret handling; Test business logic assumptions against OWASP ASVS. Hands over Findings Report with File and Line References. Phase 4, Exploitability Confirmation. We confirm each finding is reachable and abusable, rank it by real impact, and drop anything that cannot actually be exploited. Activities: Confirm exploitability in a local build; Write a minimal proof of concept for each confirmed issue; Discard findings that no reachable path can trigger; Rank what remains by business impact. Hands over Confirmed and Ranked Finding Set. Phase 5, Fix Guidance and Pairing. We give concrete, code-level remediation for every confirmed issue and pair with your developers so the fixes are correct the first time. Activities: Write the fix as a code diff, not a description; Pair with engineers on the fix; Suggest a regression test for each issue; Walk the team through the recurring patterns. Hands over Fix Guidance at Pull-Request Quality. Phase 6, Re-Review. Once fixes land, we re-review the changed code to verify the issue is closed and no new weakness was introduced. Activities: Read the fix commits against the original findings; Retest each proof of concept on the patched build; Check the fix did not open a new weakness nearby; Close out the report with verified status per finding. Hands over Re-Review Closure Report. Each phase begins from the artefact the phase before it produced.
Phase 01 Threat Modelling and Critical-Path Selection
We map your application, its trust boundaries and its sensitive flows, then agree which authentication, authorization, payment and data-handling paths we review first.
What Happens In This Phase
- Walk the architecture and trust boundaries with your engineers
- Map authentication and authorization paths
- Identify where payment and personal data move
- Agree the review scope and repository access
The Handover
Critical-Path Review Plan
The next phase starts from this.
Phase 01 Threat Modelling and Critical-Path Selection
We map your application, its trust boundaries and its sensitive flows, then agree which authentication, authorization, payment and data-handling paths we review first.
What Happens In This Phase
- Walk the architecture and trust boundaries with your engineers
- Map authentication and authorization paths
- Identify where payment and personal data move
- Agree the review scope and repository access
The Handover
Critical-Path Review Plan
The next phase starts from this.
- 01
Threat Modelling and Critical-Path Selection
We map your application, its trust boundaries and its sensitive flows, then agree which authentication, authorization, payment and data-handling paths we review first.
OutputCritical-Path Review PlanActivities
- Walk the architecture and trust boundaries with your engineers
- Map authentication and authorization paths
- Identify where payment and personal data move
- Agree the review scope and repository access
- 02
Automated SAST Triage
We run and tune SAST across the codebase, then triage the output to remove noise and false positives so manual effort goes where it counts.
OutputTriaged SAST BacklogActivities
- Tune SAST rules to your languages and frameworks
- Triage the SAST backlog and remove false positives
- Cluster repeated patterns into single root causes
- Map surviving alerts to CWE categories
- 03
Manual Code Review
Our engineers read the selected paths line by line, following data and control flow to find flaws that scanners miss in logic, access control and trust decisions.
OutputFindings Report with File and Line ReferencesActivities
- Read payment and data-export flows line by line
- Trace user input from entry point to sink
- Check every access decision against the intended role model
- Review session, token and secret handling
- Test business logic assumptions against OWASP ASVS
- 04
Exploitability Confirmation
We confirm each finding is reachable and abusable, rank it by real impact, and drop anything that cannot actually be exploited.
OutputConfirmed and Ranked Finding SetActivities
- Confirm exploitability in a local build
- Write a minimal proof of concept for each confirmed issue
- Discard findings that no reachable path can trigger
- Rank what remains by business impact
- 05
Fix Guidance and Pairing
We give concrete, code-level remediation for every confirmed issue and pair with your developers so the fixes are correct the first time.
OutputFix Guidance at Pull-Request QualityActivities
- Write the fix as a code diff, not a description
- Pair with engineers on the fix
- Suggest a regression test for each issue
- Walk the team through the recurring patterns
- 06
Re-Review
Once fixes land, we re-review the changed code to verify the issue is closed and no new weakness was introduced.
OutputRe-Review Closure ReportActivities
- Read the fix commits against the original findings
- Retest each proof of concept on the patched build
- Check the fix did not open a new weakness nearby
- Close out the report with verified status per finding
Specification
What We Run, and What We Measure You Against
The tooling our engineers use on this work, and the published standards the findings and evidence are mapped to.
What Is Examined, and What it Is Measured Against
Map
Map of the Secure Code Review (SCR) scope, running left to right in three stages. Stage one, what we run, 8 tools and techniques: Semgrep, CodeQL, SonarQube, Checkmarx, Fortify, Snyk Code, grep and ripgrep, IDE tooling. Stage two, findings from all of it are proven by hand and written up once. Stage three, measured against 6 published standards: OWASP Code Review Guide, OWASP ASVS, OWASP Top 10, CWE Top 25, SANS/CWE, NIST SSDF (SP 800-218).
What We Run
8 tools
- CodeQL
- Fortify
- grep and ripgrep
- IDE tooling
Converges On
One Set of Proven Findings
Every issue is reproduced by hand before it is written down, and it is written down once.
Measured Against
6 standards
- OWASP
- OWASP
- OWASP
- CWEMITRE
- CWESANS, MITRE
Deliverables
What You Receive
- Ranked findings report with confirmed, exploitable issues and code-level fixes
- Executive summary tying risk to your critical paths and business impact
- Triaged SAST output separating real issues from noise
- Developer pairing sessions and remediation guidance
- Re-review confirmation once fixes are in place
Scope This Engagement
Tell us about your environment, your timelines and any audit dates you are working to. We come back with scope, effort and a start date.
How is this different from just running a SAST scanner?
A scanner produces a long list of possibilities with no proof and plenty of noise. We use SAST to find the right places to look, then read the code by hand and confirm each finding is reachable and exploitable. You get a short, ranked list you can act on with confidence.
Which languages do you review?
We review JavaScript and TypeScript, Python, Java, Kotlin, Go, PHP, C# and Swift. If your stack mixes several of these, we cover the shared paths where they meet.
Do you need our full source code?
Yes, manual review needs read access to the source. We work within your environment and access controls, focus on the paths we agree up front, and hand everything back when the engagement ends.
Elsewhere
Other Practice Areas
- ComplianceCertifications and Privacy Programmes Across 13 Frameworks
- VAPTManual, Exploit-Driven Penetration Testing Across 7 Surfaces
- Software Composition Analysis (SCA)Know every third-party and open-source dependency you ship, and every risk it carries.
- Hardening and Configuration ReviewBenchmark-Based Configuration Hardening Across Cloud, OS, Network and Data Tiers
- Managed ServicesOngoing Offensive, Defensive and Advisory Security Run by Our Team