- A reproduction guide: step-by-step instructions, written from the source code, that you can follow in your own staging or test environment. Guides are free and donât run code.
- Verification: CodeRabbit runs the guide in an isolated test environment that it prepares for the scanned commit, then keeps the result and the evidence with the finding. The agent is instructed to use only that test environment, never your deployed services.
Before you begin
- Runtime verification is available for GitHub Cloud repositories on CodeRabbit Cloud. If a findingâs Runtime verification tab shows Coming Soon, the feature is not available for that finding.
- Viewing guides, results, and evidence requires Security read access. Generating guides, starting or canceling runs, and saving repository defaults require Security write access.
- Verification runs require an active paid CodeRabbit Agent add-on for your organization. Runs use Verify minutes, which are billed as Agent minutes. See Usage and billing.
- To run a guide in CodeRabbit, the repository needs a prepared environment with the dependencies and setup the application needs. You donât need one to follow a guide in your own environment.
What happens after a Deep Scan
After a Deep Scan of the repositoryâs code finishes, CodeRabbit looks at the open findings that the scan newly detected or reopened:- It generates a reproduction guide for each finding at or above the guide level.
- When a guide is ready, it runs the guide for each finding at or above the verification level, in the repositoryâs default environment.
Verification can only run on findings that have a guide, so the verification level canât be broader than the guide level. If verification covers a severity that guides donât, CodeRabbit shows Generate reproduction guides for every severity selected for verification. and you canât save the defaults or start the scan. Setting verification to Off still generates guides. To generate neither, set both levels to Off.
Set repository defaults
- Go to Security > Repositories, select the repository, and open the Settings tab.
- In Reproduction and verification, choose a level for Generate reproduction guides and for Verify in a test environment.
- Select Save defaults.
Override for one scan
In the Run deep scan dialog, expand Configuration. Under Runtime Verification, choose levels for Generate reproduction guides and Verify in a test environment. These choices apply to that scan only and donât change the repository defaults. When the section is collapsed, it summarizes the choices, for example âGuides: High+ ¡ Verification: Criticalâ.Generate and use a reproduction guide
You can generate a guide for any Deep Scan vulnerability, whatever its severity.1
Open the finding
Go to Security > Findings, open a Deep Scan vulnerability, and select the Runtime verification tab.
2
Generate a guide
In Reproduce this finding, select Generate guide. CodeRabbit first rechecks whether the finding is still present in the current source. If it isnât, the tab shows Finding no longer present and no guide or run is needed. You can select Check again later.When the finding is still present, CodeRabbit analyzes the source and writes a guide tied to the displayed Revision. You can cancel with Cancel generation.
3
Review the guide
Expand Steps to reproduce to read the steps, the expected result, and any missing context, prerequisites, alternative methods, and limitations. Expected results are based on source analysis; they are not runtime evidence. Select Download .md to save the guide, or Regenerate guide to write a new one.
4
Reproduce in your own environment
Follow the guide in your staging or test environment. Check out the displayed revision, satisfy the prerequisites, and supply any environment-specific values the guide asks for. Compare what you observe with the expected result.Generating a guide doesnât start a run in CodeRabbit.
Run the guide in CodeRabbit
CodeRabbit can run a published guide in an isolated test environment and keep the evidence from the run. Guide execution stops after 90 minutes. Shutdown and assessment can take additional time.1
Prepare an environment
Follow Coding environments to choose toolchains, install dependencies, configure environment variables and startup instructions, and assign the repository. Wait until the environment and the repository assignment are ready.If the repository has no environment, the findingâs Runtime analysis section shows Set up an environment to run this guide. Select Set up environment to open the environment setup.
2
Start the run
Return to the findingâs Runtime verification tab. Under Runtime analysis, in Run this guide, select Run analysis. Choose an Environment and select Start analysis. The environment you choose applies to this run only and doesnât change the repositoryâs default environment.
3
Follow the run
The run moves through preparing the environment, running the steps, assessing the evidence, and saving the result. Select Cancel run to stop it while it is active.
Environment variables and evidence
A run uses the environment you choose. An automatic run uses the repositoryâs default environment. The agent running the guide can read the environment variables configured for that environment, including values marked as secret, and can run commands in its sandbox. Marking a variable as secret doesnât hide its value from the agent during the run. CodeRabbit keeps the runâs evidence with the finding: completed steps, command output, observations, and downloadable text evidence. Evidence is text only. Everyone with Security read access who can see the finding can view it.Interpret runtime results
The Runtime analysis section shows one of these results:
Evidence verified appears when a finished run that isnât Inconclusive has readable evidence.
Check Application ready and Target exercised alongside the result. They show whether the run confirmed that the application was ready and that the relevant code path was exercised. A setup failure or an untested path is not evidence that a vulnerability is absent.
Under Assessment and evidence, review the completed steps, the retained output, Limitations, and Counterevidence. Select View evidence or Download text evidence for closer inspection. The result also shows the Environment, the Tested commit, and the Verify minutes used.
Results apply to the published guide and the tested commit. They can change the findingâs state:
- Reproduced can reopen a fixed finding, unless newer activity or a dismissal takes precedence.
- Could not reproduce doesnât mark the finding fixed. CodeRabbit rechecks the source, and the recheck determines whether the finding still applies.
- Inconclusive doesnât change the findingâs state.
Filter findings by result
On the Findings page, the Verification column shows each vulnerabilityâs latest run result or guide status. To filter, use the Runtime verification filter group:- Run result: Reproduced, Not reproduced, Inconclusive, In progress, Failed, Canceled, or Not run.
- Reproducer guide: Ready, Partial, Unavailable, In progress, Failed, Canceled, or No guide.
Usage and billing
Reproduction guides are free. Running a guide in CodeRabbit uses Verify minutes, billed at $0.40 per Agent minute. You pay for the time spent running the guide and assessing the result. Each run shows its Verify minutes when it finishes. You arenât charged for a run that fails before it publishes a result; it shows Not billed. Published results are charged, including Inconclusive. Each run is charged separately, including reruns. Who pays for a run depends on how it started. The tab shows who started each guide and run, and who is billed for automatic runs.- Runs you start from a finding: billed to you.
- Deep Scans you start: automatic runs are billed to you, including runs from the levels preselected in the dialog.
- Scheduled and coverage-triggered scans: automatic runs are billed to the person who last saved the repository defaults with verification on. If the defaults were saved with verification Off, or never saved, these scans generate guides only.
Troubleshoot runtime verification
When an automatic run canât start, its message begins with âCouldnât verify automatically.â followed by the reason.Whatâs next
Coding environments
Prepare an environment that CodeRabbit can use to run reproduction guides.
Triage and remediate findings
Use the evidence to resolve, dismiss, or fix a finding.
Steer Deep Scans
Give future scans the repository context and security instructions they need.