GH-500 — GitHub Advanced Security Exam Blueprint

Practical exam blueprint for the GitHub Advanced Security (GH-500) exam, covering code scanning, secret scanning, dependency security, GitHub Actions security, governance, and alert triage.

How to Use This Exam Blueprint

Use this page as a practical readiness map for the GitHub Advanced Security (GH-500) exam from GitHub. It is organized around the skills a candidate should be able to apply in real scenarios: enabling GitHub Advanced Security capabilities, interpreting alerts, configuring workflows, reducing risk, and explaining tradeoffs.

For each area, ask:

  • Can I explain the feature and when to use it?
  • Can I configure it at the repository, organization, or enterprise level when applicable?
  • Can I interpret the alert or result produced by the feature?
  • Can I choose the right remediation path?
  • Can I recognize common misconfigurations and security gaps?

This is not a substitute for official exam materials. It is an independent exam blueprint for final review and practice planning.

GH-500 Readiness Areas at a Glance

Readiness areaWhat to reviewYou are ready when you can…
GitHub Advanced Security overviewCore GHAS capabilities, repository security features, organization-level security postureExplain how code scanning, secret scanning, dependency security, and security overview work together
Code scanningCodeQL, third-party tools, SARIF, default setup, advanced setup, alerts, triageConfigure scanning, interpret findings, and decide how to remediate or dismiss alerts appropriately
CodeQLQuery packs, query suites, supported language concepts, custom queries, database creation, analysis workflowExplain how CodeQL analyzes code and when custom queries or advanced setup are needed
Secret scanningSecret scanning alerts, push protection, validity checks where available, custom patterns, bypass handlingDecide how to prevent, detect, validate, and remediate exposed secrets
Dependency securityDependency graph, Dependabot alerts, security updates, version updates, dependency reviewIdentify vulnerable dependencies and select the right remediation workflow
GitHub Actions securityWorkflow permissions, token scope, reusable workflows, third-party actions, artifact handling, OIDC conceptsHarden CI/CD workflows and reduce supply-chain exposure
Security governanceSecurity policies, repository rules, branch protections, organization settings, security managers, audit signalsApply controls consistently across teams and repositories
Alert triage and remediationSeverity, reachability/context, false positives, dismissal reasons, issue assignment, PR-based fixesPrioritize alerts based on risk, exploitability, ownership, and business impact
Reporting and visibilitySecurity overview, repository security tab, organization-level views, alert filtersUse dashboards and filters to find trends, gaps, and unowned risk
Operational rolloutEnablement strategy, developer workflow impact, exceptions, education, gradual adoptionPlan GHAS adoption without overwhelming teams or weakening controls

Core GitHub Advanced Security Concepts

Checklist: Feature Purpose and Fit

You should be able to match each feature to the problem it solves.

Feature or areaPrimary purposeExam-style cue
Code scanningFinds code vulnerabilities and coding errors through static analysis“Detect insecure code before merge”
CodeQLGitHub’s semantic code analysis engine for code scanning“Use queries to find patterns across source code”
SARIF uploadImports results from compatible third-party static analysis tools“Bring external scanner results into GitHub code scanning alerts”
Secret scanningDetects committed credentials, tokens, and secrets“A token was accidentally pushed to a repository”
Push protectionBlocks or warns on certain secret pushes before they land“Prevent secret exposure at commit or push time”
Custom secret patternsDetects organization-specific secret formats“Internal API keys do not match default partner patterns”
Dependency graphIdentifies dependencies used by a repository“Know which packages a project depends on”
Dependabot alertsFlags dependencies with known vulnerabilities“A package version has a known CVE or advisory”
Dependabot security updatesOpens PRs to update vulnerable dependencies“Automatically propose a patched version”
Dependabot version updatesKeeps dependencies current on a schedule“Reduce drift before vulnerabilities appear”
Dependency reviewShows dependency changes in pull requests“Block or review risky dependency additions before merge”
Security overviewGives organization-level visibility into security posture“Find repositories missing protections or containing unresolved alerts”

Can You Explain These Relationships?

