Skip to content

Domain 5: Describe GHAS Best Practices, Results, and Corrective Measures (10%) โ€‹

โ† Domain 4 ยท Cheatsheet โ†’

Exam Tip

This is the smallest domain (10%) and focuses on organizational strategy, metrics, and big-picture GHAS adoption. Expect questions on how to roll out GHAS at scale, how to measure its effectiveness, and how Security Overview works.


GHAS Rollout Strategy โ€‹

Enabling GHAS across an organization should be done incrementally to avoid overwhelming teams with alerts and disruption.

PhaseActionGoal
1. PilotEnable GHAS on 2โ€“5 critical repositoriesLearn the alert volume and team response
2. BaselineDocument current vulnerability countEstablish metrics before organization-wide rollout
3. ExpandEnable GHAS on all new repositories firstPrevent new debt from accumulating
4. RemediateAddress existing alerts by severity (Critical โ†’ High โ†’ Medium โ†’ Low)Reduce existing vulnerability debt
5. EnforceEnable branch protection + required code scanning checksMake GHAS part of the development workflow
6. MonitorUse Security Overview for ongoing trackingMaintain visibility and accountability

TIP

Start with secret scanning first โ€” it produces the most immediately actionable alerts (exposed credentials) and has the clearest remediation path (revoke and rotate). Then layer in Dependabot and code scanning.


Security Overview โ€‹

The Security Overview dashboard provides a consolidated view of all GHAS feature status and alerts across an organization or enterprise.

What Security Overview Shows โ€‹

  • Which repositories have each GHAS feature enabled (secret scanning, code scanning, Dependabot)
  • Alert counts by severity across all repositories
  • Open vs. closed/fixed alert trends over time
  • Repositories with the most open critical alerts (risk exposure ranking)

Who Can Access Security Overview โ€‹

RoleLevel
Security managersOrganization-level overview
Organization ownersOrganization-level overview
Enterprise ownersEnterprise-wide overview across all organizations

Navigate to: Organization โ†’ Security tab โ†’ Overview

Using Security Overview for Prioritization โ€‹

  1. Filter by severity: Focus on Critical and High alerts first
  2. Filter by feature: Identify repositories with code scanning disabled
  3. Sort by alert count: Find the repositories with the highest vulnerability debt
  4. Track trends: Confirm that alert counts are decreasing over time (remediation is working)

Metrics and Reporting โ€‹

Key GHAS Metrics to Track โ€‹

MetricWhat it measures
Mean Time to Remediate (MTTR)Average time from alert creation to resolution
Alert volume by severityTotal open alerts per severity level
Fix rate% of alerts resolved vs. dismissed vs. open
Feature coverage% of repositories with each GHAS feature enabled
New alerts per weekRate of new vulnerabilities being introduced

GitHub Advisory Database โ€‹

  • GitHub's vulnerability database powers Dependabot alerts
  • Contains: CVEs from NVD + GitHub-curated advisories (GitHub Security Advisories)
  • Organization security teams can also submit private security advisories for their own repositories

Corrective Measures โ€‹

For Secret Scanning Alerts โ€‹

  1. Revoke the secret at the service provider immediately
  2. Audit the provider's access logs for unauthorized use
  3. Remove the secret from history using git filter-repo
  4. Resolve the alert with the appropriate reason
  5. Introduce a process change: push protection, pre-commit hooks, or secrets manager (e.g., HashiCorp Vault, GitHub Actions encrypted secrets)

For Dependabot Alerts โ€‹

  1. Assess CVSS severity โ€” prioritize Critical and High
  2. Check reachability โ€” is the vulnerable function actually called in your code?
  3. Apply the fix: Update the dependency (accept the Dependabot PR or update manually)
  4. Dismiss as tolerable if the vulnerable code path is unreachable in your context
  5. Long-term: Enable Dependabot security updates (auto-PR) to prevent accumulation

For Code Scanning Alerts โ€‹

  1. Read the full alert: Understand the data flow from source to sink
  2. Verify it's a true positive โ€” not all alerts are exploitable in context
  3. Fix the code: Apply the recommended remediation (parameterized query, input sanitization, etc.)
  4. Dismiss false positives with a note explaining why it's not an issue
  5. Re-scan to confirm the alert is resolved

GHAS Best Practices Summary โ€‹

Enable Features in the Right Order โ€‹

1. Secret scanning + push protection     (highest ROI, fastest results)
2. Dependabot alerts + security updates  (continuous dependency protection)
3. Dependency review action              (block new vulnerable deps in PRs)
4. Code scanning (default setup)         (SAST for code vulnerabilities)
5. Code scanning (advanced setup)        (customize when needed)

Reduce Alert Fatigue โ€‹

  • Use push protection to prevent secrets from being committed in the first place (fewer alerts to manage)
  • Enable Dependabot security updates to auto-fix before alerts accumulate
  • Tune CodeQL to security-extended (not security-and-quality) to reduce noise
  • Triage and dismiss false positives promptly to keep alert queues clean

Enforce Standards โ€‹

  • Require code scanning checks in branch protection rules
  • Use the dependency review action in CI for all PRs
  • Set an org-wide GHAS enablement policy so new repositories automatically get GHAS

Domain 5 Quick Quiz

1 / 5
โ“

What is the recommended first GHAS feature to enable when rolling out to an organization?

(Click to reveal)
๐Ÿ’ก
Secret scanning with push protection โ€” it delivers the highest immediate ROI (prevents credential exposure), has the clearest remediation path (revoke and rotate), and produces actionable alerts fastest.

โ† Domain 4 ยท Cheatsheet โ†’

Happy Studying! ๐Ÿš€ โ€ข Privacy-friendly analytics โ€” no cookies, no personal data
Privacy Policy โ€ข AI Disclaimer โ€ข Report an issue