GitHub
This checklist is a guide for securing authorization on a website. It outlines a series of steps and best practices that should be taken to ensure that only authorized users can access sensitive information and perform certain actions on a website.
🔒 Account Security🔗
| #️⃣ | ✅Items | ⚠️Severity | ☠️Vulnerabilities | 🔗Sources |
|---|---|---|---|---|
| 1 | Verify: Multi-Factor authentication is enabled Reason: Password leak won't have any impact because the second factor is still not compromised | High | Impersonation, Credential Theft |
GHD-UA |
| 2 | Verify: Enable PassKeys for a passwordless authentication experience Reason: Your device acts as an authenticator and will grant you access to your account. No need to remember passwords. Also satisfies MFA requirement | Medium | Credential Theft |
GHD-UA |
| 3 | Verify: Periodically rotate SSH keys and Access Tokens Reason: If they leak, an attacker won't have permanent access to your account | Medium | Credential Theft |
GHD-UA |
| 4 | Verify: Periodically review active sessions of devices logged in to your GitHub account Reason: To ensure that no unwanted device has access to your account | Medium | Impersonation |
GHD-S |
💻 Repository Security🔗
| #️⃣ | ✅Items | ⚠️Severity | ☠️Vulnerabilities | 🔗Sources |
|---|---|---|---|---|
| 1 | Verify: Least privilege is enforced Reason: Minimize attack surface incase someone has unauthorized access to someone's account | High | Information Leakage, Insider Threat, Privilege Escalation |
GHD-UA |
| 2 | Verify: Review privileges of every person who has access to your project. Revoke access if they are no longer a contributor Reason: If they try to do anyone thing suspicious they won't have access to do so | High | Information Leakage, Insider Threat, Privilege Escalation |
GHD-UA |
| 3 | Verify: Enable branch protection rules Reason: Provides an essential layer of security in preventing unauthorized or accidental changes to sensitive parts of your codebase | Medium | Misuse of Privileges |
GHD-BPR |
| 4 | Verify: Disable forking Reason: To prevent duplication of your project | Medium | Intellectual Property Theft |
GHD-FP |
| 5 | Verify: Inspect third party applications connected to your GitHub Reason: Ensure that no malicious application has access to your repository | High | Credential Theft, Data Exfiltration |
GHD-AA |
| 6 | Verify: Periodically review security logs Reason: Detect any malicious activities that might have taken place | High | Unauthorized Access, Brute Force |
GHD-SL |
| 7 | Verify: Don't store hardcoded secrets in your code Reason: Anyone who has access to your repository either authorized or unauthorized, can use these secrets to gain access to other parts of your software supply chain | High | Credential Theft |
GHD-UA |
| 8 | Verify: Enable notifications and alerts for your project Reason: To be alerted if any malicious changes occur to your code | High | Unauthorized Access, Insider Threat |
GHD-N |
| 9 | Verify: Enable GitHub security tools Reason: Scan your code and third party libraries to find security vulnerabilities | High | Vulnerable Dependency, Vulnerable Code, Hardcoded Secret |
GHD-SA |
| 10 | Verify: Require commit signing Reason: To give other people confidence about the origin of a change you have made | Low | Impersonation |
GHD-CS |
| 11 | Verify: Create a Security.md file Reason: Provide guidelines on how security issues are reported and fixed. | High | Zero Day |
GHD-SP |
| 12 | Verify: Review webhooks on your repository Reason: Webhooks could allow an attacker to intercept pushes made to your repository | High | Unauthorized Access, Intellectual Property Theft |
GHD-WS |
🔗 Sources:
GitHub:
- [GHD-UA] GitHub Docs - Unauthorized Access
- [GHD-S] GitHub Docs - Sessions
- [GHD-BPR] GitHub Docs - Branch Protection Rules
- [GHD-FP] GitHub Docs - Forking Policy
- [GHD-AA] GitHub Docs - Apps Authorization
- [GHD-SD] GitHub Docs - Sensitive Data
- [GHD-N] GitHub Docs - Notifications
- [GHD-SA] GitHub Docs - Security and Analysis
- [GHD-CS] GitHub Docs - Commit Signature
- [GHD-SP] GitHub Docs - Security Policy
- [GHD-WS] GitHub Docs - Webhook Security
- [GHD-SL] GitHub Docs - Security Logs