Check each item only when you can explain it without notes.

  • How GitHub Advanced Security features support a secure software development lifecycle.
  • The difference between detecting a problem after code is pushed and preventing it before merge.
  • The difference between repository-level configuration and organization-level governance.
  • How alerts move from detection to triage to remediation to closure.
  • Why security tools need tuning to reduce noise without hiding real risk.
  • How developer workflow impact changes depending on whether a feature comments, alerts, blocks, or opens pull requests.
  • How GHAS capabilities complement, but do not replace, secure design, code review, and runtime monitoring.

Code Scanning Readiness

What to Know

Code scanning is a major GH-500 readiness area. Be prepared to reason about setup, analysis scope, result interpretation, and remediation workflow.

TopicReview focusReady check
Default setupSimplified enablement for supported scenariosCan identify when default setup is enough
Advanced setupCustom workflow configuration through GitHub ActionsCan identify when advanced customization is needed
CodeQL analysisQuery-driven semantic analysisCan explain how queries detect vulnerability patterns
Third-party toolsSARIF-compatible scanner integrationCan distinguish CodeQL results from imported results
Alert lifecycleOpen, fixed, dismissed, reopened patternsCan triage an alert from finding to closure
Branch and PR integrationFindings on default branch and pull requestsCan explain how code scanning supports pre-merge review
Language coverageLanguage-specific analysis behaviorCan verify whether a repository’s languages are covered
Build requirementsCompiled language analysis considerationsCan identify when autobuild or custom build steps matter
Query selectionDefault, security, extended, or custom query choicesCan choose a query approach based on risk and noise
Result precisionFalse positives, path context, data flowCan avoid dismissing alerts without review

Code Scanning Configuration Checklist

  • Know where code scanning is enabled for a repository.
  • Know the difference between default setup and advanced setup.
  • Know when GitHub Actions is used to run CodeQL analysis.
  • Know when a repository may require a custom build step.
  • Know how workflow permissions can affect analysis and result upload.
  • Know how to configure languages for analysis.
  • Know how pull request alerts differ from existing default-branch alerts.
  • Know how to upload SARIF from a third-party tool.
  • Know how to filter alerts by severity, tool, rule, branch, state, and other useful dimensions.
  • Know how to assign responsibility for remediation.

Recognize a Typical CodeQL Workflow

You do not need to memorize every workflow line, but you should recognize the purpose of the main stages.

name: "CodeQL"

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

permissions:
  security-events: write
  contents: read

jobs:
  analyze:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Initialize CodeQL
        uses: github/codeql-action/init@v3
        with:
          languages: javascript-typescript

      - name: Autobuild
        uses: github/codeql-action/autobuild@v3

      - name: Perform CodeQL Analysis
        uses: github/codeql-action/analyze@v3

Be ready to identify:

  • What triggers the workflow.
  • Why repository contents must be checked out.
  • Why permissions matter.
  • What the initialization step does.
  • Why some languages may need a build.
  • What the analysis step uploads.
  • When you would customize languages, queries, build steps, or paths.

Code Scanning Alert Triage

Alert detailWhat it helps determineCandidate should be able to decide
SeverityPotential impactIs this urgent compared with other findings?
Rule descriptionWeakness patternWhat kind of vulnerability is being reported?
File and lineLocationWho owns the code and where should the fix happen?
Data flow pathSource-to-sink reasoningCan attacker-controlled data reach a dangerous operation?
BranchAffected code lineIs the issue in active production-bound code?
ToolOrigin of resultWas this found by CodeQL or an imported scanner?
Alert stateOpen, fixed, dismissedIs action still needed?
Dismissal reasonWhy no fix was appliedIs the dismissal justified and auditable?

Code Scanning “Can You Do This?” Prompts

  • Given a repository with no custom build needs, choose a simple code scanning setup.
  • Given a compiled project that fails autobuild, identify the need for explicit build steps.
  • Given a third-party SAST tool, explain how SARIF upload fits into code scanning.
  • Given noisy alerts, recommend query tuning or alert triage instead of disabling scanning entirely.
  • Given a pull request introducing a vulnerability, explain how code scanning can surface it before merge.
  • Given an alert marked as a false positive, explain what information should support dismissal.
  • Given an organization with many repositories, explain how security overview helps find unscanned repositories.

CodeQL Readiness

CodeQL Concepts to Review

