Platform

Platform overview How it works Authorization testing Evidence & reports Private scanning Integrations

Solutions

Security agencies Product teams Regulated industries Partner programme

Learn

Blog Knowledge hub Compare

Resources

Pricing Documentation Help centre FAQ Security & data What we haven’t proved

Company

About Contact Careers Sign in to the platform Start a $199 pilot →

Home / Blog / Tutorials / White-box vs black-box scans

Tutorials

White-box vs black-box scans: how to choose a scan type in Cyberlop

Pick the scan type once, when you add a target. This guide shows what each needs, what each finds and how to add logins.

Cyberlop Labs · Updated · 9 min read

Illustration for White-box vs black-box scans: how to choose a scan type in Cyberlop
Quick answer

In Cyberlop, a white-box scan reads your source code from a Git repository and tests the running app. A black-box scan tests only the live URL and needs ownership verified. Choose white-box when you have a repository and black-box when you do not. Add authentication roles to either for a grey-box style scan.

Quick how-to
  1. Choose the scan type Use white-box when you can share the repository over HTTPS, and black-box when there is no code to share.
  2. Add the target Click + New target, enter the Name and Main URL, pick the Scan type, add the repository details for white-box, then click Create target.
  3. Verify ownership for black-box Complete the DNS TXT or staff-approval route and wait for the Verified badge on the target page.
  4. Create a scan profile Go to Scan Profiles, click + New profile, pick the target, name the profile and choose vulnerability classes.
  5. Add authentication roles For a grey-box style scan, open Authentication, click + Add role, set a privilege level and tick Form, Header or OAuth 2.0.
  6. Decide on the exploitation phase Keep Run exploitation phase ticked to prove issues against the live target, or untick it for static code analysis only.
  7. Preview and save Click Preview YAML to validate the profile, then click Save.
  8. Run the scan Click Scan on the profile row. The scan starts at once and you can leave the page.
  9. Review the findings Open the scan from Recent Scans, check the Findings tab and set a disposition on each issue.
Key takeaways
  • White-box scans read your repository and the running app; black-box scans test the live URL only.
  • The scan type is set on the target and cannot be edited, so choose before you click Create target.
  • Black-box targets need ownership verified by DNS TXT record or staff approval before a scan can run.
  • Add authentication roles to a scan profile to get a grey-box style scan on either type.
  • White-box findings point to a file and line; black-box findings point to an endpoint.

A white-box scan in Cyberlop reads your application's source code from a Git repository and tests the running app at its URL. A black-box scan tests the live URL only, with no code, and needs proof that you own the target. You pick the type once, when you add the target. To get a grey-box style scan, you add login details to the scan profile.

Below you will see how white-box vs black-box scans differ in Cyberlop, which one to pick, what each needs, what each finds and how to add logins. No target yet? Start with Getting started.

What is the difference between white-box and black-box scans in Cyberlop?

The difference is what the scan can see. White-box testing works with the source code as well as the running app. Black-box testing works only from the outside, the way a visitor reaches your site. The Knowledge Hub defines both: white-box testing and black-box testing.

Comparison of white-box and black-box scans by input, finding location and ownership check.
Both types can use logins; only white-box reads code.

What a white-box scan does

A white-box scan clones the latest code from your repository when it launches, then tests the running app. Because it knows the code, a finding can point to a source file and line range, and the scan overview shows the commit and the lines of code analysed.

White-box is the type to use when the code is available, because it combines static analysis of the code with live testing of the app.

What a black-box scan does

A black-box scan tests the live URL only. There is no repository, so findings show an endpoint such as POST /search instead of a file and line, and the lines-of-code figure on the overview shows a dash. Black-box targets must have their ownership verified before a scan can run.

What a grey-box style scan is

The New target dialog shows two cards, White-box and Black-box. Grey-box testing is the middle path: the tester knows something about the inside, such as a set of credentials. The US government glossary describes it as a test method with "some knowledge of the internal structure and implementation detail" (NIST CSRC glossary, quoting CNSSI 4009-2022). In Cyberlop you reach it by adding authentication roles to a scan profile, so the scan can test the pages behind login.

White-box and black-box side by side

QuestionWhite-boxBlack-box
What does the scan use?Source code from your repository, plus the running appThe live URL only
What must you provide?Name, Main URL and a Repo URL (HTTPS)Name and Main URL; the repository fields are disabled
Ownership verification?No Ownership verification card appeared on a white-box target pageYes: a DNS TXT record or approval by Cyberlop staff
Where is a finding located?Source file and line range, plus the endpointThe endpoint, such as a method and path
What does the overview show?Commit and lines of codeLines of code shown as a dash
Can you add logins?YesYes

Which scan type should you choose?

Choose white-box whenever you can give Cyberlop the repository, because the scan can then use the code as well as the running app. Choose black-box when there is no code to share, or when you want to test the app as an outsider reaches it. The scan type belongs to the target, so decide before you add it.

Choose white-box when

  • you own the repository and can reach it over HTTPS;
  • you want findings your developers can open at a file and line;
  • you are testing your own staging or development build before release.

