Configures GitHub Advanced Security with CodeQL for automated static code analysis, vulnerability detection, and scanning in repositories. Useful for enterprise DevSecOps workflows.
npx claudepluginhub killvxk/cybersecurity-skills-zhThis skill uses the workspace's default tool permissions.
GitHub Advanced Security(GHAS)将 CodeQL 驱动的静态应用安全测试直接集成到 GitHub 开发工作流中。CodeQL 将代码视为数据,通过语义分析识别 SQL 注入、跨站脚本、缓冲区溢出和身份验证缺陷等安全漏洞,误报率显著低于传统模式匹配扫描器。GHAS 涵盖代码扫描、机密扫描、依赖审查和 Dependabot 告警,为仓库提供全面的安全态势。
Configures GitHub Advanced Security with CodeQL for automated static analysis, vulnerability detection, and code scanning across enterprise repositories.
Configures GitHub Advanced Security with CodeQL for automated code scanning, SAST, vulnerability detection, and secret scanning across repositories at enterprise scale.
Integrates CodeQL and Semgrep SAST tools into GitHub Actions for automatic code scanning on PRs/pushes, SARIF upload to GitHub Advanced Security, rule tuning, and quality gates blocking merges on high-severity vulnerabilities.
Share bugs, ideas, or general feedback.
GitHub Advanced Security(GHAS)将 CodeQL 驱动的静态应用安全测试直接集成到 GitHub 开发工作流中。CodeQL 将代码视为数据,通过语义分析识别 SQL 注入、跨站脚本、缓冲区溢出和身份验证缺陷等安全漏洞,误报率显著低于传统模式匹配扫描器。GHAS 涵盖代码扫描、机密扫描、依赖审查和 Dependabot 告警,为仓库提供全面的安全态势。
CodeQL 将源代码编译为可查询的数据库,然后对该数据库执行以安全为重点的查询。查询套件内置数百个检查项,映射到 CWE 标识符,涵盖 OWASP Top 10、SANS Top 25 和特定语言的漏洞模式。可以使用 CodeQL 查询语言(QL)编写自定义查询,以检测组织特定的反模式。
默认设置通过仓库的代码安全设置一键启用代码扫描。GitHub 自动检测存在的语言,选择适当的查询套件并配置扫描触发器。此方法无需工作流文件,适合快速上手。
高级设置生成可自定义的 .github/workflows/codeql.yml 工作流文件。团队可控制调度、语言矩阵、编译语言的构建命令、额外的查询包以及与第三方 SARIF 生产者的集成。当需要自定义构建步骤、monorepo 配置或私有查询包时,必须使用高级设置。
对于管理数百个仓库的企业,GHAS 支持使用组织级别安全概览大规模配置代码扫描。管理员可以在所有符合条件的仓库中启用默认设置、定义自定义安全配置,并通过安全覆盖率仪表板监控采用情况。
创建 .github/workflows/codeql-analysis.yml:
name: "CodeQL Analysis"
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
schedule:
- cron: '30 2 * * 1' # 每周一 UTC 2:30
jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ubuntu-latest
permissions:
security-events: write
contents: read
actions: read
strategy:
fail-fast: false
matrix:
language: ['javascript-typescript', 'python', 'java-kotlin']
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
queries: +security-extended,security-and-quality
# 对于编译语言,在下面添加构建命令
- name: Autobuild
uses: github/codeql-action/autobuild@v3
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{ matrix.language }}"
通过在工作流中引用它们来安装组织特定的查询包:
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: java-kotlin
packs: |
my-org/java-custom-queries@1.0.0
codeql/java-queries:cwe/cwe-089
.github/dependabot.yml 以自动更新依赖版本| 套件 | 描述 | 使用场景 |
|---|---|---|
default | 高置信度安全查询 | 生产环境扫描,误报最少 |
security-extended | 更广泛的安全查询,包括低严重性发现 | 全面的安全覆盖 |
security-and-quality | 安全加代码质量查询 | 同时需要安全和可维护性检查的团队 |
| 自定义包 | 组织编写的查询 | 检测内部反模式和合规违规 |
GHAS 接受来自外部工具的 SARIF(静态分析结果交换格式)上传:
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif
category: "semgrep"
组织级别的安全概览提供:
/repos/{owner}/{repo}/code-scanning/alerts)构建自定义报告仪表板default 套件开始,逐步扩展,以避免开发者告警疲劳