ConceptWhat it meansReady check
CodeQL databaseExtracted representation of code for analysisCan explain why analysis needs a database
QueryLogic that finds code patternsCan explain that queries detect vulnerability classes
Query suiteGroup of queries selected for analysisCan choose broader or narrower query coverage conceptually
Query packPackaged set of CodeQL queriesCan explain reuse and distribution of queries
Custom queryOrganization-specific or specialized detection logicCan identify when built-in queries may not be enough
Data flowTracking values through codeCan reason about source, sink, and sanitizer concepts
Taint trackingTracking untrusted input through program pathsCan interpret why a reported path matters
SARIF resultStandardized static-analysis finding formatCan explain how results appear in GitHub

CodeQL Reasoning Checklist

  • Understand that CodeQL treats code as data that can be queried.
  • Know why different languages may require different setup behavior.
  • Understand the idea of a vulnerable flow from source to sink.
  • Know the difference between a real false positive and an alert that is merely inconvenient.
  • Know when custom queries help enforce organization-specific security expectations.
  • Know why query expansion can increase useful coverage and also increase triage volume.
  • Know why a failed build or incomplete extraction can reduce analysis quality.
  • Know how CodeQL results are surfaced as code scanning alerts.

Scenario Cues for CodeQL

ScenarioLikely decision
“The project uses a standard interpreted language and needs quick enablement.”Consider default setup if supported and sufficient
“The project requires generated code or special build commands.”Use advanced setup with explicit build steps
“The organization has a recurring internal insecure API usage pattern.”Consider custom CodeQL queries
“A third-party scanner already produces SARIF.”Upload SARIF to code scanning for centralized alert handling
“A team complains about too many low-value findings.”Review query selection, severity filters, and triage process
“Analysis succeeds but expected files are not covered.”Review language detection, paths, build, and workflow configuration

Secret Scanning Readiness

What to Know

Secret scanning is about detecting and preventing exposed credentials. For GH-500, be ready to handle both default provider patterns and organization-specific secret formats.

TopicReview focusReady check
Secret scanning alertsDetection of committed secretsCan triage an exposed credential
Push protectionBlocking or warning before secrets are pushedCan explain prevention versus detection
Secret validity checksWhether a detected token appears active where supportedCan use validity context without relying on it blindly
Custom patternsDetect internal secret formatsCan identify when and why to create custom patterns
Alert recipientsWho is notified and who can actCan route alerts to the right owner
Bypass reviewDeveloper bypass of push protection where allowedCan evaluate whether bypasses are justified
RemediationRotate, revoke, remove, and investigateCan choose the right response sequence

Secret Remediation Checklist

When a secret is found, you should know that deleting it from the latest file version is usually not enough.

  • Confirm what secret type was exposed.
  • Determine whether the secret is active.
  • Revoke or rotate the credential.
  • Identify affected systems, repositories, branches, forks, logs, or artifacts where applicable.
  • Remove the secret from code and configuration.
  • Avoid committing replacement secrets.
  • Use a secure secret store or GitHub Actions secrets where appropriate.
  • Investigate potential misuse when the exposure risk is meaningful.
  • Close or resolve the alert with an accurate reason.
  • Educate the contributor on prevention.

Secret Scanning Decision Points

If the scenario says…Think about…
“A cloud provider key was committed.”Rotate/revoke immediately, then remove and investigate
“A developer says the token is only for testing.”Validate scope, exposure, and whether it can access real systems
“The secret is in Git history.”Rotation is still required; history cleanup alone is not enough
“The pattern is internal and not detected by default.”Create a custom secret scanning pattern
“Push protection blocked a commit.”Remove the secret and recommit safely
“The developer bypassed push protection.”Review bypass reason, risk, and follow-up controls
“A token appears inactive.”Do not assume zero risk without understanding the system and token lifecycle

Custom Pattern Readiness

Be able to explain the purpose of custom patterns without overfitting to a regex syntax question.

  • Identify examples of organization-specific secrets.
  • Know why overly broad patterns create alert noise.
  • Know why overly narrow patterns miss real secrets.
  • Understand testing a pattern before broad rollout.
  • Understand the need for ownership of alert response.
  • Know that custom patterns should be reviewed as systems and token formats change.

Dependency Security Readiness

Dependency Security Feature Map