Choose black-box when

  • the code is not yours to share, or its repository has no HTTPS address;
  • you want a view of the app from outside, as a visitor sees it;
  • you can prove you own the target.

If your repository is private

A private repository needs a Git token. It can be a personal token (see Connect a repository) or one set for the organisation under Settings, as covered in Git access. SSH addresses such as git@… are not supported.

If the app is on a private network

If Cyberlop's cloud cannot reach the URL or the repository, run the scan on a self-hosted scan agent instead. See Self-hosted scan agents and private scanning.

What does each scan type need?

Both types need a target. They differ in two fields and one check. The table follows the order of the New target dialog; the full walkthrough is in Add a target.

New target dialog with White-box selected and the Repo URL and Repo branch fields active
White-box: the Repo URL (HTTPS) field is required. 1 Main URL: Enter the primary URL scans run against. 2 Scan type: Pick White-box or Black-box. 3 Create target: Save the new target.. Sensitive details are blurred.

Field reference for the New target dialog

FieldWhat to enterNotes
NameA label such as "Acme Web"Any name your team will recognise.
Main URLThe primary URL scans run againstUse a URL you own or are authorised to test.
Backend / additional URLsExtra URLs, one per lineOptional.
Scan typeWhite-box or Black-boxThe choice you make here is the one this page explains.
Repo URL (HTTPS)The repository addressRequired for white-box. Public repositories are cloned at scan launch. Disabled for black-box.
Repo branchThe branch to scanDefaults to main.
EnvironmentDev, Staging or ProdDefaults to Dev.
TeamA team name such as "Platform"Optional.
New target dialog with Black-box selected and the repository fields greyed out as not used
Black-box: the repository fields are disabled. 1 Black-box: Scans the live URL; ownership proof needed. 2 Repo URL disabled: Not used for black-box scans. 3 Create target: Save the new target.. Sensitive details are blurred.

The extra step for black-box: ownership

After you create a black-box target, its page shows an Ownership verification card. You confirm ownership with a DNS TXT record or with approval from Cyberlop staff. Once it is done, the card shows "Verified" and "Black-box scans can run." The steps are in Verify target ownership. Scan only applications you own or have permission to test.

What does each scan type find?

Both types look for the same ten vulnerability classes: Injection, Xss, Auth, Authz, Ssrf, Crypto, Config, Business-logic, Dependency and Secrets. If you tick none, the profile scans all of them. What changes is the evidence and the place a finding points to. The vulnerability classes guide covers each class.

Access control is the class most worth the extra effort. OWASP Top 10:2025 ranks Broken Access Control first. It reports that 100% of the applications tested had some form of it, with an average incidence rate of 3.74%. Flaws such as IDOR often need a signed-in account to find, which is why logins matter.

OWASP Top 10:2025: broken access control ranks first; 100% of tested apps affected; 3.74% average incidence rate.
Why scanning behind login matters. Source: OWASP: A01:2025 Broken Access Control.

Exploitation matters too. The Verizon 2026 Data Breach Investigations Report found that 31% of breaches began with software vulnerabilities, a bigger share than stolen passwords. When the Run exploitation phase option is on, agents test and prove issues against the live target. When it is off, you get static source-code analysis only. See Exploitation phase before you run it against production.

How findings differ by type

Where you lookWhite-box resultBlack-box result
Findings tab, Location columnA source file and line range, with an Endpoint lineAn endpoint, such as POST /search
Scan subtitleProfile, commit and scan IDProfile, trigger and scan ID
Overview, Lines of codeA countA dash
Evidence tabRequest, response, reproduction steps, screenshotRequest, response, reproduction steps, screenshot

To read these screens, see Read a finding and Scan detail page.

White-box scan overview showing the commit, lines of code, tokens consumed and a results donut
A white-box scan overview shows the commit and lines of code. 1 Run details: Check status, profile, times and commit. 2 Results: Findings by severity for this scan. 3 Lines of code: Size of the code that was reviewed.. Sensitive details are blurred.

How do you add logins for a grey-box style scan?

You add one or more authentication roles to the scan profile. A role is a set of login details with a privilege level, so the scan can reach pages that a signed-out visitor cannot. With no role, the scan runs unauthenticated, and the app says: "No auth roles. Add a role to scan behind login, or leave empty for unauthenticated scanning."

  1. Open Scan Profiles and click + New profile, or open your target and use + New profile to preselect it.
  2. On the Scope section, pick the target, name the profile and choose your vulnerability classes.
  3. Open the Authentication section and click + Add role.
  4. Give the role a Name and a Privilege level: Unauthenticated, User, Elevated or Admin.
  5. Tick one or more methods: Form, Header (token / API key) or OAuth 2.0.
  6. Fill in the fields for each method (see the table below). Add AI guidance if the login needs hints.
  7. Add a second role with a different privilege level if you want to check what one signed-in account can reach that it should not.
  8. Click Preview YAML to validate, then Save.
Scan profile Authentication section with a new role and its Form login fields
Add a role under Authentication to scan behind login. 1 Privilege level: Set the role's access level. 2 Authentication methods: Tick Form, Header or OAuth 2.0. 3 Login URL: Enter the app's sign-in page.. Sensitive details are blurred.

