DevSecCodeInc/DevSecCode-NPM
GitHub: DevSecCodeInc/DevSecCode-NPM
一个本地化的游戏化静态应用安全测试CLI工具,用于检测代码中的常见安全漏洞。
Stars: 3 | Forks: 0
# DevSecCode 扫描器
[](https://www.npmjs.com/package/@devseccode/scanner)
[](https://www.npmjs.com/package/@devseccode/scanner)
[](#supported-platforms)
[](./LICENSE.txt)

## 立即体验
```
npx @devseccode/scanner hunt .
```
## 功能介绍
- **高精度 SAST 规则**:覆盖 9 个 CWE 家族 —— SQL 注入、跨站脚本攻击、命令注入、路径遍历、硬编码密钥、弱加密、明文 HTTP、XML 外部实体注入和跨站请求伪造 —— 支持 Python、JavaScript / TypeScript、Go、Java 和 Rust。
- **基础设施扫描**:支持 Dockerfile 和 Kubernetes 清单。
- **游戏化终端用户界面**:包含扫描地图、遭遇卡片和设计为可多次运行的分诊流程。
- **标准化输出**:SARIF(用于 GitHub 代码扫描)、JUnit(用于 CI 测试运行器)、JSON(用于下游工具)以及彩色终端报告。
- **零运行时依赖**:每个平台一个独立的 PyInstaller 二进制文件。扫描器本身无需安装 Python 或 `node_modules`,运行时无需联网。
## 安装
```
# One-shot(推荐新手使用):
npx @devseccode/scanner hunt .
# 全局:
npm install -g @devseccode/scanner
devseccode --help # or `dsc` for short
# 项目本地(推荐用于 CI):
npm install --save-dev @devseccode/scanner
npx devseccode scan . --format sarif --output devseccode.sarif
```
## 常用命令
```
devseccode hunt . # gamified scan
devseccode scan . --format sarif --output out.sarif # CI-friendly scan
devseccode scan . --format json --output out.json # tooling-friendly
devseccode list-rules # what's in the public ruleset
devseccode explain deva.cwe-89.python-sql-injection # rule details
devseccode init # drop a .dsc.yml
```
`devseccode --help` 列出所有子命令;`devseccode <子命令> --help` 介绍其标志用法。
## 在 GitHub Actions 中使用
```
# .github/workflows/security.yml
name: Security scan
on: [push, pull_request]
permissions:
contents: read
security-events: write # required for the SARIF upload below
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx @devseccode/scanner scan . --format sarif --output results.sarif
- uses: github/codeql-action/upload-sarif@v3
if: always()
with:
sarif_file: results.sarif
```
SARIF 输出会直接显示在 GitHub 的原生 **安全** 选项卡中 —— 这与 CodeQL 的发现结果位于同一位置。
## 支持的平台
| 平台 | 状态 |
| ------------------------------------- | --------------------------------------- |
| macOS Apple Silicon (`darwin-arm64`) | 已构建、代码签名并公证 |
| Linux x64 | 已构建(glibc;不支持 Alpine / musl) |
| Linux arm64 | 已构建(glibc;不支持 Alpine / musl) |
| Windows x64 | 已构建 |
| Intel Mac (`darwin-x64`) | 本次版本未包含 —— GitHub 已退役 macos-13 运行器池 |
对于 Alpine / musl Linux,请在 CI 中使用 Debian 或 Ubuntu sidecar 运行。
## 隐私保护
扫描器是**完全本地化**的。没有遥测、没有分析、没有代码上传,`npm install` 完成后也没有网络调用。您可以通过 `tcpdump`、Little Snitch 或沙盒防火墙进行验证。
## DevSecCode IDE
npm 扫描器有意保持专注 —— 它附带精选的规则子集和基本输出,作为一个免费、无门槛的入口点。完整的 **DevSecCode IDE** 则包含完整的规则库、合规性映射(NIST 800-53、HIPAA、FedRAMP、SOC 2、ISO 27001、PCI DSS 等)、SBOM 和依赖项 CVE 信息补充、审计级签名证据包、POA&M 生成、git 历史凭证扫描以及引导式修复工作流程。
→ [devseccode.com](https://devseccode.com)
## 项目结构
```
engine/ Python source compiled to a single binary by PyInstaller
public_rulepacks/ Curated OpenGrep .yml rules bundled into the binary
vendor/opengrep/ OpenGrep binary fetched at build time
dsc-cli.spec PyInstaller spec consumed by build-binary.sh
npm-dist/ npm packaging — parent shim + per-platform packages
packages/scanner/ Parent package (@devseccode/scanner)
packages/scanner-*/ Per-platform binary packages
scripts/ Build, sign, assemble, publish helpers
.github/workflows/ Tag-driven release pipeline (release-npm.yml)
resources/sample-vulns/ Tiny fixtures the test scripts scan as a smoke check
```
## 许可证
专有 —— 保留所有权利。完整最终用户许可协议请参见 [LICENSE.txt](./LICENSE.txt)。扫描器可免费用于您的内部业务用途;但禁止重新分发、修改或用于构建竞争性产品。
标签:CSRF, CWE检测, DevSecOps, Dockerfile扫描, IPv6支持, Kubernetes扫描, SAST工具, XSS, XXE, 上游代理, 云安全监控, 代码安全, 命令注入, 基础设施扫描, 多语言支持, 安全专业人员, 安全扫描, 安全测试框架, 弱加密, 时序注入, 暗色界面, 游戏化, 漏洞情报, 漏洞挖掘, 漏洞枚举, 硬编码密钥, 路径遍历, 输出格式, 逆向工具, 静态分析