FeatureWhat it doesCandidate readiness
Dependency graphDetects project dependenciesCan explain why dependency visibility is the foundation
Dependabot alertsWarns about vulnerable dependenciesCan interpret advisory-based risk
Dependabot security updatesOpens PRs to fix vulnerable dependenciesCan explain automated remediation workflow
Dependabot version updatesKeeps dependencies currentCan distinguish proactive currency from vulnerability response
Dependency reviewReviews dependency changes in pull requestsCan identify risky new or changed dependencies before merge
Advisory contextProvides vulnerability detailsCan use severity, affected version, and patched version context
Manifest and lockfilesDescribe direct and resolved dependenciesCan explain why dependency files matter

Dependency Triage Checklist

For a dependency alert, can you determine:

  • Which package is affected?
  • Which manifest or lockfile introduced it?
  • Whether it is a direct or transitive dependency?
  • Which version is currently used?
  • Which versions are affected?
  • Whether a patched version is available?
  • Whether an automated pull request exists?
  • Whether the dependency is used in production, development, tests, or build tooling?
  • Whether upgrading could introduce breaking changes?
  • Who owns the affected application or package?
  • Whether compensating controls are temporary or acceptable?

Dependabot Configuration Recognition

You should recognize the shape and purpose of a Dependabot configuration file.

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 5

Be ready to explain:

  • package-ecosystem identifies the package manager or ecosystem.
  • directory points to where manifest files are located.
  • schedule controls update cadence.
  • Version updates and security updates serve different goals.
  • Excessive update noise can reduce developer responsiveness.
  • Grouping, scheduling, or ownership strategies may improve adoption where supported.

Dependency Review Scenario Cues

ScenarioLikely GHAS-related response
“A pull request adds a new package with a known vulnerability.”Dependency review should flag the change before merge
“A vulnerable transitive dependency appears.”Review dependency path and update the parent or resolved package where possible
“Dependabot opened a PR but tests fail.”Investigate compatibility, update strategy, or required code changes
“No dependency alerts appear for a repository.”Verify dependency graph support and manifest visibility
“Teams ignore frequent update PRs.”Tune schedule, grouping, ownership, and prioritization
“A dependency is used only in development tooling.”Still assess risk, but prioritize based on exposure and impact

GitHub Actions Security Readiness

Why Actions Security Matters for GH-500

GitHub Advanced Security is closely tied to secure development workflows. Be prepared to reason about how CI/CD workflows can expose secrets, run untrusted code, or grant excessive permissions.

AreaReview focusReady check
Workflow permissionsPrinciple of least privilege for tokensCan reduce default token access where possible
GITHUB_TOKENBuilt-in token for workflow automationCan explain why its permissions matter
Secrets in workflowsSecure handling of sensitive valuesCan avoid exposing secrets in logs or untrusted contexts
Pull request workflowsRisk from forked or untrusted contributionsCan identify dangerous trigger patterns
Third-party actionsSupply-chain riskCan recommend pinning and trusted sources
Reusable workflowsCentralized workflow logicCan explain benefits and governance concerns
Artifacts and logsData exposure riskCan avoid leaking secrets through outputs
OIDCFederated identity for cloud accessCan explain why short-lived credentials are preferred to long-lived secrets
Code scanning workflowsSecurity-events permission and analysis stepsCan troubleshoot why alerts are not uploaded

Workflow Hardening Checklist

  • Set minimal required permissions for workflows and jobs.
  • Avoid granting broad write permissions by default.
  • Treat pull requests from forks or unknown contributors as untrusted.
  • Avoid running untrusted code with access to sensitive secrets.
  • Pin third-party actions according to organizational policy.
  • Prefer trusted and maintained actions.
  • Review action source and permissions before adoption.
  • Avoid printing secrets, tokens, or sensitive environment variables.
  • Use environments and required reviewers where appropriate.
  • Use OIDC-based federation where suitable instead of long-lived cloud credentials.
  • Separate build, test, release, and deployment responsibilities.
  • Monitor workflow changes in sensitive repositories.

Risky Workflow Pattern Recognition

PatternWhy it mattersSafer thinking
Broad token permissionsIncreases blast radius if workflow is compromisedGrant only needed permissions
Unpinned third-party actionAction behavior may change unexpectedlyPin according to policy and review source
Secrets available to untrusted PR codeContributor could exfiltrate secretsRestrict secret access and trigger choice
Deployment from ordinary PR workflowBlurs review and release boundariesRequire approvals and protected environments
Logging environment variablesMay expose credentials or sensitive dataMask and avoid printing secrets
Automatically running privileged scripts from dependenciesSupply-chain attack pathReview install scripts and lock dependencies