Which login method should you use?

Use the method your app uses for its own sign-in. You can combine methods on one role, for example form plus header.

MethodFieldsBest forGuide
FormLogin type, Login URL, Username, Password, optional TOTP secret, Success condition, Login flowApps with a sign-in pageForm login
Header (token / API key)One or more header name and value rowsAPIs that take a key or bearer tokenHeader and token
OAuth 2.0Token URL, Client ID, Client secret, Scope, Header name, Header prefixServices that issue tokens by client credentialsOAuth client credentials

Form login tips

The Success condition tells the scan that sign-in worked. For example, set the type to Url Contains and the value to /dashboard. The Login flow takes one step per line, such as clicking "Sign in" and filling the username and password fields. If the account uses time-based codes, add the optional TOTP secret.

Header and OAuth tips

For a bearer token, use the header name Authorization and the value Bearer …. For OAuth, click Complete authentication to check that the app returns a token before you save.

Use test accounts, not real ones

Create dedicated accounts in a Dev or Staging environment and give them only the access you need, in line with least privilege. Cyberlop encrypts stored secrets and never shows them again once you save. When you edit the profile later, leave the fields blank to keep the stored value, or use Clear. See Authentication roles and Edit a scan profile.

How do you set up and run the scan you chose?

The route is the same for both types after the target exists: save a profile, press Scan, then read the results.

  1. Choose the scan type using the table above.
  2. Add the target with + New target and click Create target.
  3. For black-box, complete ownership verification and wait for the Verified badge.
  4. Create a scan profile and, if you want a grey-box style scan, add authentication roles.
  5. Decide whether to keep Run exploitation phase ticked.
  6. Click ▷ Scan. The scan starts at once and you can leave the page.
  7. Follow it from Recent Scans. The app's own documentation says a typical scan of a small app takes roughly an hour.
  8. Open the Findings tab and triage what you find.

The running steps are in Run a scan.

Can you change the scan type later?

Not by editing. You cannot edit a target, so the scan type, URL and repository stay fixed once it exists. To change them, delete the target and create it again. Deleting a target also deletes its profiles, schedules, scans and findings, so export what you need first. See Manage targets.

Common mistakes when choosing a scan type

MistakeWhat you seeFix
Choosing white-box without a repository"No repository configured — add a Git repository URL to run a scan."Add the repository, or recreate the target as black-box.
Using an SSH repository address"SSH git@ not supported" appears in the Repo URL help textUse the HTTPS address.
Using a private repository with no tokenPrivate repositories need a Git token, personal or organisationAdd a Git token for an allowed host.
Running a black-box scan before verificationThe Ownership verification card is not yet VerifiedFinish the DNS TXT or staff-approval route first.
Scanning with no roles and expecting logged-in pagesOnly the signed-out surface is testedAdd an authentication role.
Using a real administrator accountA scan with more access than it needsUse a test account with the lowest privilege that fits.

Next step: add your first application in Add a target. Cyberlop reports what it actually exploited, as set out on the evidence page, and the How it works page shows the full path from scan to proof.

Questions people ask

White-box vs black-box scans: FAQs

What is the difference between white-box and black-box scans in Cyberlop?

A white-box scan reads your source code from a Git repository and tests the running app. A black-box scan tests the live URL only and needs ownership verified. White-box findings point to a file and line; black-box findings point to an endpoint.

Is grey-box a separate scan type in Cyberlop?

No. The New target dialog offers White-box and Black-box. A grey-box style scan means adding authentication roles to the scan profile, so the scan tests with some inside knowledge, namely working logins.

Do I need a repository for a black-box scan?

No. When you choose Black-box, the repository fields grey out and read "Not used for black-box scans". You do need to prove you own the target, by DNS TXT record or by staff approval.

Can I add logins to a black-box scan?

Yes. Authentication roles belong to the scan profile, not to the scan type. Add a role with a privilege level and a Form, Header or OAuth 2.0 method, and the scan can test behind the login.

Can I change a target's scan type after creating it?

No. Targets are immutable. Delete the target and create it again with the other scan type. Deleting also removes its profiles, schedules, scans and findings, so export what you need first.

Which scan type is better?

Neither is better in every case. White-box gives the scan your code as well as the app, so findings can point to a line. Black-box shows what an outsider can reach. Pick the one that matches what you can share and what you want to learn.

How long does a scan take?

The app's documentation says a typical scan of a small app takes roughly an hour. Rate limits make a scan slower, not failed. You can leave the page while it runs and follow it from Recent Scans.

Is it safe to run a scan against production?

Treat production with care. The exploitation phase makes real requests to prove issues, so read the exploitation phase guide first, add rules of engagement in the profile, and prefer a Dev or Staging copy with test accounts.

Cyberlop mark

Which scan fits your app?

Not sure whether to start with white-box or black-box? Cyberlop supports white-box, grey-box and black-box testing, and it reports what it actually exploited, with the request, response and line of code. Ask us to run it on one of your applications.

Or start with a $199 pilot on one application: thirty days, success criteria agreed before day one, credited against the annual if you convert.