mcpField
S
sast-configuration

sast-configuration

github.com/hermeticormus安全12379 次安装4 周前更新
代码仓库

关于 sast-configuration

面向开发团队的 SAST 配置指南,介绍 Semgrep、SonarQube 和 CodeQL 的设置、自定义规则及扫描结果管理。内容涵盖 CI/CD 集成、质量门禁、误报调优和性能优化。

主要功能

  1. 01配置 Semgrep、SonarQube 和 CodeQL
  2. 02创建自定义安全规则与查询
  3. 03设置质量门禁和合规策略
  4. 04集成 CI/CD 与提交前检查
  5. 05调优误报并优化扫描性能
  6. 06提供配置模板和自动化脚本

适用场景

  1. 01为新项目建立 SAST 扫描
  2. 02在 CI/CD 流水线中运行安全检查
  3. 03创建组织专用的安全规则
  4. 04执行 PCI-DSS 等合规扫描

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/hermeticormus/libreuiux-claude-code --skill sast-configuration

安装后在 Claude Code 中输入/sast-configuration确认已加载。

详细介绍

SAST 配置

用于在多种编程语言中进行全面安全扫描的静态应用程序安全测试(SAST)工具设置、配置和自定义规则创建。

概述

本技能提供了设置和配置 SAST 工具(包括 Semgrep、SonarQube 和 CodeQL)的全面指南。遇到以下需求时,请使用本技能:

  • 在 CI/CD 流水线中设置 SAST 扫描
  • 为代码库创建自定义安全规则
  • 配置质量门禁和合规策略
  • 优化扫描性能并减少误报
  • 集成多个 SAST 工具,实现纵深防御

核心能力

1. Semgrep 配置
  • 使用模式匹配创建自定义规则
  • 特定语言的安全规则(Python、JavaScript、Go、Java 等)
  • CI/CD 集成(GitHub Actions、GitLab CI、Jenkins)
  • 误报调优和规则优化
  • 组织策略执行
2. SonarQube 设置
  • 质量门禁配置
  • 安全热点分析
  • 代码覆盖率和技术债务跟踪
  • 针对不同语言的自定义质量配置
  • 与 LDAP/SAML 的企业级集成
3. CodeQL 分析
  • GitHub Advanced Security 集成
  • 自定义查询开发
  • 漏洞变体分析
  • 安全研究工作流
  • SARIF 结果处理

快速开始

初步评估
  1. 确定代码库中主要使用的编程语言
  2. 确定合规要求(PCI-DSS、SOC 2 等)
  3. 根据语言支持和集成需求选择 SAST 工具
  4. 查看基线扫描结果,了解当前安全状况
基本设置
# Semgrep quick start
pip install semgrep
semgrep --config=auto --error

# SonarQube with Docker
docker run -d --name sonarqube -p 9000:9000 sonarqube:latest

# CodeQL CLI setup
gh extension install github/gh-codeql
codeql database create mydb --language=python

参考文档

模板与资源

集成模式

CI/CD 流水线集成
# GitHub Actions example
- name: Run Semgrep
  uses: returntocorp/semgrep-action@v1
  with:
    config: >-
      p/security-audit
      p/owasp-top-ten
提交前钩子
# .pre-commit-config.yaml
- repo: https://github.com/returntocorp/semgrep
  rev: v1.45.0
  hooks:
    - id: semgrep
      args: ['--config=auto', '--error']

最佳实践

  1. 从基线开始

    • 执行初始扫描,建立安全基线
    • 优先处理严重和高危发现
    • 制定修复路线图
  2. 逐步采用

    • 从以安全为重点的规则开始
    • 逐步添加代码质量规则
    • 仅针对严重问题设置阻断
  3. 误报管理

    • 记录合理的抑制项
    • 为已知安全模式创建允许列表
    • 定期审查已抑制的发现
  4. 性能优化

    • 排除测试文件和生成的代码
    • 对大型代码库使用增量扫描
    • 在 CI/CD 中缓存扫描结果
  5. 团队赋能

    • 为开发人员提供安全培训
    • 为常见模式编写内部文档
    • 建立安全倡导者计划

常见用例

新项目设置
./scripts/run-sast.sh --setup --language python --tools semgrep,sonarqube
自定义规则开发
# See references/semgrep-rules.md for detailed examples
rules:
  - id: hardcoded-jwt-secret
    pattern: jwt.encode($DATA, "...", ...)
    message: JWT secret should not be hardcoded
    severity: ERROR
合规性扫描
# PCI-DSS focused scan
semgrep --config p/pci-dss --json -o pci-scan-results.json

故障排除

误报率高
  • 审查并调整规则敏感度
  • 添加路径筛选器以排除测试文件
  • 对噪声模式使用 nostmt 元数据
  • 创建组织专用的规则例外
性能问题
  • 启用增量扫描
  • 跨模块并行执行扫描
  • 优化规则模式以提高效率
  • 缓存依赖项和扫描结果
集成失败
  • 验证 API 令牌和凭据
  • 检查网络连接和代理设置
  • 检查 SARIF 输出格式的兼容性
  • 验证 CI/CD 运行器权限

相关技能

工具对比

工具最适用于语言支持成本集成
Semgrep自定义规则、快速扫描30+ 种语言免费/企业版出色
SonarQube代码质量 + 安全25+ 种语言免费/商业版良好
CodeQL深度分析、研究10+ 种语言免费(OSS)GitHub 原生

后续步骤

  1. 完成初始 SAST 工具设置
  2. 运行基线安全扫描
  3. 为组织特定模式创建自定义规则
  4. 集成到 CI/CD 流水线中
  5. 制定安全门禁策略
  6. 培训开发团队了解扫描结果和修复方法

评论

支持 Markdown