Governance, Settings, and Security Posture

Repository, Organization, and Enterprise Thinking

The exam may test whether you can choose the right level for a setting or control.

Control levelTypical useReadiness prompt
RepositoryTeam-specific configurationCan configure scanning and alerts for one project
OrganizationConsistent policy across many repositoriesCan identify rollout and visibility controls
EnterpriseBroad governance across organizationsCan reason about central standards and reporting
Branch or ruleset controlsProtect important branches and workflowsCan connect code security to merge controls
Security rolesDelegate security managementCan route responsibility without granting unnecessary admin access

Governance Checklist

  • Know how to identify repositories without required security features enabled.
  • Know how to use security overview to find risk across repositories.
  • Know how security managers or equivalent delegated roles help scale remediation.
  • Know why repository ownership metadata matters for alert routing.
  • Know how security policies communicate vulnerability reporting expectations.
  • Know how branch protection or repository rules can support secure merge behavior.
  • Know why exceptions should be documented and reviewed.
  • Know how audit logs or activity records can support investigation and accountability.
  • Know how to phase GHAS rollout across critical repositories first.
  • Know how to measure whether teams are fixing alerts, not just enabling tools.

Security Overview Readiness

Be able to use security overview conceptually to answer questions such as:

  • Which repositories have code scanning disabled?
  • Which repositories have the most critical open alerts?
  • Which alerts are stale or unassigned?
  • Which teams are missing dependency security coverage?
  • Which repositories have unresolved secret scanning alerts?
  • Which repositories require onboarding, ownership, or policy cleanup?
  • Which trends indicate improving or worsening security posture?

Alert Triage and Remediation Workflow

Practical Triage Flow

    flowchart TD
	    A[New security alert] --> B{Is it a real exposure or weakness?}
	    B -->|Clearly false positive| C[Dismiss with accurate reason]
	    B -->|Needs investigation| D[Identify owner and affected code]
	    D --> E{Is there active secret or exploitable vulnerability?}
	    E -->|Yes| F[Prioritize urgent remediation]
	    E -->|No or lower risk| G[Prioritize by severity and context]
	    F --> H[Fix, rotate, update, or remove]
	    G --> H
	    H --> I[Validate with tests and scanning]
	    I --> J[Close alert or confirm auto-closure]
	    J --> K[Document lessons and prevent recurrence]

Alert Handling Checklist

  • Confirm the alert type: code, secret, dependency, or workflow-related.
  • Identify severity and potential impact.
  • Identify affected branch, repository, package, file, or workflow.
  • Identify code owner or service owner.
  • Determine whether the issue is exploitable or exposed.
  • Prioritize based on severity, exposure, asset criticality, and fix availability.
  • Choose the right remediation action.
  • Validate the fix with tests and rescanning.
  • Avoid dismissing alerts only because they are hard to fix.
  • Record accurate dismissal reasons when dismissal is appropriate.
  • Look for repeated patterns that require training, policy, or automation changes.

Remediation Action Map

Alert typeCommon remediationCommon mistake
Hardcoded secretRevoke or rotate, remove from code, investigate misuseOnly deleting the file or commit
Vulnerable dependencyUpgrade, patch, replace, or mitigateIgnoring transitive dependencies
CodeQL vulnerabilityFix source, sink, validation, sanitization, or unsafe API usageDismissing without understanding data flow
Insecure workflowReduce permissions, restrict triggers, protect secretsAssuming CI/CD is trusted by default
Risky new dependencyReview license, maintenance, vulnerability, and necessityApproving because tests pass
Scanner noiseTune rules or queries and improve triageDisabling security tooling broadly

Scenario and Decision-Point Practice

Code Scanning Scenarios

ScenarioWhat the exam may be testingStrong answer direction
A repository has no code scanning alerts, but code scanning is not enabledFeature coverage awarenessEnable code scanning before assuming no findings
CodeQL workflow fails during buildAdvanced setup troubleshootingAdd or correct build commands and dependencies
A compiled language project uses generated sourceAnalysis completenessEnsure generation/build steps run before analysis
A team wants one dashboard for CodeQL and another SAST toolSARIF integrationUpload third-party SARIF into code scanning
A PR introduces an alert not present on the base branchShift-left remediationFix before merge when possible
A developer wants to dismiss all low-severity alertsRisk-based triageReview context; do not bulk-dismiss without policy

