首页/安全与合规/secret-scanning
S

secret-scanning

by @githubv1.0.0
4.2(3)

配置 GitHub 秘密扫描功能,自动检测代码中的泄露凭证,阻止密钥推送,定义自定义模式并管理警报

vulnerability-scanningsecurity-best-practicesstatic-analysisaccess-controlauthenticationGitHub
安装方式
npx skills add github/awesome-copilot --skill secret-scanning
compare_arrows

Before / After 效果对比

1
使用前

手动在代码仓库中搜索敏感信息,依赖开发者记忆和自觉性,密钥泄露后往往数周才发现,造成严重安全风险

使用后

自动扫描所有提交和 PR,实时检测 100+ 种密钥模式,推送前拦截泄露行为,并生成可操作的警报通知

description SKILL.md

secret-scanning

Secret Scanning

This skill provides procedural guidance for configuring GitHub secret scanning — detecting leaked credentials, preventing secret pushes, defining custom patterns, and managing alerts.

When to Use This Skill

Use this skill when the request involves:

  • Enabling or configuring secret scanning for a repository or organization

  • Setting up push protection to block secrets before they reach the repository

  • Defining custom secret patterns with regular expressions

  • Resolving a blocked push from the command line

  • Triaging, dismissing, or remediating secret scanning alerts

  • Configuring delegated bypass for push protection

  • Excluding directories from secret scanning via secret_scanning.yml

  • Understanding alert types (user, partner, push protection)

  • Enabling validity checks or extended metadata checks

How Secret Scanning Works

Secret scanning automatically detects exposed credentials across:

  • Entire Git history on all branches

  • Issue descriptions, comments, and titles (open and closed)

  • Pull request titles, descriptions, and comments

  • GitHub Discussions titles, descriptions, and comments

  • Wikis and secret gists

Availability

Repository Type Availability

Public repos Automatic, free

Private/internal (org-owned) Requires GitHub Secret Protection on Team/Enterprise Cloud

User-owned Enterprise Cloud with Enterprise Managed Users

Core Workflow — Enable Secret Scanning

Step 1: Enable Secret Protection

  • Navigate to repository SettingsAdvanced Security

  • Click Enable next to "Secret Protection"

  • Confirm by clicking Enable Secret Protection

For organizations, use security configurations to enable at scale:

  • Settings → Advanced Security → Global settings → Security configurations

Step 2: Enable Push Protection

Push protection blocks secrets during the push process — before they reach the repository.

  • Navigate to repository SettingsAdvanced Security

  • Enable "Push protection" under Secret Protection

Push protection blocks secrets in:

  • Command line pushes

  • GitHub UI commits

  • File uploads

  • REST API requests

  • REST API content creation endpoints

Step 3: Configure Exclusions (Optional)

Create .github/secret_scanning.yml to auto-close alerts for specific directories:

paths-ignore:
  - "docs/**"
  - "test/fixtures/**"
  - "**/*.example"

Limits:

  • Maximum 1,000 entries in paths-ignore

  • File must be under 1 MB

  • Excluded paths also skip push protection checks

Best practices:

  • Be as specific as possible with exclusion paths

  • Add comments explaining why each path is excluded

  • Review exclusions periodically — remove stale entries

  • Inform the security team about exclusions

Step 4: Enable Additional Features (Optional)

Non-provider patterns — detect private keys, connection strings, generic API keys:

  • Settings → Advanced Security → enable "Scan for non-provider patterns"

AI-powered generic secret detection — uses Copilot to detect unstructured secrets like passwords:

  • Settings → Advanced Security → enable "Use AI detection"

Validity checks — verify if detected secrets are still active:

  • Settings → Advanced Security → enable "Validity checks"

  • GitHub periodically tests detected credentials against provider APIs

  • Status shown in alert: active, inactive, or unknown

Extended metadata checks — additional context about who owns a secret:

  • Requires validity checks to be enabled first

  • Helps prioritize remediation and identify responsible teams

Core Workflow — Resolve Blocked Pushes

When push protection blocks a push from the command line:

Option A: Remove the Secret

If the secret is in the latest commit:

# Remove the secret from the file
# Then amend the commit
git commit --amend --all
git push

If the secret is in an earlier commit:

# Find the earliest commit containing the secret
git log

# Start interactive rebase before that commit
git rebase -i <COMMIT-ID>~1

# Change 'pick' to 'edit' for the offending commit
# Remove the secret, then:
git add .
git commit --amend
git rebase --continue
git push

Option B: Bypass Push Protection

  • Visit the URL returned in the push error message (as the same user)

  • Select a bypass reason:

It's used in tests — alert created and auto-closed

  • It's a false positive — alert created and auto-closed

  • I'll fix it later — open alert created

  • Click Allow me to push this secret

  • Re-push within 3 hours

Option C: Request Bypass Privileges

If delegated bypass is enabled and you lack bypass privileges:

  • Visit the URL from the push error

  • Add a comment explaining why the secret is safe

  • Click Submit request

  • Wait for email notification of approval/denial

  • If approved, push the commit; if denied, remove the secret

For detailed bypass and delegated bypass workflows, search references/push-protection.md.

Custom Patterns

Define organization-specific secret patterns using regular expressions.

Quick Setup

  • Settings → Advanced Security → Custom patterns → New pattern

  • Enter pattern name and regex for secret format

  • Add a sample test string

  • Click Save and dry run to test (up to 1,000 results)

  • Review results for false positives

  • Click Publish pattern

  • Optionally enable push protection for the pattern

Scopes

Custom patterns can be defined at:

  • Repository level — applies to that repo only

  • Organization level — applies to all repos with secret scanning enabled

  • Enterprise level — applies across all organizations

Copilot-Assisted Pattern Generation

Use Copilot secret scanning to generate regex from a text description of the secret type, including optional example strings.

For detailed custom pattern configuration, search references/custom-patterns.md.

Alert Management

Alert Types

Type Description Visibility

User alerts Secrets found in repository Security tab

Push protection alerts Secrets pushed via bypass Security tab (filter: bypassed: true)

Partner alerts Secrets reported to provider Not shown in repo (provider-only)

Alert Lists

  • Default alerts — supported provider patterns and custom patterns

  • Generic alerts — non-provider patterns and AI-detected secrets (limited to 5,000 per repo)

Remediation Priority

  • Rotate the credential immediately — this is the critical action

  • Review the alert for context (location, commit, author)

  • Check validity status: active (urgent), inactive (lower priority), unknown

  • Remove from Git history if needed (time-intensive, often unnecessary after rotation)

Dismissing Alerts

Dismiss with a documented reason:

  • False positive — detected string is not a real secret

  • Revoked — credential has already been revoked

  • Used in tests — secret is only in test code

For detailed alert types, validity checks, and REST API, search references/alerts-and-remediation.md.

Reference Files

For detailed documentation, load the following reference files as needed:

  • references/push-protection.md — Push protection mechanics, bypass workflow, delegated bypass, user push protection

Search patterns: bypass, delegated, bypass request, command line, REST API, user push protection

  • references/custom-patterns.md — Custom pattern creation, regex syntax, dry runs, Copilot regex generation, scopes

Search patterns: custom pattern, regex, dry run, publish, organization, enterprise, Copilot

  • references/alerts-and-remediation.md — Alert types, validity checks, extended metadata, generic alerts, secret removal, REST API

Search patterns: user alert, partner alert, validity, metadata, generic, remediation, git history, REST API

Weekly Installs251Repositorygithub/awesome-copilotGitHub Stars26.7KFirst Seen5 days agoSecurity AuditsGen Agent Trust HubPassSocketPassSnykPassInstalled ongemini-cli231codex231opencode227cursor225github-copilot224kimi-cli223

forum用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价,来写第一条吧

统计数据

安装量200
评分4.2 / 5.0
版本1.0.0
更新日期2026年3月24日
对比案例1 组

用户评分

4.2(3)
5
0%
4
0%
3
0%
2
0%
1
0%

为此 Skill 评分

0.0

兼容平台

🔧Claude Code

时间线

创建2026年3月24日
最后更新2026年3月24日