GH-500 exam at a glance
GitHub Advanced Security Certification · Intermediate level
| Exam code | GH-500 |
|---|---|
| Certification | GitHub Advanced Security Certification |
| Level | Intermediate |
| Duration | 100 minutes |
| Delivery | Pearson VUE testing center or online exam |
| Languages | English, Spanish, Portuguese (Brazil), Korean, Japanese |
| Certification validity | 24 months |
| Prerequisites | No formal prerequisites |
This exam is designed for experienced software development and security professionals who use GitHub Advanced Security to secure code, secrets, and dependencies across the software development lifecycle. Candidates should be able to configure security features, triage and remediate alerts, apply prevention-first practices using policies, workflows, and automation, and should be familiar with GitHub fundamentals, CI/CD, and secure development concepts.
Skills measured and their weighting
| Skill area | Weight |
|---|---|
| Describe GitHub Security Suites, Features, and Ecosystem | 15–20% |
| Configure and Use Secret Protection | 15–20% |
| Configure and Use Supply Chain Security | 15–20% |
| Configure and Use Code Security | 10–15% |
| Security Operations: Best Practices, Prioritization, and Remediation | 15–20% |
| GitHub Security Suites Administration | 10–15% |
Source: learn.github.com — official GitHub Advanced Security certification page. Skills reflect GitHub’s current GH-500 exam outline. Figures were checked against GitHub’s official certification documentation. Confirm current details there before booking.
Microsoft GH-500 Practice Test
Preparing for Microsoft GH-500 is easier when you study GitHub security as one connected process: prevent risks early, detect problems, prioritize alerts, fix vulnerabilities, and apply consistent controls across repositories. A current GH-500 practice test helps you apply those ideas to realistic scenarios instead of memorizing isolated definitions. If you want to compare this credential with other options before starting, Choose another certification exam and select the learning path that best matches your experience and career plans.
Quick Answer: What Is the Microsoft GH-500 Exam?
GH-500 is the exam for the GitHub Advanced Security certification. It measures whether you can use GitHub’s security tools to protect code, secrets, and software dependencies throughout the development lifecycle.
The exam covers GitHub Security suites, Secret Protection, supply-chain security, Code Security, alert remediation, security operations, and security administration at scale. It is designed for developers, security professionals, administrators, DevOps engineers, solution architects, and students with experience in GitHub fundamentals, CI/CD, and secure development.
According to the current GitHub Advanced Security certification page on Microsoft Learn, GH-500 is an intermediate, proctored exam with 100 minutes of testing time. It is scheduled through Pearson VUE and currently offered in English, Spanish, Portuguese (Brazil), Korean, and Japanese. The price depends on the country or region where the exam is proctored.
The official GH-500 study guide says a score of 700 or higher is required to pass. It also states that the exam changed significantly in July 2026. Students should use the current six-domain blueprint rather than older material that lists seven domains or uses outdated product names and percentages.
What Does a GH-500 Practice Test Help You Learn?
A useful practice test measures your ability to select, configure, and operate GitHub security features. It should not simply ask what a product is called. It should describe a repository, development process, alert, or organization requirement and ask for the best action.
Good GH-500 questions help you practice decisions such as:
- Which security suite addresses leaked secrets, vulnerable code, or risky dependencies
- How push protection prevents a credential from entering a repository
- When a secret must be rotated rather than merely removed from a file
- How the dependency graph and SBOM support supply-chain visibility
- How dependency review prevents a vulnerable package from being merged
- When to use CodeQL default setup, advanced setup, or a third-party scanner
- How SARIF lets third-party scan results appear as GitHub code-scanning alerts
- How to prioritize alerts using severity, exploitability, reachability, and business context
- When dismissing an alert is appropriate and what documentation is needed
- How security campaigns organize remediation across repositories
- How security configurations, policies, roles, and APIs support large-scale administration
Practice questions should also teach you to recognize prevention-first choices. Fixing an alert is important, but preventing vulnerable code, secrets, or dependencies from reaching the default branch is often safer and less expensive.
Who Should Take the GH-500 Exam?
The official certification page describes candidates as experienced software-development and security professionals with hands-on knowledge of GitHub security features. The certification is relevant to:
- Application security engineers
- Security analysts and security managers
- Software developers with secure-coding responsibilities
- DevOps and DevSecOps engineers
- GitHub enterprise and organization administrators
- Platform engineers
- Solution architects
- Technical leads responsible for remediation programs
- Students preparing for secure software-development roles
You do not need to hold one exact job title. You do need to understand how developers, security teams, and administrators share responsibility. A developer may repair vulnerable code, a security manager may set priorities and run campaigns, and an administrator may enable features and enforce configurations.
If you are planning several credentials, Explore AWS certification exams and compare the skills measured before choosing your next practice-test path.
Current GH-500 Exam Domains and Weights
The official study guide lists six domains for skills measured as of July 2026:
Domain 1: Describe GitHub Security Suites, Features, and Ecosystem (15–20%)
This domain tests whether you understand the full GitHub security system and can match each risk with the right feature.
The three main security areas
| Security area | Main problem addressed | Common features |
| Secret Protection | Credentials and sensitive values exposed in code | Secret scanning, push protection, validity checks, custom patterns |
| Code Security | Vulnerabilities and coding errors in source code | Code scanning, CodeQL, third-party scanning, Copilot Autofix, security campaigns |
| Supply-chain security | Risk from packages and dependencies | Dependency graph, Dependabot, dependency review, SBOMs, advisories |
GitHub’s security feature overview explains that feature availability depends on the repository type, visibility, GitHub plan, and purchased security products. Some capabilities are available for public repositories, while private and internal repositories may require GitHub Secret Protection or GitHub Code Security.
Do not assume every feature is included everywhere. Practice questions may give a plan, repository visibility, or GitHub Enterprise environment and ask what is available.
Security Overview
Security Overview gives organization security teams a central view of alerts, coverage, risk, and security settings across repositories. It helps answer questions such as:
- Which repositories have critical alerts?
- Where is secret protection not enabled?
- Which teams own the affected repositories?
- Which alerts are part of a campaign?
- Which repositories have weak or incomplete security coverage?
Use filtering to reduce a large list to useful work. A security manager might filter by severity, repository topic, team, alert type, exposure, or remediation status.
Secure software development lifecycle
A secure software development lifecycle, or secure SDLC, adds security throughout planning, coding, review, build, release, and maintenance.
A simple GitHub-based flow is:
- Prevent secrets from being pushed.
- Review dependency changes before merging.
- Scan code on pull requests and the default branch.
- Protect important branches with required checks.
- Triage alerts using risk and business context.
- Assign and fix alerts.
- Verify remediation and monitor for recurrence.
- Apply configurations and policies consistently at scale.
Prevention-first versus gate-based security
A gate blocks progress when a check fails. Gates are useful, but a prevention-first approach tries to stop the problem earlier and give the developer fast feedback.
Examples include:
- Push protection blocking a detected secret before it enters the repository
- Dependency review warning about a vulnerable package in a pull request
- Code scanning showing an issue before code reaches the default branch
The exam may ask for the solution that reduces risk at the earliest practical stage.
Alert lifecycle and responsibilities
An alert typically moves through detection, review, prioritization, assignment, remediation, verification, and closure. If it is dismissed, the reason should be accurate and documented.
Responsibilities often overlap:
- Developers understand code context and implement fixes.
- Security teams define standards, prioritize risk, and guide remediation.
- Administrators enable features, apply policies, manage access, and monitor coverage.
The best solution gives the right team enough access without unnecessary permissions.
Domain 2: Configure and Use Secret Protection (15–20%)
Secret Protection helps find credentials already present in repositories and prevents new secrets from being introduced.
Secret scanning and push protection
Secret scanning examines repository content for supported credentials and other secret patterns. Push protection checks content during a push and can block a supported secret before it reaches the repository.
GitHub’s push-protection documentation explains that a blocked user should remove the secret or follow the approved bypass process. A real exposed secret should be rotated or revoked quickly.
Remember this key rule: removing a credential from the latest file does not make the credential safe. It may still exist in Git history, logs, forks, clones, caches, or an attacker’s possession.
Correct response to an exposed secret
When a valid secret is exposed:
- Rotate or revoke the credential immediately.
- Check logs and audit information for misuse.
- Remove the value from current code.
- Decide whether repository history must be rewritten.
- Coordinate with affected teams and service owners.
- Add prevention such as push protection or a custom pattern.
- Document the incident and final resolution.
Rotation replaces the credential with a new one. Revocation makes the old credential unusable. The right order depends on maintaining service availability, but exposure should be treated as a security event.
Validity checks and alert prioritization
Validity checks can help determine whether a supported credential is active. An active, publicly exposed, highly privileged credential usually requires faster action than a test value that cannot authenticate.
Validity does not replace investigation. A credential reported as inactive may have been active earlier, and repository context still matters.
Custom patterns
Default scanning supports many known credential formats. Organizations may also have internal tokens with unique formats. Custom patterns allow security teams to detect those organization-specific secrets.
Good custom-pattern practice includes:
- Make the pattern specific enough to reduce false positives.
- Test it with a dry run before enforcement.
- Review matches and adjust the expression.
- Enable push protection when the pattern is reliable.
- Monitor bypass and alert volume.
GitHub warns that an overly common pattern can disrupt contributors, so testing is important.
Bypass and delegated bypass
Sometimes a detected string is a false positive, a test value, or a value approved for exposure. A bypass process lets the organization handle exceptions without disabling protection for everyone.
Delegated bypass assigns review responsibility to approved roles or teams. This creates accountability and prevents every contributor from making unreviewed exceptions.
Alert states and dismissal
A secret alert may be open, resolved, or dismissed with a reason. Do not dismiss an alert simply to reduce the dashboard count. The reason should reflect the investigation, such as revoked, false positive, or used in tests, according to available workflow choices.
Domain 3: Configure and Use Supply-Chain Security (15–20%)
Software depends on external packages, libraries, build tools, and transitive dependencies. Supply-chain security helps teams understand those components and reduce risk.
Dependency graph
The dependency graph summarizes dependencies found in manifest and lock files and data submitted through the dependency submission API. GitHub’s dependency graph documentation says it can display package versions, licenses, known vulnerabilities, and dependency paths.
Know these terms:
- Direct dependency: A package the project explicitly includes.
- Transitive dependency: A package brought in by another dependency.
- Manifest: A file declaring project dependencies.
- Lock file: A file recording resolved package versions.
If an ecosystem is not automatically detected, dependency submission can provide additional inventory data.
Software bill of materials
An SBOM is a machine-readable inventory of software components. GitHub can export an SPDX-compatible SBOM from the dependency graph. It can include package names, versions, identifiers, licenses, and dependency relationships.
An SBOM supports visibility, incident response, customer requests, and compliance. It does not automatically prove that every component is secure; it tells you what components exist so they can be evaluated.
Dependabot alerts and security updates
Dependabot alerts identify dependencies with known vulnerabilities. Dependabot security updates can create pull requests to update affected packages. Version updates can help keep dependencies current even when no known vulnerability has been announced.
An alert and an update are different:
- The alert communicates risk.
- The update pull request proposes a remediation.
- Testing and review determine whether the update can safely merge.
Dependency review
Dependency review shows the dependency impact of a pull request. GitHub’s dependency review guide explains that it can reveal added, removed, or updated packages and known vulnerabilities before merge.
The dependency review action can enforce rules in a workflow. For example, a pull request check may fail when a newly added dependency exceeds an allowed severity or violates a license policy.
This is a classic prevention-first feature because it stops risky dependency changes before they reach the default branch.
Prioritizing dependency risk
Not every vulnerability has the same urgency. Consider:
- Severity
- Availability of a patch
- Whether exploitation is known or likely
- EPSS score
- Direct or transitive relationship
- Runtime or development scope
- Exposure and reachability
- Importance of the affected application
EPSS estimates the probability that a published vulnerability will be exploited in the wild during a defined time window. It adds useful context but should not be the only decision factor.
Auto-triage rules and campaigns
Dependabot auto-triage rules can dismiss, snooze, or trigger updates for alerts that match defined criteria. Rules reduce repetitive work, but they should reflect an approved risk policy.
Security campaigns organize a selected group of alerts into a focused remediation effort. They provide ownership, due dates, progress tracking, and cross-repository visibility.
Domain 4: Configure and Use Code Security (10–15%)
Code Security finds vulnerabilities and coding errors in source code. The current blueprint includes CodeQL and third-party scanning tools.
CodeQL and third-party analysis
CodeQL treats code as data and looks for patterns that represent security problems. A third-party static analysis tool can also send compatible results to GitHub.
Choose based on language support, existing tooling, required rules, CI environment, and organization policy. The objective is consistent, useful coverage—not running as many scanners as possible.
Default setup versus advanced setup
| Setup | Best fit |
| Default setup | Fast enablement with automatically generated CodeQL configuration |
| Advanced setup | Custom workflows, build steps, languages, schedules, query packs, matrices, or runner requirements |
| External CI or third-party tool | Scanning occurs outside GitHub Actions and results are uploaded |
GitHub’s default setup guidance says default setup can choose supported languages and query suites with minimal configuration. Advanced setup is suitable when the project needs more control.
Scan frequency and matrix builds
Common scan points include:
- Pull requests, for early feedback
- Pushes to important branches
- Scheduled scans, to find issues after query or vulnerability knowledge changes
A matrix can analyze multiple languages, build modes, or environments. Avoid unnecessary combinations that increase time and cost without improving coverage.
SARIF
SARIF means Static Analysis Results Interchange Format. It is a JSON-based standard that lets compatible third-party scanners send findings to GitHub’s code-scanning interface.
GitHub’s SARIF documentation explains that a third-party tool or external CI system can produce a SARIF file for upload. GitHub parses the file and creates code-scanning alerts.
Students should understand the purpose of SARIF rather than memorize its full schema.
Alert analysis and data flow
A code-scanning alert can include the vulnerable location, rule, severity, path, and data-flow information. Data-flow analysis may show how untrusted input reaches a dangerous operation.
Review the complete path. Fixing only the highlighted line may not remove the root cause. A safe remediation may require validation, encoding, parameterization, access control, or a design change.
Copilot Autofix
Copilot Autofix may suggest a code change for supported alerts. Treat a suggestion as a starting point, not proof that the vulnerability is fixed. Review the change, run tests, consider side effects, and confirm that the alert is resolved.
Troubleshooting code scanning
When scanning fails, check:
- Language and framework support.
- Workflow permissions and events.
- Build mode and required dependencies.
- Runner resources and timeout.
- Matrix configuration.
- Query packs and configuration syntax.
- SARIF size, format, category, and upload method.
- Conflicts between default and advanced setup.
Use logs to identify the first meaningful error rather than changing several settings at once.
Domain 5: Security Operations, Prioritization, and Remediation (15–20%)
This domain tests how security work is organized after detection. It combines risk knowledge, alert management, collaboration, and preventive improvement.
CVE, CWE, and GitHub Security Advisories
These terms answer different questions:
| Term | Plain-language meaning |
| CVE | Identifier for a publicly known vulnerability |
| CWE | Category describing a type of software weakness |
| GitHub Security Advisory | Information and coordination workflow for a vulnerability, often connected to affected versions and remediation |
A CVE identifies a specific vulnerability. A CWE describes a general weakness pattern, such as improper input validation. An advisory provides context, affected packages or versions, and remediation information.
Risk-based prioritization
Severity alone is not enough. A critical alert in unreachable test code may be less urgent than a high-severity issue exposed to the internet in a business-critical application.
Consider:
- Technical severity
- Exploitability and known exploitation
- Reachability and exposure
- Sensitive data or privileges involved
- Application importance
- Patch or workaround availability
- Direct versus transitive dependency
- Regulatory or contractual requirements
- Age of the alert and remediation deadline
Practice questions often ask which alert to fix first. Look for the combination that creates the highest real risk.
Security campaigns
A security campaign is a focused effort to remediate selected alerts across one or more repositories. GitHub’s campaign documentation explains that organization owners and security managers can select alerts, launch a campaign, assign work, and monitor progress.
A good campaign has:
- A clear alert selection rule
- Named owners
- A realistic due date
- Developer guidance
- Progress tracking
- An exception process
- Verification and closure criteria
Campaigns are more useful than sending a spreadsheet and hoping every team responds.
Dismissal and documentation
Dismissal may be appropriate for a false positive, test-only condition, accepted risk, or code that is not actually used. It should never be a shortcut for improving metrics.
A sound dismissal records:
- Why the finding does not require a code change
- Who approved the decision
- Supporting evidence
- Review or expiration date where appropriate
- Compensating controls
Custom queries and organizational risk
Standard query suites cover many common weaknesses. An organization may add custom CodeQL queries for its frameworks, internal APIs, or risk profile.
Custom detection should be tested and maintained. A noisy rule that produces too many false positives can cause teams to ignore important alerts.
Shift-left security
“Shift left” means giving security feedback earlier in development. Examples include:
- Push protection during a developer’s push
- Dependency review in a pull request
- Code scanning before merge
- Secure templates and approved workflows
- Developer training connected to real alerts
Shift left does not remove the need for monitoring after release. It reduces the number of preventable issues that reach later stages.
Domain 6: GitHub Security Suites Administration (10–15%)
This domain focuses on enabling and governing security across enterprises, organizations, and repositories.
Security configurations
Security configurations are collections of security enablement settings that can be applied to repositories. They help administrators standardize Secret Protection, Code Security, and related features.
GitHub’s security-at-scale guidance explains that configurations control repository-level features, while global settings control organization-level behavior.
Key questions include:
- Which repositories receive a configuration?
- Is the configuration enforced?
- Can a repository administrator override a setting?
- What happens when a repository changes visibility or properties?
- Is the required license available?
- Has the configuration been removed or detached?
Inheritance and enforcement
Higher-level policy can limit lower-level choices. A repository may inherit security settings from an organization configuration. Enforcement prevents local changes that conflict with required settings.
Use enforcement for mandatory controls, but plan exceptions carefully. An undocumented exception can create a blind spot; an overly rigid policy can interrupt legitimate work.
Roles and permissions
Common responsibilities include:
- Enterprise owners define broad policy and product access.
- Organization owners manage organization-wide security settings.
- Security managers can view and manage security information without receiving every organization-owner capability.
- Repository administrators configure permitted repository settings.
- Developers investigate and fix alerts when they have suitable access.
Configure who can view, assign, dismiss, and manage alerts. Security information may reveal sensitive code or credential details, so access should follow least privilege.
Default and approved CodeQL workflows
Administrators can standardize default setup or approved custom workflows. A controlled template helps teams gain coverage without designing every workflow from zero.
Allow customization when application architecture requires it, but retain required scan frequency, query coverage, and reporting.
API and automation at scale
Manual configuration becomes difficult across hundreds or thousands of repositories. APIs and automation can:
- Apply security configurations
- Check repository coverage
- Review alerts and assignments
- Export metrics
- Manage custom patterns
- Monitor configuration status
- Create reporting and integration workflows
Automation should use secure authentication, least privilege, rate-limit awareness, error handling, and auditability.
GitHub Enterprise Cloud and Server differences
Feature availability and configuration can differ between GitHub Enterprise Cloud and GitHub Enterprise Server versions. GHES administrators must also consider appliance version, installed services, upgrades, networking, Actions availability, and licensed features.
Use documentation for the exact product and version in a scenario. A feature available on GitHub.com may not exist in an older GHES release.
High-Value GH-500 Comparisons to Remember
| Compare | Key difference |
| Secret Protection vs Code Security | One focuses on exposed credentials; the other focuses on vulnerable code |
| Code Security vs supply-chain security | One analyzes source code; the other evaluates packages and dependencies |
| Secret scanning vs push protection | Scanning finds secrets; push protection can block them before entry |
| Default pattern vs custom pattern | GitHub supplies the first; your organization defines the second |
| Dependency graph vs SBOM | The graph is GitHub’s dependency view; an SBOM is an exportable inventory |
| Dependabot alert vs security update | An alert reports risk; an update proposes a package change |
| Dependency review vs Dependabot alert | Review checks proposed dependency changes; alerts report known risk in current dependencies |
| CodeQL vs SARIF | CodeQL analyzes code; SARIF is a result-exchange format |
| Default vs advanced CodeQL setup | Default is fast and managed; advanced allows custom workflow control |
| CVE vs CWE | CVE identifies a vulnerability; CWE categorizes a weakness type |
| Severity vs EPSS | Severity estimates impact; EPSS estimates exploitation probability |
| Fix vs dismissal | A fix removes risk; dismissal records why a change is not required |
| Security campaign vs single alert | A campaign coordinates many selected alerts; a single alert is one finding |
| Configuration vs global setting | A configuration manages repository features; a global setting governs organization behavior |
Inside Your GH-500 Preparation Experience
Our GH-500 preparation format is designed to make security concepts understandable while preserving the scenario-based thinking expected from an intermediate exam.
Coverage aligned with the July 2026 outline
Practice is organized around all six current domains. This helps students avoid outdated seven-domain material and older terminology that no longer reflects the official blueprint.
Clear security scenarios
Questions describe practical situations involving secrets, vulnerable packages, code-scanning alerts, campaigns, access, or large-scale configuration. The wording remains student-friendly without reducing the quality of the decision being tested.
Explanations for correct and incorrect choices
Each review should explain why the best option meets the requirement and why the alternatives do not. This builds reasoning that transfers to new scenarios.
Topic-level practice
You can focus on one area—such as push protection, dependency review, SARIF, CodeQL setup, prioritization, or security configurations—before returning to mixed questions.
Timed test sessions
Timed practice helps you build a steady pace for the 100-minute exam. It teaches you to make a careful choice, mark uncertainty, and continue without allowing one question to consume too much time.
Readiness tracking
Track scores by domain rather than relying only on one total. A strong overall result can hide a weak domain that still needs attention.
Practice connected with official learning
Use each missed question as a route to documentation and hands-on work. Review the feature, test it safely, record the result, and then attempt a different scenario.
Use our Online Learning Resources to start with a diagnostic set and build targeted GH-500 practice into your weekly plan.
How to Use a Microsoft GH-500 Practice Test
Step 1: Take a diagnostic set
Begin with 20 to 30 mixed questions. Do not search for answers during the first attempt. The goal is to identify your starting point.
Step 2: Label every mistake
Use these categories:
- Knowledge gap: The feature was unfamiliar.
- Comparison error: You confused two related tools.
- Scope error: You selected repository scope when organization or enterprise scope was needed.
- Reading error: You missed a condition such as prevention-first, least privilege, or before merge.
- Experience gap: The answer became clear only after a hands-on task.
- Outdated source: Your material used older names or objectives.
Step 3: Verify with official documentation
Use the current Microsoft study guide and official GitHub documentation. Product names, licensing, and behavior can change.
Step 4: Reproduce the concept
In a safe repository, review a sample alert, enable a suitable feature, inspect the dependency graph, configure a CodeQL scan, or filter Security Overview.
Step 5: Retake by domain
Practice the weakest area with new questions. Explain each answer in your own words before reading the supplied explanation.
Step 6: Use timed mixed tests
When domain performance is balanced, use full mixed sessions. Review both incorrect answers and correct guesses.
A Four-Week GH-500 Study Plan
Week 1: Security ecosystem and Secret Protection
- Review the six current domains and weights.
- Compare Secret Protection, Code Security, and supply-chain security.
- Learn Security Overview and alert responsibilities.
- Enable secret scanning and push protection in a suitable practice repository.
- Review validity checks, alert states, and remediation.
- Design and dry-run a simple custom secret pattern.
- Take Domain 1 and Domain 2 practice sets.
Week 2: Supply-chain security
- Inspect a dependency graph.
- Compare direct and transitive dependencies.
- Export or examine an example SBOM.
- Review Dependabot alerts, security updates, and version updates.
- Add dependency review to a practice pull request.
- Learn severity, EPSS, patch availability, scope, and reachability.
- Practice supply-chain scenarios.
Week 3: Code Security and remediation
- Compare CodeQL default and advanced setup.
- Run code scanning in a safe repository.
- Review a data-flow path in a sample alert.
- Learn how SARIF supports third-party tools.
- Troubleshoot a failed scan from logs.
- Compare CVE, CWE, and advisories.
- Build a sample security-campaign plan.
- Practice dismissal and exception decisions.
Week 4: Administration and timed practice
- Study security configurations, global settings, and enforcement.
- Review security-manager and developer responsibilities.
- Compare GitHub Enterprise Cloud and Server considerations.
- Explore API-based administration at a high level.
- Take two or three timed mixed practice tests on separate days.
- Review every incorrect and guessed answer.
- Revisit official documentation for weak topics.
- Use the official exam sandbox before exam day.
Common GH-500 Preparation Mistakes
Studying the old blueprint
Older pages may show seven domains and previous names. The July 2026 guide uses six domains and reorganized security suites.
Memorizing acronyms without understanding the workflow
Knowing that SARIF is a result format or SBOM is a component inventory is useful only if you can choose it in a scenario.
Focusing only on CodeQL
Code Security is important, but Secret Protection, supply-chain security, operations, and administration carry substantial weight.
Treating every alert as equal
Effective security work uses real risk. Severity is one input, not the full decision.
Removing a secret without rotating it
Once a credential is exposed, deleting the visible text does not invalidate the credential or remove every copy.
Dismissing alerts to improve metrics
Dismiss only after investigation, use the accurate reason, and document the decision.
Ignoring feature availability
Repository visibility, GitHub plan, product purchase, and Enterprise Server version can affect available features.
Skipping hands-on practice
Configuration, alerts, data flow, workflows, and troubleshooting become easier after you use them in a safe environment.
Using unauthorized exam questions
Leaked exam content may be wrong, obsolete, and against exam rules. Use original practice questions and official sources.
Microsoft GH-500 Frequently Asked Questions
What certification does GH-500 award?
Passing GH-500 earns the GitHub Advanced Security certification.
Is GH-500 provided by Microsoft or GitHub?
The official page states that Microsoft provides the exam, while GitHub maintains the exam and associated certification.
What level is GH-500?
Microsoft Learn lists GH-500 as an intermediate-level certification exam.
How long is the GH-500 exam?
The current certification page gives candidates 100 minutes to complete the assessment.
What score do I need to pass?
The official GH-500 study guide says a score of 700 or higher is required. This is a scaled score and should not be treated as a promise that exactly 70% correct will pass.
How many questions are on GH-500?
Microsoft does not publish a guaranteed fixed count for this exam. The number and question formats may change.
Which languages are available?
The current page lists English, Spanish, Portuguese (Brazil), Korean, and Japanese.
Can I take GH-500 online?
Yes. GitHub’s registration guidance says candidates may choose an online-proctored exam or a Pearson VUE test center, subject to local availability and requirements.
How much does GH-500 cost?
The price depends on the country or region where the exam is proctored. Check the scheduling page for the current local amount and taxes.
Does GH-500 have prerequisites?
No certification prerequisite is required. GitHub recommends working knowledge of GitHub, and GH-500 candidates should understand CI/CD and secure development.
Is GH-500 suitable for beginners?
It is an intermediate exam. Beginners can work toward it, but should first learn GitHub repositories, pull requests, Actions basics, dependencies, and core security concepts.
What changed in July 2026?
Microsoft says the exam changed significantly. The current blueprint has six reorganized domains covering security suites, Secret Protection, supply-chain security, Code Security, security operations, and administration.
What is Secret Protection?
Secret Protection includes capabilities that detect and help prevent credential exposure, such as secret scanning, push protection, validity checks, custom patterns, and delegated bypass controls.
What is Code Security?
Code Security includes tools for finding and managing code vulnerabilities, such as code scanning with CodeQL, third-party analysis integration, remediation support, and related management features.
What is supply-chain security?
Supply-chain security helps identify and manage risk from packages and dependencies using the dependency graph, SBOMs, Dependabot, dependency review, advisories, and related workflows.
What is the difference between secret scanning and push protection?
Secret scanning finds supported secrets in repository content. Push protection can block a supported secret before it is pushed.
What is the difference between an SBOM and SARIF?
An SBOM inventories software components and dependencies. SARIF carries static-analysis results so GitHub can display code-scanning alerts.
Do I need to write CodeQL queries?
You should understand query suites, customization, and organization-specific detection. The exam is broader than advanced query writing, so follow the depth shown in the current study guide.
Is GH-500 open book?
No. Microsoft Learn access is not available during GitHub certification exams.
How many practice tests should I take?
There is no official number. A useful plan is one diagnostic, focused sets for each weak domain, and two or three timed mixed tests with full review.
What practice score means I am ready?
No practice score guarantees a pass. Look for consistent performance, good timing, balanced domain results, hands-on confidence, and the ability to explain every choice.
Can practice tests replace hands-on experience?
No. Practice questions identify gaps and improve decision-making. Hands-on tasks teach configuration, alert review, workflow behavior, and troubleshooting.
What should I do if I fail GH-500?
Use the score report to identify weaker skill areas, then study and practice those topics before another attempt. The current Microsoft retake policy requires a 24-hour wait after the first failed attempt and a 14-day wait between later attempts, with additional annual limits. Verify the policy before rebooking.
Should I use a personal Microsoft account to register?
The official certification page strongly recommends a personal Microsoft account. It warns that records connected to an organizational work or school account may be lost if you leave that organization.