Secret Scanning Scenarios

ScenarioWhat the exam may be testingStrong answer direction
A secret was committed and then deleted in a later commitSecret persistenceRotate or revoke; deletion is insufficient
Push protection blocks a tokenPreventive control behaviorRemove the secret and use secure storage
A proprietary token format is not detectedCustom pattern needCreate and test a custom pattern
A developer bypasses a blocked pushException governanceReview bypass reason and remediate if needed
A detected token is read-onlyImpact analysisStill assess exposure and rotate if appropriate
Alerts are going to the wrong peopleOwnership and routingImprove repository ownership and notification process

Dependency Scenarios

ScenarioWhat the exam may be testingStrong answer direction
Dependabot opens a PR for a vulnerable packageAutomated remediationReview, test, and merge if safe
A direct dependency update causes breaking changesRemediation tradeoffPlan code changes or alternative mitigation
A transitive dependency is vulnerableDependency path reasoningUpdate parent or lockfile where applicable
Dependency review flags a new vulnerable packagePre-merge controlReject, replace, or update before merge
Teams are overwhelmed by update PRsOperational tuningAdjust cadence, grouping, ownership, and priorities
A repository lacks a manifest fileDependency visibilityDependency graph may not identify expected packages

Governance Scenarios

ScenarioWhat the exam may be testingStrong answer direction
Security team cannot manage every repository manuallyScale and delegationUse organization-level visibility and delegated security roles
Critical repositories have inconsistent settingsPolicy enforcementStandardize settings and monitor exceptions
Alerts remain open for monthsOperational processAssign owners, prioritize, and track remediation
A team disables scanning because builds are slowTradeoff handlingOptimize workflow rather than abandoning coverage
Leadership asks for risk posture across many repositoriesReportingUse security overview and alert trends
Teams need guidance on reporting vulnerabilitiesSecurity policyAdd or update repository security policy documentation

Common Weak Areas and Traps

Feature Confusion

TrapBetter understanding
Confusing code scanning with dependency scanningCode scanning analyzes source code; dependency security tracks vulnerable packages
Confusing Dependabot security updates with version updatesSecurity updates address known vulnerabilities; version updates keep packages current
Assuming secret deletion fixes exposureSecrets must be revoked or rotated
Assuming no alerts means no riskFeature may be disabled, misconfigured, or unable to analyze all code
Treating all alerts equallyPrioritize by severity, exploitability, asset criticality, and exposure
Treating all dismissals as harmlessDismissals should be justified and reviewable

Configuration Traps

  • CodeQL workflow lacks required permissions to upload security results.
  • Workflow runs but does not include the language or path expected.
  • Compiled project analysis misses code because the build step is incomplete.
  • Third-party scanner creates results but does not upload valid SARIF.
  • Dependabot configuration points to the wrong directory.
  • Dependency graph lacks required manifest or lockfile visibility.
  • Custom secret pattern is too broad and creates excessive false positives.
  • Push protection bypasses are allowed but not reviewed.
  • Workflow exposes secrets to untrusted pull request code.
  • Organization-level policy exists but repository exceptions are unmanaged.

Triage Traps

TrapWhy it hurts readiness
Closing alerts without fixing root causeSame vulnerability pattern returns
Fixing code but not adding testsRegression risk remains
Upgrading dependencies without reviewing breaking changesSecurity fix may break production behavior
Ignoring development dependencies automaticallyBuild and test tooling can still create risk
Prioritizing only by severityExposure and asset importance also matter
Waiting for perfect data before rotating a secretActive credentials require fast containment

Artifact and Configuration Review Checklist

Files and Artifacts You Should Recognize

