Skip to content
Macksofy Technologies
Secure code review · SAST · SCA · 2026

Secure Source Code Review Services in India: What a Real Review Covers and How to Buy One

A source code review is the only assessment that sees the flaw before it is reachable. It is also the easiest to fake: run a scanner, export the findings, add a cover page. This guide sets out what a manual review actually covers, where SAST and SCA tools fit and where they stop, how a review differs from a penetration test, and how an Indian buyer should scope, evidence and sign off one.

Source Code Review SAST Application Security Secure SDLC Penetration Testing India
Explore the VAPT & Penetration Testing topic hub
AppSec· Application security and secure code review practice10 October 2026 12 min read
Secure Source Code Review Services in India: What a Real Review Covers and How to Buy One — Web AppSec · Macksofy
In short

What is a secure source code review?

A secure source code review is a white-box assessment in which reviewers trace how untrusted input moves through an application's code to the sinks where it can cause harm, confirming which paths are exploitable. Macksofy combines SAST, dependency and secrets scanning with manual review across nine languages for clients in India and the UAE, with human-confirmed findings and a retest.

A secure source code review is a white-box assessment: a reviewer with the code, the build and the architecture traces how untrusted input moves through the application to the places where it can do damage — a database query, a file path, a shell, a deserialiser, an authorisation decision — and confirms which of those paths are actually exploitable. Automated tools do the first pass. The value is in the second, and in the fact that the review sees flaws a penetration test can never reach from the outside.

A code review is not a SAST scan with a cover page

Static application security testing (SAST) tools are necessary and nowhere near sufficient. They pattern-match code against known weakness shapes, which makes them good at finding a raw SQL concatenation and poor at knowing whether the string ever reaches a database, who can call that path, and what it would give an attacker. A review that stops at the scanner export produces two failure modes at once: hundreds of findings nobody will fix, and silence on the authorisation and business-logic flaws that scanners cannot see at all.

What each half of a review is good at
Automated baseline (SAST, SCA, secrets)
  • Coverage: every file, every dependency, every commit in history
  • Known weakness shapes — injection sinks, weak crypto calls, dangerous functions
  • Vulnerable third-party components with a published CVE
  • Secrets committed to the repository, including ones later deleted
  • Speed and repeatability: the same sweep runs in CI after the engagement
Manual review
  • Whether a flagged path is reachable, by whom, and what it yields
  • Authorisation and tenant isolation — who can read or change whose data
  • Business logic: order of operations, state machines, race windows, limits
  • Cryptographic design, not just algorithm names — key handling, token construction
  • Trust boundaries the tool cannot see: internal services, queues, admin paths

Ask any provider what proportion of their effort is manual, and ask for a sanitised report. If the findings read like tool output — a rule name, a line number, no reachability argument — the review was a scan.

What a secure source code review covers

The review follows the data. For each entry point — HTTP handlers, message consumers, scheduled jobs, file imports, admin consoles — the reviewer asks where the input goes, what checks it passes, and which sinks it can reach. The areas below are where the serious findings cluster, and a proposal should name each of them.

AreaWhat the reviewer tracesTypical finding
Authentication and sessionsLogin, password handling, reset flows, token issuance and validation, session lifetime and revocationJWT accepted with signature check disabled on one path; reset token predictable; session never invalidated server-side
Authorisation and tenant isolationEvery data access against the identity making it; object-level and function-level checks; multi-tenant filtersObject identifiers trusted from the client (BOLA / IDOR); admin function reachable by a normal role; tenant filter missing on one query
Injection sinksSQL, NoSQL, LDAP and OS command construction; template rendering; HTML output encodingSecond-order SQL injection through a value stored safely and used unsafely; server-side template injection in a notification system
Deserialisation, files and SSRFObject deserialisation of untrusted data; upload handling and path construction; outbound requests built from user inputUnsafe deserialiser reachable from a REST handler; path traversal in a download endpoint; SSRF from a PDF or webhook feature reaching internal services
CryptographyAlgorithm and mode choice, key storage, IV and nonce handling, token construction, password hashingStatic key in a constants file; ECB mode; home-grown token signing; fast hash used for passwords
Secrets and configurationCredentials in code, configuration and git history; debug and feature flags; environment handlingProduction database password in a deleted commit; debug endpoints compiled into release builds
Dependencies and supply chainDirect and transitive components, their versions and known CVEs; build and CI configurationA vulnerable logging or serialisation library two levels deep; a CI step that executes untrusted pull-request input
Logging and error handlingWhat is written to logs and error responses; what is swallowedTokens and PII in application logs; stack traces returned to clients; failures that fail open

