Introduction
This guide shows you how to configure security features for a repository. You must be a repository administrator or organization owner to configure security settings for a repository.
Your security needs are unique to your repository, so you may not need to enable every feature for your repository. For more information, see "GitHub security features."
Some features are available for repositories on all plans. Additional features are available to enterprises that use GitHub Advanced Security. GitHub Advanced Security features are also enabled for all public repositories on GitHub.com. For more information, see "About GitHub Advanced Security."
Managing access to your repository
The first step to securing a repository is to set up who can see and modify your code. For more information, see "Managing repository settings."
From the main page of your repository, click Settings, then scroll down to the "Danger Zone."
- To change who can view your repository, click Change visibility. For more information, see "Setting repository visibility."
- To change who can access your repository and adjust permissions, click Manage access. For more information, see"Managing teams and people with access to your repository."
Setting a security policy
- From the main page of your repository, click Security.
- Click Security policy.
- Click Start setup.
- Add information about supported versions of your project and how to report vulnerabilities.
For more information, see "Adding a security policy to your repository."
Managing the dependency graph
The dependency graph is automatically generated for all public repositories, and you can choose to enable it for private repositories. It interprets manifest and lock files in a repository to identify dependencies.
- From the main page of your repository, click Settings.
- Click Security & analysis.
- Next to Dependency graph, click Enable or Disable.
For more information, see "Exploring the dependencies of a repository."
Managing Dependabot alerts
Dependabot alerts are generated when GitHub identifies a dependency in the dependency graph with a vulnerability. You can enable Dependabot alerts for any repository.
- Click your profile photo, then click Settings.
- Click Security & analysis.
- Click Enable all next to Dependabot alerts.
For more information, see "About Dependabot alerts" and "Managing security and analysis settings for your personal account."
Managing dependency review
Dependency review lets you visualize dependency changes in pull requests before they are merged into your repositories. For more information, see "About dependency review."
Dependency review is a GitHub Advanced Security feature. Dependency review is already enabled for all public repositories. Organizations that use GitHub Enterprise Cloud with Advanced Security can additionally enable dependency review for private and internal repositories. For more information, see the GitHub Enterprise Cloud documentation.
Managing Dependabot security updates
For any repository that uses Dependabot alerts, you can enable Dependabot security updates to raise pull requests with security updates when vulnerabilities are detected.
- From the main page of your repository, click Settings.
- Click Security & analysis.
- Next to Dependabot security updates, click Enable.
For more information, see "About Dependabot security updates" and "Configuring Dependabot security updates."
Managing Dependabot version updates
You can enable Dependabot to automatically raise pull requests to keep your dependencies up-to-date. For more information, see "About Dependabot version updates."
To enable Dependabot version updates, you must create a dependabot.yml configuration file. For more information, see "Configuring Dependabot version updates."
Configuring code scanning
You can set up code scanning to automatically identify vulnerabilities and errors in the code stored in your repository by using a CodeQL analysis workflow or third-party tool. For more information, see "Setting up code scanning for a repository."
Code scanning is available for all public repositories, and for private repositories owned by organizations that are part of an enterprise with a license for GitHub Advanced Security.
Configuring secret scanning
Secret scanning is enabled for all public repositories and is available for private repositories owned by organizations that are part of an enterprise with a license for GitHub Advanced Security. For more information, see the GitHub Enterprise Cloud documentation.
Next steps
You can view and manage alerts from security features to address dependencies and vulnerabilities in your code. For more information, see "Viewing Dependabot alerts for vulnerable dependencies," "Managing pull requests for dependency updates," "Managing code scanning for your repository," and "Managing alerts from secret scanning."
If you have a security vulnerability, you can create a security advisory to privately discuss and fix the vulnerability. For more information, see "About GitHub Security Advisories" and "Creating a security advisory."