secopsium/secopsium-cli

GitHub: secopsium/secopsium-cli

一款开源的本地优先代码仓库安全扫描命令行工具,将多种扫描引擎整合为零配置的统一体验,帮助开发团队在开发阶段快速发现密钥泄露、配置风险和代码暴露问题。

Stars: 3 | Forks: 2

# SecOpsium CLI [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/2ab81d48da080954.svg)](https://github.com/secopsium/secopsium-cli/actions/workflows/ci.yml) [![Release](https://img.shields.io/github/v/release/secopsium/secopsium-cli)](https://github.com/secopsium/secopsium-cli/releases) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](./LICENSE) SecOpsium CLI 是一款开源的、本地优先的代码仓库安全扫描器。 支持 Windows、macOS 和 Linux,无需手动配置。 从 GitHub Releases 下载对应的二进制文件,运行 `secopsium setup`,即可开始扫描。 ## 功能特性 - 使用 Gitleaks 检测暴露的机密信息 - 使用 Semgrep 查找配置风险 - 运行轻量级的 JavaScript 暴露检查 - 跨扫描器统一处理发现的问题,并输出一致的格式 - 支持人类可读和 JSON 格式输出 - 默认对敏感匹配项进行脱敏处理 - 支持本地路径和远程 Git 仓库 - 包含忽略文件支持、结果去重以及对 CI 友好的退出码 ## 快速开始 1. 从 GitHub Releases 下载适合您操作系统和架构的二进制文件。 2. 运行 `secopsium version` 确认您安装的二进制文件。 3. 运行 `secopsium setup` 安装托管版本的扫描工具。 4. 运行 `secopsium scan .` ## 命令 ``` # 显示版本/构建 metadata secopsium version # 本地 scan secopsium scan . # Scan 期间自动安装缺失的工具 secopsium scan . --install-missing --yes # 针对大型 bundles 提升 JS/TS scan 大小限制 secopsium scan . --js-max-file-size-mb 10 # Scan 远程 git repo secopsium scan --repo https://github.com/org/repo.git # 预先安装托管的 scanner 工具 secopsium setup # 检查 scanner 工具运行状况 secopsium doctor # 严格 CI 模式 secopsium scan . --strict --fail-on-findings # 使用较短的 clone 超时时间来 clone 特定分支 secopsium scan --repo https://github.com/org/repo.git --ref main --clone-timeout 30s # 一次性 JSON 输出 secopsium scan . --json # 仅在您明确选择加入时显示原始证据 secopsium scan . --unsafe-raw-output # 将默认输出持久化为 JSON secopsium output --json # 将默认输出持久化为人类可读格式 secopsium output --human # 初始化 ignore 文件 secopsium ignore init # 向 ignore 文件添加 patterns secopsium ignore add "src/generated/**" "**/*.snap" # 列出生效的 ignore patterns secopsium ignore list ``` ## 输出示例 ``` [Secrets] 3 findings [Config Risks] 2 findings [JS Exposure] 1 findings [Summary] Total Findings: 6 Secrets: 3 Config Risks: 2 JS Exposure: 1 Want fewer false positives and prioritized results? Try the full platform: https://secopsium.com ``` ## 安装 SecOpsium CLI 通过 GitHub Releases 以特定于操作系统的二进制文件形式分发。 下载适合您平台的正确二进制文件后: - 运行 `secopsium version` - 运行 `secopsium setup` - 运行 `secopsium scan .` CLI 会自动检测 `gitleaks` 和 `semgrep`。如果缺失,`secopsium setup` 会将托管副本安装到您的用户缓存中。您也可以使用 `secopsium scan --install-missing --yes` 按需安装它们。 托管安装不需要管理员权限。 为了保持扫描速度,默认会跳过大小超过 3 MB 的 JavaScript 和 TypeScript 文件。如果您想包含更大的 bundle 或生成的前端资源,请使用 `--js-max-file-size-mb`。 ## 从源码构建 环境要求: - Go 1.24+ 为当前的操作系统构建: ``` go build -o bin/secopsium ./cmd/secopsium ``` 交叉编译示例: ``` # Linux GOOS=linux GOARCH=amd64 go build -o dist/secopsium-linux-amd64 ./cmd/secopsium # macOS Intel GOOS=darwin GOARCH=amd64 go build -o dist/secopsium-darwin-amd64 ./cmd/secopsium # macOS Apple Silicon GOOS=darwin GOARCH=arm64 go build -o dist/secopsium-darwin-arm64 ./cmd/secopsium # Windows GOOS=windows GOARCH=amd64 go build -o dist/secopsium-windows-amd64.exe ./cmd/secopsium ``` ## 发布 本仓库包含 [`.goreleaser.yml`](./.goreleaser.yml) 和 GitHub Actions 工作流,用于: - Windows、macOS 和 Linux 上的 CI - 带有特定于操作系统的二进制文件的标记发布 - 通过 Dependabot 进行依赖更新跟踪 要在本地构建发布产物: ``` goreleaser release --snapshot --clean ``` ## 为什么选择 Go Go 使 CLI 易于分发且运行迅速: - 适用于 Windows、macOS 和 Linux 的单一二进制文件 - 快速的文件系统扫描 - 可靠的子进程和超时处理 - 简单明了的 CI/CD 打包 ## 项目结构 ``` secopsium-cli/ cmd/secopsium/ # CLI entrypoint and commands internal/ # config, runner, formatting, tooling, repo logic scanner/ # scanner integrations and lightweight checks .github/ # CI, releases, and dependency automation ``` ## 贡献与安全 有关开发指南,请参阅 [CONTRIBUTING.md](./CONTRIBUTING.md);有关漏洞报告,请参阅 [SECURITY.md](./SECURITY.md)。
标签:API安全, CLI, CMS安全, DevSecOps, EVTX分析, Gitleaks, JavaScript, JSON输出, LNA, SAST, SecOps, Semgrep, StruQ, TypeScript, WiFi技术, WordPress安全扫描, 上游代理, 云安全架构, 仓库安全, 代码安全, 安全合规, 安全插件, 密钥泄露检测, 对抗攻击, 开源安全工具, 敏感信息检测, 日志审计, 本地安全扫描, 源代码扫描, 漏洞枚举, 盲注攻击, 网络代理, 自动安装, 逆向工程平台, 配置风险检测, 零配置, 静态应用安全测试