Review areas and the findings each one produces

Source code review versus penetration testing

They are complementary, and the question is usually about sequence and budget rather than either-or. A penetration test proves exploitability from the outside and finds what the deployed system exposes, including configuration and infrastructure the code never shows. A code review finds what the running system hides: the path that is only reachable with a role the tester did not have, the flaw in a feature not yet switched on, the weak cryptography that looks fine over the wire.

Source code reviewPenetration test
Vantage pointInside: code, build, configuration, historyOutside: the deployed application as an attacker sees it
Finds bestAuthorisation and logic flaws, unsafe sinks, crypto design, secrets, vulnerable dependenciesDeployment and infrastructure issues, exploitability under real controls, chained attack paths
MissesRuntime configuration, infrastructure, controls applied outside the codeCode paths the tester cannot reach or trigger; latent flaws behind feature flags
Best momentBefore release, during a major refactor, after a security incident, before an acquisitionBefore go-live and on a recurring cycle against production-like environments
Evidence it producesFile and line, weakness class, reachability argument, fix in codeRequest and response, proof of impact, severity under real conditions
Compliance roleSecure-development and code-review controlsTesting and assurance controls

Choosing between a review and a test

For a customer-facing application that handles money or regulated data, the usual sequence is a review before release and a web application or API security test against the deployed build, with the review findings used to steer the test toward the paths that matter.

Secure code review tools: what each class does and where it stops

Buyers searching for a single secure code review tool are usually looking for something that does not exist. Four classes of tool each cover a slice, and a competent review uses all four before a reviewer starts reading.

ClassExamplesWhat it findsWhere it stops
SAST (pattern and taint analysis)Semgrep, CodeQL, SonarQube, Bandit, gosec, Brakeman, commercial scannersDangerous sinks, known weakness shapes, source-to-sink flows when rules existReachability, authorisation, business logic, anything without a rule
SCA and SBOMOWASP Dependency-Check, Trivy, Snyk Open SourceComponents with published vulnerabilities; an inventory for compliance and incident responseWhether the vulnerable function is actually called; unpublished flaws in dependencies
Secrets scanningGitleaks, TruffleHogCredentials and keys in code, configuration and the full commit historyWhether a secret is live, and what it grants — both need a human to check
Custom queriesRepository-specific Semgrep and CodeQL rulesPatterns unique to the codebase: the internal authorisation helper that must wrap every handler, the one safe way to build a queryMust be written by someone who has already understood the codebase

Tool classes used in a code review

Scoping a code review in India: decide these before you ask for a price

Reviews are priced on lines of code, languages and the number of crown-jewel modules, so an unscoped request produces either an inflated quote or a shallow one. Decide the following first and put it in the request.