ArtifactWhy it matters
.github/workflows/*.ymlGitHub Actions workflow configuration
CodeQL workflow fileDefines CodeQL analysis behavior
dependabot.ymlConfigures Dependabot version update behavior
Package manifestsDefine direct dependencies
LockfilesCapture resolved dependency versions
SARIF fileCarries static-analysis results
SECURITY.mdCommunicates vulnerability reporting process
CODEOWNERS fileHelps route review and ownership
Repository rules or branch protection settingsSupport secure merge and change control

Configuration Questions to Practice

  • Where is this feature enabled?
  • Is the setting repository-specific, organization-wide, or enterprise-wide?
  • Who can change it?
  • Who receives alerts?
  • What branch or workflow does it affect?
  • Does it block, warn, comment, alert, or open a pull request?
  • Does it require GitHub Actions?
  • Does it depend on manifests, lockfiles, build steps, or language support?
  • What happens when the configuration is missing or incorrect?
  • How would you validate that it is working?

High-Value “Can You Do This?” Checklist

Use this section as a final readiness gate.

Code Scanning and CodeQL

  • Explain the purpose of code scanning in GitHub.
  • Compare default setup and advanced setup.
  • Identify when a CodeQL workflow needs custom build commands.
  • Explain what CodeQL queries do.
  • Explain what a CodeQL database represents.
  • Interpret a data-flow-based alert at a high level.
  • Identify when custom CodeQL queries are useful.
  • Explain SARIF upload for third-party tools.
  • Troubleshoot missing or failed code scanning results conceptually.
  • Recommend an alert triage approach for noisy findings.

Secret Scanning

  • Explain secret scanning versus push protection.
  • Respond correctly to a committed secret.
  • Explain why rotation or revocation is required.
  • Identify when a custom secret pattern is needed.
  • Explain the risk of bypassing push protection.
  • Recommend secure handling of secrets in GitHub Actions.
  • Distinguish alert closure from actual credential remediation.
  • Prioritize active, privileged, or externally exposed secrets.

Dependency Security

  • Explain the dependency graph.
  • Interpret a Dependabot alert.
  • Explain Dependabot security updates.
  • Explain Dependabot version updates.
  • Use dependency review to assess pull request risk.
  • Distinguish direct and transitive dependencies.
  • Identify manifests and lockfiles.
  • Recommend remediation when an automated update fails.
  • Prioritize dependency alerts based on context.

GitHub Actions and Supply Chain

  • Explain why workflow permissions matter.
  • Reduce token permissions using least privilege.
  • Identify risky use of secrets in workflows.
  • Recognize risks from untrusted pull request code.
  • Explain why third-party actions require review.
  • Explain the value of reusable workflows for governance.
  • Explain OIDC at a conceptual level.
  • Identify artifact, log, and environment variable exposure risks.

Governance and Operations

  • Use security overview conceptually to find gaps.
  • Explain repository versus organization-level controls.
  • Describe how delegated security responsibility can scale.
  • Recommend rollout sequencing for many repositories.
  • Explain why alert ownership is essential.
  • Connect branch protection or rules to secure development.
  • Define a practical exception process.
  • Explain how to measure remediation progress.

Final-Week Review Checklist

7 to 5 Days Before

  • Revisit each GHAS feature and write one sentence explaining its purpose.
  • Review code scanning setup paths: default setup, advanced setup, SARIF upload.
  • Review CodeQL concepts: database, query, query suite, query pack, custom query, data flow.
  • Review secret scanning response steps, especially rotation and revocation.
  • Review Dependabot alerts, security updates, version updates, and dependency review.
  • Review workflow security basics: permissions, secrets, triggers, third-party actions.
  • Make a short list of features you confuse and drill the differences.

4 to 2 Days Before

  • Practice scenario questions that ask “what should you do next?”
  • Practice identifying the right feature from a short problem statement.
  • Review common misconfigurations in workflows and scanning setup.
  • Review how alerts are triaged, assigned, fixed, dismissed, and validated.
  • Practice explaining tradeoffs: coverage versus noise, automation versus review, prevention versus detection.
  • Review repository, organization, and enterprise-level governance concepts.
  • Avoid memorizing unsupported exact limits or dates; focus on decisions and workflows.

Final 24 Hours

  • Review the feature map table.
  • Review the remediation action map.
  • Review secret exposure response steps.
  • Review dependency alert triage steps.
  • Review CodeQL workflow stages.
  • Review Actions security traps.
  • Sleep and avoid last-minute deep dives into unrelated tooling.

Practical Next Step

Turn this checklist into practice tasks: for each unchecked item, create one scenario question and answer it in your own words. Prioritize areas where you cannot explain the decision path, not just areas where you forgot a term. For GH-500 readiness, the goal is to choose and justify the right GitHub Advanced Security action in realistic repository, organization, and workflow situations.

Browse Certification Practice Tests by Exam Family