ashlrai/binshield
GitHub: ashlrai/binshield
一款面向 npm 生态的供应链二进制安全扫描器,利用 Ghidra 反编译、AI 分类和 YARA 规则来识别和阻断包中的恶意二进制威胁。
Stars: 2 | Forks: 0
# BinShield
BinShield 是一个以 npm 为优先的供应链二进制扫描器。本代码库是一个 monorepo,包含公共搜索应用、SaaS API、分析 worker、GitHub Action 以及共享的分析/风险评分包。
## 工作区布局
- `apps/web`:用于公共数据库和认证仪表板的 Next.js 应用
- `apps/api`:用于包搜索、扫描提交、组织工作流、API 密钥和账单桩的 Hono API
- `apps/worker`:分析编排、包获取、二进制提取、指纹识别和提供者适配器
- `apps/github-action`:用于发现 npm 目标、查询 API 和执行策略的 GitHub Action
- `packages/analysis-types`:共享域 schema、种子演示语料库和路由契约
- `packages/risk-engine`:确定性风险评分和聚合辅助工具
- `packages/config`:共享环境解析和产品常量
- `supabase/migrations`:初始 schema 和 RLS 基础
## 计划运行时技术栈
- Web:Next.js 15 App Router
- API:运行在 Node 上的 Hono
- 数据库/认证:Supabase Postgres/Auth
- 队列:兼容 BullMQ 的队列接口
- Workers:Ghidra 无头运行器以及 LLM 分类
## 开始使用
1. 使用 `pnpm install` 安装依赖。
2. 为每个应用复制环境变量示例文件。
3. 运行 `pnpm dev` 启动 Web 应用,运行 `pnpm --filter @binshield/api dev` 启动 API。
4. 运行 `pnpm test` 获取共享包的测试覆盖率。
## 演示模式
本代码库特意提供了一条完善的回退路径,以便在接入实时基础设施之前,产品开发工作可以继续进行:
- 当 API 不可用时,Web 应用可以根据种子分析语料库进行渲染
- 当未配置 Supabase 时,API 可以针对其本地仓库模式运行
- 当实时提供者不可用时,worker 可以分析捆绑的测试固件包
即使在连接生产环境凭证之前,这也使得包智能界面、仪表板外壳和 CI 集成仍可进行演示。
标签:AI分类, API, C2, CI/CD安全, DevSecOps, DLL 劫持, Ghidra, GitHub Action, GNU通用公共许可证, Hono, Llama, LLM, MITM代理, Node.js, npm, SaaS, Supabase, TypeScript, Unmanaged PE, URL提取, YARA, 上游代理, 二进制分析, 云安全监控, 云安全运维, 云资产可视化, 反编译, 大语言模型, 威胁情报, 安全扫描, 安全插件, 开发安全, 开发者工具, 时序注入, 自动化攻击, 静态分析, 风险评分