← Back to all briefings

Developer · Credibility 88/100 · · 1 min read

GitHub Advanced Security Reaches General Availability

GitHub announced the general availability of GitHub Advanced Security on September 30, 2020, making code scanning, secret scanning, and dependency review controls broadly accessible to GitHub Enterprise customers with new policy management and audit coverage.

Executive briefing: GitHub Advanced Security (GHAS) became generally available on 30 September 2020 for GitHub Enterprise Cloud, bundling native code scanning (CodeQL), secret scanning, and dependency review to help organisations secure software supply chains. Security, DevSecOps, and engineering leaders should formalise onboarding plans, governance, and remediation workflows to maximise GHAS value.

Execution priorities for software security leads

Compliance checkpoints for GitHub Advanced Security

Feature summary and prerequisites

GHAS includes:

  • Code scanning: CodeQL-powered static analysis integrated into GitHub Actions and third-party CI systems, detecting vulnerabilities across languages (C/C++, C#, Go, Java, JavaScript/TypeScript, Python, Ruby, Swift).
  • Secret scanning: Real-time detection of credentials, tokens, and keys pushed to repositories with partner coverage (AWS, Azure, Slack, Twilio, Stripe) and custom patterns.
  • Dependency review: Insights into manifest changes and CVE exposure during pull requests, leveraging the GitHub Advisory Database.

GHAS requires GitHub Enterprise Cloud with a GHAS licence. Repositories must be private or public owned by an enterprise account; features like secret scanning for private repos and dependency review require activation per repo or organisation. Integration with GitHub Actions or external CI (e.g., Jenkins, CircleCI) is necessary to trigger code scanning workflows.

Policy and governance

Update secure development lifecycle (SDL) policies to mandate GHAS usage for critical repositories. Define minimum scanning frequencies, alert response times, and reporting requirements. Document GHAS configuration in security standards, including approval processes for disabling checks or suppressing alerts.

Create escalation matrices linking GHAS findings to risk owners (application teams, security champions). Incorporate GHAS metrics into quarterly business reviews and board-level cybersecurity updates.

Leadership actions

Executives should sponsor GHAS adoption, allocate budget for licences and training, and integrate GHAS metrics into cybersecurity KPIs. Encourage collaboration between security and engineering to embed GHAS into daily workflows. By operationalising GHAS, organisations can detect vulnerabilities earlier, prevent credential leaks, and strengthen software supply chain resilience.

Operational rollout for secure SDLC pipelines

Implementation roadmap

Establish a cross-functional GHAS programme comprising security architects, DevOps engineers, and product teams. Define objectives—reduce mean time to remediate vulnerabilities, prevent secret leakage, enforce secure dependencies. Inventory repositories by language, criticality, and compliance requirements to prioritise rollout.

Phase onboarding:

  • Pilot: Select representative repositories, configure code scanning workflows, secret scanning alerts, and dependency review. Gather feedback on false positives, developer experience, and workflow integration.
  • Scale: Automate workflow creation via GitHub APIs or repository templates. Apply organisation-wide policies using GitHub Enterprise’s security centre.
  • Optimise: Refine queries, integrate with issue tracking, and monitor metrics.

Code scanning configuration

Use the GitHub-provided CodeQL workflow starter templates (codeql-analysis.yml) or customise pipelines. For mono-repos or multi-language projects, configure matrix builds and language-specific build steps. Ensure builds include dependency installation and compilation (for compiled languages) to maximise query coverage.

Schedule code scanning to run on pull requests, pushes to default branches, and at least weekly on default branches to catch latent issues. For external CI, integrate via the SARIF upload API (github/codeql-action/upload-sarif). Maintain CodeQL database caches to optimise build times.

Extend analysis with custom CodeQL queries tailored to organisation-specific patterns (e.g., security frameworks, proprietary APIs). Host custom query packs in private repositories and reference them in workflows. Establish review processes for query changes to avoid false positives.

Alert triage and remediation workflow

Define severity triage guidelines mapping code scanning alerts to risk categories. Configure GitHub security centre to send notifications to security teams and repository maintainers. Integrate alerts with issue trackers (Jira, Azure Boards) via webhooks or GitHub Apps, automating ticket creation with metadata (file path, severity, commit).

Establish service-level objectives (SLOs) for remediation (e.g., critical issues addressed within 7 days). Track progress using GitHub’s security overview dashboards and custom analytics (via the GraphQL API). Provide guidance on false positive suppression using @codeql-suppress comments or query updates, ensuring suppression is documented and reviewed.

Secret scanning operations

Enable secret scanning at the organisation level and configure alert recipients. Review default patterns and add custom patterns for proprietary tokens using the npm-style format. Establish incident response procedures for secret alerts: rotate credentials, invalidate tokens, and document remediation.

Integrate secret scanning with security information and event management (SIEM) systems via GitHub’s secret scanning alerts API. Automate credential revocation by connecting alerts to runbooks or serverless functions (AWS Lambda, Azure Functions). For partner-supported tokens, ensure integration with provider alerting pipelines to receive automatic revocation notices.

Dependency review and supply chain controls

Enforce dependency review checks on pull requests by requiring the “Dependency review” status to pass before merging. Educate developers on interpreting diffs showing added/removed dependencies, version changes, and known vulnerabilities. Combine dependency review with Dependabot alerts and updates to maintain patched libraries.

Align dependency governance with policies restricting unapproved packages. Use GitHub’s organisation-level security policies to block vulnerable dependencies or require security team approval. Integrate with Software Bill of Materials (SBOM) efforts by exporting dependency data via the Dependency Graph API.

Integration with broader security ecosystem

Connect GHAS outputs to existing vulnerability management platforms (Kenna, Tenable.io, Qualys) via APIs to centralise risk reporting. Align GHAS findings with threat modelling and pen test results to prioritise remediation. Leverage GitHub Actions to trigger automated security workflows—e.g., notifying Slack channels, creating Jira tickets, or launching AWS Step Functions.

Coordinate with compliance teams to use GHAS evidence for regulatory requirements (SOC 2, ISO 27001). Document scanning coverage, remediation timelines, and policy adherence for audits.

Enablement and metrics for engineering teams

Training and enablement

Deliver training covering CodeQL basics, interpreting alerts, and remediation best practices. Provide hands-on labs where developers fix vulnerabilities flagged by GHAS. Offer advanced sessions for security engineers on writing custom CodeQL queries and managing secret scanning patterns.

Establish a security champions network to disseminate GHAS best practices, collect feedback, and advocate for secure coding. Develop documentation on GitHub Enterprise wiki or internal portals summarising GHAS workflows, troubleshooting, and policy references.

Metrics and continuous improvement

Track key metrics: number of repositories with code scanning enabled, alert volumes by severity, mean time to remediate, secrets detected per month, dependency review adoption, and percentage of pull requests blocked by security checks. Use GitHub’s GraphQL API or the GHAS REST endpoints to feed data into dashboards (Tableau, Power BI, Grafana).

Conduct regular retrospectives to evaluate alert quality, pipeline performance, and developer sentiment. Tune CodeQL queries and secret patterns to balance coverage and noise. Monitor GitHub’s release notes for new languages, query packs, and partner integrations, updating workflows accordingly.

Follow-up: By 2023 GitHub enabled default secret-scanning push protection for public repositories and rolled out AI-guided code scanning autofix previews, broadening GHAS adoption across enterprise accounts.

Sources

  • GitHub Advanced Security
  • Code scanning
  • Secret scanning
  • Dependency review
Back to curated briefings