Tavotsu/BaseSec

GitHub: Tavotsu/BaseSec

面向 Node.js 后端的轻量级 SAST 工具,通过 AST 分析和污点追踪在开发阶段快速发现代码中的常见安全漏洞。

Stars: 7 | Forks: 0

#

BaseSec

用于 Node.js 后端的静态应用安全测试 (SAST) CLI 工具。 扫描 JavaScript 和 TypeScript 源文件,通过 AST 分析和污点追踪检测漏洞,并在终端、JSON、SARIF、HTML 或 Markdown 中报告结果。 ## 功能 - **30 条安全规则**,涵盖 9 个类别(SQL 注入、XSS、NoSQL 注入、命令注入、路径遍历、身份验证、敏感信息、错误处理、错误配置) - **污点分析** — 追踪从用户输入(`req.query`、`req.body` 等)到危险接收器的数据流 - **框架检测** — 自动检测 Express、NestJS、Mongoose 和 TypeORM - **多种输出格式** — 终端(彩色表格)、JSON、SARIF、HTML、Markdown - **分析缓存** — 基于哈希的单文件缓存,在增量扫描中实现 10 倍加速 - **Worker Threads** — 针对大型代码库的多核并行分析 - **自定义规则** — 通过 `.basesecrc` 加载外部规则文件(MJS/CJS) - **零配置** — 开箱即用,具有合理的默认设置 ## 快速入门 ### 安装 ``` npm install -g basesec # 或 pnpm add -g basesec # 或 yarn global add basesec ``` ### 扫描 ``` # 扫描当前目录 basesec scan # 扫描特定目录 basesec scan ./src # JSON 输出 basesec scan ./src --format json --output report.json # 仅严重/高危发现,严格退出码 basesec scan ./src --severity high --strict ``` ## 框架支持 | 框架 | 自动检测 | 备注 | |---|---|---| | Express | 是 | 路由处理器、中间件、`res.send()`、`res.set()` | | NestJS | 是 | 装饰器(`@Controller`、`@Get` 等)、守卫 | | Mongoose | 是 | 查询链、`$where`、`lean()` | | TypeORM | 是 | 查询构建器、原始查询 | ## 配置 在您的项目根目录中创建一个 `.basesecrc` 文件: ``` export default { severity: 'low', framework: 'auto', ignore: ['node_modules', 'dist', 'coverage'], taintAnalysis: true, rules: [], rulesConfig: {}, }; ``` 有关完整选项,请参见 [CONFIGURATION.md](docs/CONFIGURATION.md)。 ## 性能 BaseSec 使用两项核心优化: 1. **分析缓存**(默认启用) — SHA-256 文件 + 配置哈希,跳过未更改的文件 2. **Worker Threads**(在文件数 >50 时自动启用) — 跨 CPU 核心的并行分析 结合使用,这些在重新扫描时可提供约 **12 倍加速**。有关基准测试数据,请参见 [PERFORMANCE.md](PERFORMANCE.md)。 ## 文档 - [INSTALLATION.md](docs/INSTALLATION.md) — 详细的安装选项 - [USAGE.md](docs/USAGE.md) — CLI 命令和标志 - [CONFIGURATION.md](docs/CONFIGURATION.md) — 配置文件参考 - [RULES.md](docs/RULES.md) — 完整的规则目录 - [PERFORMANCE.md](PERFORMANCE.md) — 基准测试和优化指南 - [CI_CD.md](docs/CI_CD.md) — CI/CD 集成示例 - [TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) — 常见问题和修复 - [FAQ.md](docs/FAQ.md) — 常见问题解答 - [EXAMPLES.md](docs/EXAMPLES.md) — 漏洞代码与安全代码示例 - [CONTRIBUTING.md](CONTRIBUTING.md) — 如何贡献 - [CHANGELOG.md](CHANGELOG.md) — 版本历史 - [SECURITY.md](SECURITY.md) — 安全策略 ## 许可证 MIT © tavotsu
标签:CISA项目, CMS安全, Express, JavaScript, LNA, MITM代理, Mongoose, NestJS, Node.js安全, NoSQL注入, Redis利用, SARIF, SAST, TypeORM, TypeScript, URL发现, XSS, XSS注入, 代码安全扫描, 后端安全, 命令注入, 安全专业人员, 安全基线, 安全插件, 安全检测, 密钥泄露, 开源安全工具, 教学环境, 数据可视化, 漏洞情报, 盲注攻击, 网络安全, 聊天机器人, 自动化payload嵌入, 自动化攻击, 路径遍历, 逆向工程平台, 错误处理, 隐私保护, 静态应用安全测试