DecisionWhy it mattersWhat to specify
Access modelRead-only repository access is faster; on-premises review from a controlled machine is required for some BFSI, defence and healthcare codebasesRepository grant to a pinned branch, or on-site review with no code leaving the premises — and the source-handling terms in the NDA
Branch or tag pinA review of a moving target is not reproducible, and the retest has no baselineThe exact commit under review, frozen for the engagement
Size and languagesEffort scales with lines of code and the number of language and framework stacksApproximate lines per language, frameworks, and whether generated or vendored code is excluded
Crown-jewel modulesFull-codebase coverage at equal depth wastes effort on low-risk codeAuthentication, payments, PII handling, admin, integrations — the modules that get the deepest manual pass
Build and run environmentA reviewer who can build and run the code confirms reachability instead of guessingBuild instructions, a working environment or container, and test credentials for each role
Architecture briefingAn hour with a lead developer saves days of readingData-flow diagram, trust boundaries, internal services, and the list of entry points
Compliance targetThe report must be written for the reader who will consume itThe regulation or standard, the auditor's expected format, and the submission date
RetestA finding is closed when the fix is reviewed, not when it is mergedRetest window and whether it is included

Scoping inputs for a secure source code review

The compliance drivers behind most Indian code reviews

Most code reviews in India are bought because an auditor, regulator or customer asked for one. Knowing which requirement is driving yours decides the scope, the report format and sometimes who is allowed to do the work.

  • ISO 27001 — the secure-development controls expect security requirements, secure coding and security testing during development, and a code review is the usual evidence for the coding control. See the ISO 27001 audit page for the control set.
  • PCI DSS — requirement 6 expects bespoke and custom software to be developed securely and reviewed for vulnerabilities before release; the review is the evidence. The PCI DSS page covers the wider scope.
  • RBI-regulated entities — the IT governance direction expects security assessment of applications across the lifecycle, and auditors routinely ask for code-level evidence on critical systems.
  • SEBI-regulated entities — the cyber security and cyber resilience framework expects regular application security testing, and a code review of critical systems is the strongest form of it.
  • CERT-In empanelled audits — a code review can be delivered as part of an empanelled engagement; the CERT-In empanelled audit guide explains the engagement model and the report format.
  • SOC 2 and customer due diligence — enterprise customers and SOC 2 auditors increasingly ask for evidence of secure development, and a dated review with a retest record is the cleanest answer. See SOC 2.
  • Acquisitions — a code review with an SBOM is the standard technical due-diligence artefact when buying a software company or product.

What the report should contain, and what should not be in it

  • Only human-confirmed findings. Unconfirmed scanner output belongs in an appendix, labelled as such, or nowhere.
  • For every finding: file and line, the weakness class (a CWE identifier), the entry point and the path to the sink, the severity with the exploitability reasoning, and a fix written in the codebase's language and framework.
  • A runnable proof or reproduction for every high and critical finding.
  • A software bill of materials, with the vulnerable components flagged and the reachable ones distinguished from the merely present.
  • An SDLC handover: the tuned rules, the pre-commit and CI configuration, and the thresholds agreed with the development team.
  • A compliance mapping written for the auditor who will read it, and a retest record showing what was closed and what was accepted as risk.

How long a review takes and what moves the price

A focused review of one module — a payment service, an authentication subsystem — typically runs one to one and a half weeks. A full-codebase review of a mid-sized product is usually two and a half to four weeks. The drivers are lines of code, the number of languages and frameworks, how many crown-jewel modules get the deep manual pass, whether the review is on-site, and whether a build environment is available. Insist on a fixed price against the pinned scope; a day rate against an estimate is how reviews run over without getting deeper.

Red flags in a code review provider

  • A proposal priced without asking for lines of code, languages or the crown-jewel modules.
  • No stated manual proportion, or a sample report that reads like tool output.
  • No plan to build and run the code — reachability will be guessed.
  • Secrets scanning on the current branch only, not the history.
  • Findings without a fix in the codebase's own language.
  • No retest, or a retest that accepts a developer's word for the fix.
  • Reviewers named on the proposal who are not the reviewers on the engagement.

Where Macksofy fits

Macksofy delivers secure source code review across Java, .NET, Node.js, Python, Go, PHP, Ruby, Swift and Kotlin as a manual-led engagement on top of an automated SAST, SCA and secrets baseline, with every finding human-confirmed, a fix in the codebase's language, an SBOM, and an SDLC handover. Reviews run against a read-only repository grant or on-site for codebases that cannot leave the premises, and the compliance evidence is written for the auditor who will read it. The wider assessment options sit in the VAPT and penetration testing hub.

Scope a source code review

Send the languages, the approximate size, the modules that matter most and the requirement you are reporting under, and we will return a fixed-price proposal against a pinned scope.

See the code review service
FAQ

Quick answers.

It is a white-box security assessment in which reviewers, with access to the code and build, trace how untrusted input moves through the application to the places it can cause harm, and confirm which paths are exploitable. It combines automated SAST, dependency and secrets scanning with a manual review of authentication, authorisation, cryptography, injection sinks and trust boundaries.
No. SAST tools find known weakness shapes quickly and at full coverage, but they cannot judge reachability, authorisation or business logic, and they produce many findings that are not exploitable. A code review uses SAST as a baseline and then relies on a human reviewer to confirm, prioritise and find the classes of flaw tools cannot see.
Usually both, in sequence. A code review before release finds flaws in paths a tester cannot reach from outside and fixes them cheaply. A penetration test against the deployed build proves exploitability under real controls and finds deployment and infrastructure issues the code never shows. If the budget allows one, choose by what the auditor or customer is asking for.
No single tool covers a review. A sound baseline combines a SAST tool such as Semgrep or CodeQL, a dependency scanner that produces an SBOM, and a secrets scanner run across the full git history, with rules tuned to the codebase. The tooling matters less than the manual review on top of it and the handover of the tuned rules into your pipeline.
Not necessarily. Many reviews run against read-only access to a pinned branch in your repository. For sensitive codebases in banking, defence or healthcare, the review can run on-site from a controlled machine with nothing leaving the premises, which should be written into the source-handling terms of the agreement.
A focused review of a single module typically takes one to one and a half weeks; a full review of a mid-sized codebase usually takes two and a half to four weeks. Size, the number of languages, the depth required on critical modules and whether a build environment is available are what move the duration.
Read next

Related articles

Compliance

The CERT-In Empanelment Process (2026): How an Auditing Organisation Actually Gets on the Panel

A step-by-step walkthrough of how CERT-In empanels information security auditing organisations in India — the single three-month application window each year, the eligibility bar, the documentation round, the offline and online practical skill tests and their 90% pass threshold, the Personal Interaction Session, government background verification, what it costs, how long the whole cycle takes, and what an organisation has to keep doing to stay on the panel.

Read article
Compliance

ABDM M1 WASA Audit: The Complete Guide to the Safe-to-Host Certificate (2026)

Everything an Indian digital-health team needs to know about the WASA audit behind ABDM Milestone 1 — what WASA stands for, why the report has to come from a CERT-In empanelled auditor, what functional and security testing it covers for HIPs, HIUs and health lockers, what the safe-to-host certificate must state about the environment tested, realistic timelines, and the failures that send teams back for a re-test.

Read article
Penetration Testing

Penetration Testing & VAPT: The Complete Guide (India, 2026)

A definitive guide to penetration testing and VAPT for Indian organisations in 2026 — the difference between vulnerability assessment and penetration testing, the types, the PTES/OWASP methodology, CVSS scoring, timelines, cost drivers, deliverables, regulatory triggers (CERT-In, RBI, SEBI, PCI-DSS, DPDP) and how to choose a CERT-In empanelled provider.

Read article
References & standards

Macksofy delivers this work to the following standards and regulator requirements. Definitions and controls are sourced from the issuing bodies below.

Talk to us

Get a fixed-price proposal in 48 hours.

Tell us about your security need — pentest, audit, training or a wider engagement. A senior consultant will reply within a few business hours.

CERT-In Empanelled
Information Security Auditor · India
  • CERT-In Empanelled
  • EC-Council ATC
  • Thousands of professionals trained
  • India + UAE engagements