Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
awesome-nodejs-security — - 精选的 Node.js 安全工具目录,包含静态分析器、漏洞扫描器以及涵盖 OWASP Top 10、供应链安全和安全编码实践的教育资源。 | Kitploit
工具/GitHubGitHub/lirantal/awesome-nodejs-security
漏洞扫描器静态代码分析 (SAST)代码分析Web安全供应链安全学习与教育精选资源学习路径与课程
GitHublirantal/awesome-nodejs-security

awesome-nodejs-security

- 精选的 Node.js 安全工具目录,包含静态分析器、漏洞扫描器以及涵盖 OWASP Top 10、供应链安全和安全编码实践的教育资源。

查看仓库
3.0k3001226天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

精心整理的 Node.js 安全资源精选列表。

# # #

liran_tal



Node.js 安全

Screenshot 2024-09-12 at 20 14 27

从 Liran Tal 学习 Node.js 安全编码技术和最佳实践


目录

  • 工具
    • Web 框架强化
    • 静态代码分析
    • 动态应用安全测试
    • 输入输出验证
    • 安全组合
    • CSRF
    • 漏洞与安全公告
    • 安全加固
数据源
  • 安全事件
  • 教育资源
    • 黑客演练场
    • 文章
    • 研究论文
    • 书籍
    • 路线图
  • 公司
  • 工具

    Web 框架强化

    • Helmet - Helmet 帮助您通过设置各种 HTTP 标头来保护 Express 应用。
    • koa-helmet - koa-helmet 帮助您通过设置各种 HTTP 标头来保护 Koa 应用。
    • blankie - 用于 hapi 的 CSP 插件。
    • fastify-helmet - fastify-helmet 帮助您通过设置重要的安全标头来保护 fastify 应用。
    • nis2-express-middleware - 用于欧盟 NIS2 合规的全面 Express.js 中间件(日志记录、主动防御和安全默认设置)。
    • nuxt-security - 🛡 基于 OWASP Top 10 和 Helmet 的 Nuxt 安全模块。
    • reporting-api - 设置并收集 CSP、Reporting API v0 和 v1 报告,以可靠地解析并供用户处理。

    GitHub Actions 和 CI/CD 安全

    • New dependencies advisor - GitHub Action,在拉取请求中添加关于新增 npm 依赖项的包健康信息的评论。
    • OpenSSF Scorecard Monitor - 通过自动化的 Markdown 和 JSON 报告以及可选的 GitHub issue 告警,简化组织中 OpenSSF Scorecard 的追踪。

    静态代码分析

    • eslint-plugin-security - Node 安全的 ESLint 规则。本项目有助于识别潜在的安全热点,但会找到许多需要人工分类的误报。
    • tslint-plugin-security - Node 安全的 TSLint 规则。本项目有助于识别潜在的安全热点,但会找到许多需要人工分类的误报。
    • safe-regex - 通过将星号高度限制为 1 来检测可能灾难性的指数时间正则表达式。
    • vuln-regex-detector - 该模块允许检查正则表达式是否存在漏洞。在 JavaScript 中,正则表达式可能“脆弱”:容易发生灾难性回溯。如果您的应用在客户端使用,这可能是一个性能问题。在服务器端,这可能使您面临正则表达式拒绝服务(REDOS)攻击。
    • regolith - 为 TypeScript 构建的正则表达式库,旨在防止 ReDoS 攻击。我为 Rust 正则表达式库创建了 TypeScript 绑定,以防止正则表达式拒绝服务攻击。
    • git-secrets - 阻止您将秘密和凭据提交到 git 仓库。
    • DevSkim - DevSkim 是一组 IDE 插件和规则,提供安全“lint”功能。还支持 CLI,因此可以集成到 CI/CD 流水线中。
    • ban-sensitive-files - 通过针对文件名规则的库检查要提交的文件名,防止敏感文件存储在 Git 中。检查某些文件的敏感内容(例如 .npmrc 文件中的 authToken)。
    • NodeJSScan - 用于 Node.js 应用的静态安全代码扫描器。包含简洁的 UI,可指向问题所在及其修复方法。
    • NodeSecure CLI - Node.js CLI,允许深入分析给定 npm 包或目录的依赖树。
    • Trust But Verify - TBV 将 npm 包与其源码仓库进行比较,确保生成的工件相同。
    • lockfile-lint - lint 锁文件,以改善安全性和信任策略,防止恶意包注入和其他不安全配置。
    • pkgsign - 用于签名和验证 npm 及 yarn 包的 CLI 工具。
    • semgrep - 开源、离线、易于定制的多语言静态分析工具。本列表中的一些其他工具(如 NodeJSScan)使用 semgrep 作为引擎。
    • npm-scan - 可扩展的基于启发式的已安装 npm 包漏洞扫描工具。
    • js-x-ray - JavaScript 和 Node.js SAST 扫描器,能够检测各种已知的恶意代码模式(不安全导入、不安全语句、不安全正则表达式、编码字面量、混淆代码)。
    • cspscanner - CSP 扫描器帮助开发者和安全专家轻松检查并评估站点的内容安全策略(CSP)。
    • eslint-plugin-anti-trojan-source - ESLint 插件,检测并防止特洛伊木马源码攻击进入代码库。
    • sdc-check - 小型工具,通知您项目依赖列表中的潜在风险。
    • fix-lockfile-integrity - CLI 工具,将 npm 锁文件中的弱完整性哈希(sha1)修复为更安全的完整性哈希(sha512)。
    • Bearer - CLI 工具,根据 OWASP Top 10 发现并帮助修复代码中的安全和隐私风险。
    • GuardDog - GuardDog 是识别恶意 PyPI 和 npm 包的 CLI 工具。
    • repolyze - 分析 git 源码仓库的健康信号和项目关键信息。

    动态应用安全测试

    • PurpleTeam - 安全回归测试 SaaS 和 CLI,非常适合插入构建流水线。您无需自行编写测试。purpleteam 足够智能,知道如何测试,您只需提供一份 Job 文件告诉它需要测试什么。

    输入验证与输出编码

    • node-esapi - node-esapi 是 ESAPI4JS(企业安全 API for JavaScript)编码器的最小移植版本。
    • escape-html - 对用于 HTML 的字符串进行转义。
    • js-string-escape - 将任意字符串转义为有效的 JavaScript 字符串字面量(单引号或双引号)。
    • validator - 字符串验证器和清理器的 npm 库。
    • xss-filters - 仅需足够的输出过滤以防止 XSS!
    • DOMPurify - 仅 DOM 的、超快、超容错的 HTML、MathML 和 SVG XSS 清理器。
    • envalid - Envalid 是用于在 Node.js 中验证和访问环境变量的小型库。
    • data-guardian - data-guardian 是一个小巧且高度可定制的库,能够屏蔽任意实体中的敏感数据,有助于实现 OWASP Protect Data everywhere。
    • is-path-inside-secure - is-path-inside-secure 是流行 npm 包 is-path-inside 的符号链接感知实现,旨在帮助防止路径遍历漏洞。
    • spotlighting-datamarking - spotlighting-datamarking 提供 Spotlighting 论文技术 的轻量级实现,提供数据界定、数据标记和可选的 Base64 编码,帮助将数据与指令分离,降低对间接提示注入攻击的敏感性。
    • promptpurify - LLM 应用的结构化提示防火墙,带有针对提示注入和越狱输入的预训练分类器。

    安全组合

    • pug-plugin-trusted-types - Pug 模板插件使从不可信输入安全组合 HTML 变得容易,并提供 CSP 和 CSRF 自动魔法。
    • safesql - 理解 Postgres 和 MySQL 查询语法的标记模板 (mysql`...`),以防止 SQL 注入。
    • sh-template-tag - 理解 Bash 语法的标记模板 (sh`...`),以防止 Shell 注入。

    CSRF

    • csurf - Node.js CSRF 防护中间件。
    • crumb - 为 hapi 生成和验证 CSRF crumb。
    • fastify-csrf - 为 fastify 添加 CSRF 保护的插件。

    漏洞与安全公告

    • npq - 通过将审计作为安装过程的一部分,安全地使用 npm 或 yarn 安装包。
    • snyk - Snyk 帮助您发现、修复和监控 Node.js npm、Ruby 和 Java 依赖项中的已知漏洞,既可作为临时使用,也可作为 CI(构建)系统的一部分。
    • node-release-lines - Node.js 发布元数据的自省 API。提供发布行的信息、其相对状态以及每个版本的详细信息。
    • auditjs - 审计 NPM 的 package.json 文件,使用 OSSIndex 识别已知漏洞。
    • npm-audit - 基于您的 package.json 使用 npm 运行安全审计。
    • npm-audit-resolver - 管理 npm-audit 结果,包括以清晰且可审计的方式忽略特定问题的选项。
    • gammaray - 基于您的 package.json 使用 Node.js 安全工作组的漏洞数据 运行安全审计。
    • patch-package - 允许应用作者为 npm 依赖项(位于 node_modules 中)创建修复,而无需 fork 或等待合并的 PR,通过创建和应用补丁实现。
    • check-my-headers - 快速简单的检查任何 HTTP 标头的方法。
    • clawsearch-guard - AI 代理技能和 npm 包的预安装安全检查。在安装前运行信任评分分析,检测恶意模式、数据窃取和提示注入。
    • is-website-vulnerable - 查找网站前端 JavaScript 库中已知的安全漏洞。
    • joi-security - 检测 Joi 验证模式中的安全缺陷。
    • confused - 检查多个包管理系统中依赖混淆漏洞的工具。参考 Dependency Confusion: How I Hacked Into Apple, Microsoft and Dozens of Other Companies 了解此工具的用途。
    • nodejs-cve-checker - 验证在 Node.js 安全版本发布后 CVE 是否已发布到 NVD 的简单工具。
    • zizmor - 用于 GitHub Actions 和 CI/CD 工作流的静态分析工具。
    • releaserun - 扫描项目依赖项,检查过时的运行时、已知的 CVE 和版本健康等级,覆盖 300 多种产品。
    • CVE PoC Search - 按 CVE 标识符搜索公共 GitHub 概念验证仓库。

    安全加固

    • hijagger - 检查所有 npm 和 PyPI 包的维护者,通过域名重新注册查找可劫持的包。
    • snync - 缓解依赖混淆供应链安全风险。
    • NopPP - No Prototype Pollution - 小型辅助工具,保护您的应用免受原型污染漏洞的影响,无论这些漏洞是出现在您自己的代码中还是第三方代码中。
    • anti-trojan-source - 检测使用 Unicode 双向攻击注入恶意代码的特洛伊木马源码攻击。
    • express-limiter - 基于 redis 的 Express 应用限流中间件。
    • limits - 简单的 express/connect 中间件,用于设置上传大小限制、请求超时等。
    • rate-limiter-flexible - 快速、灵活且友好的基于键的限流器,可防御 DDoS 和暴力攻击,支持进程内存、集群、Redis、MongoDB、MySQL、PostgreSQL 等各种规模。包含 Express 和 Koa 示例。
    • tor-detect-middleware - 用于 express 的 Tor 检测中间件。
    • express-enforces-ssl - 为基于 Express 的 Node.js 项目强制执行 SSL。但强烈建议在前端代理中处理 SSL 和全局 HTTP 规则。
    • bourne - JSON.parse() 的即插即用替代品,具有原型污染防护功能。
    • sigcli - AI 代理的身份验证层。本地 MITM 代理在 127.0.0.1 上拦截 HTTPS 并透明注入凭据(cookie、bearer token、自定义标头)——AI 代理无需看到秘密即可认证。AES-256-GCM 加密存储、浏览器 SSO、4 种认证策略。
    • fastify-rate-limit - 用于路由的低开销限流器。
    • secure-json-parse - JSON.parse() 的即插即用替代品,具有原型污染防护功能。
    • express-brute - 用于 express 路由的暴力破解防护中间件,对传入请求进行限流,每个请求的延迟以斐波那契式序列增加。
    • allowed-scripts - 执行允许的 npm install 生命周期脚本。
    • ses - 硬化 JavaScript 的 shim,一种缓解原型污染攻击的语言模式,并支持在同一 JavaScript 领域中安全地隔离多个租户,为每个租户提供硬化的 API 对象。
    • lavamoat - 使用 ses 限制第三方依赖项并基于首次使用信任的静态分析生成的策略限制其对主机权限的访问,从而缓解供应链攻击。
    • moddable - 将硬化 JavaScript 实现为嵌入式系统的安全模型。
    • is-my-node-vulnerable - 检查您的 Node.js 安装是否易受已知安全漏洞攻击的包。
    • @lavamoat/preinstall-always-fail - 用于断言在 npm 或 yarn 工作流中是否正在运行 preinstall 或 postinstall 脚本的 npm 包。
    • FCaptcha - 自托管 CAPTCHA,具有行为分析功能,可检测机器人、视觉 AI 代理和无头浏览器。包含带有 SHA-256 工作量证明的 Node.js 服务器。
    • are-scripts-enabled - 用于断言在 npm 或 yarn 工作流中是否正在运行 preinstall 或 postinstall 脚本的 npm 包。
    • @w-r-l/verify - 验证 WACZ 网络存档包的加密完整性。检查 Ed25519 签名和 RFC 3161 时间戳。
    • pompelmi - 本地优先的文件上传扫描工具,用于 Node.js,在存储前检查不可信文件。
    • verifyfetch - 基于 SRI 的大型文件完整性验证和断点续传。保护浏览器免受 CDN 漏洞和供应链攻击。

    数据源

    • 资源 - 所有 Node.js 版本的结构化列表,包括二进制构建、它们包含的依赖项(npm、zlib、openssl)及其版本,以及该版本是否为安全版本和是否为 LTS。
    • 资源 - nodejs/security-wg GitHub 仓库维护了一个 /vuln/core 目录,包含应用于 Node.js 运行时版本的所有 CVE。

    安全事件

    抗议软件的供应链安全问题以下是已知的抗议软件列表,这些软件也跨越了其他生态系统:

    • atomicwrites 的 PyPI 包作者删除自己的代码
    • left-pad
    • event-source-polyfill、Mariusz Nowak 及其 es5-ext、Evan Jacobs 及其 styled-components、node-ipc、peacenotwar、nestjs-pino - 所有这些都与俄乌危机有关。
    • Open Souce Peace 组织维护了一个已识别的抗议软件事件列表。

    涉及抗议软件相关主题的文章如下:

    • 2022 年 Techcrunch 抗议软件回顾
    • 2022 年 Snyk 抗议软件类型

    npm 和 JavaScript 特定的安全事件及供应链安全问题

    收集了发生在 Node.js、JavaScript 和 npm 相关社区中的安全事件及支持文章:| 日期 | 名称 | 参考链接 | |-------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 2026 May 11 | TanStack Npm 包通过 Shai-Hulud 活动被攻陷 | Snyk, StepSecurity, Socket | 2026 Apr 29 | 基于 Bun 的窃密程序攻击 SAP @cap-js npm 包 | Snyk | 2026 Mar 31 | Axios npm 包被攻陷:供应链攻击分发跨平台远程访问木马 | Snyk, Axios GitHub issue 的事后分析, Mandiant 关于 UNC1069 参与 Axios 被攻陷的报告 | 2025 Sep 25 | npm 上恶意 MCP 服务器 postmark-mcp 收集电子邮件 | Snyk | 2025 Sep 15 | Shai-Hulud npm 包恶意软件 | Snyk, ReversingLabs, Aikido | 2025 Sep 8 | Qix 维护者因钓鱼活动被攻陷,导致 debug chalk 及其他许多包中出现恶意软件 | Snyk | 2025 Aug 27 | Nx 包恶意版本被攻陷以及 AI 编码工具武器化 LLM 和代理 | Snyk | 2025 Jul 25 | Toptal 包被攻陷,导致 GitHub 令牌被盗,系统被破坏 | Arstechnica | 2025 Jul 19 | ESLint Config Prettier 维护者被攻陷,传播恶意软件并感染其他维护者 | Snyk, Socket, Safedep | 2025 Jun 25 | 朝鲜组织 BeaverTail 投放 35 个恶意 npm 包 | Socket | 2025 Jun 12 | npm 包 @react-native-aria/focus 及其他 @react-native-area 命名空间包被发现为恶意包 | Aikido, Bleeping Computer | 2025 May 15 | os-info-checker-es6 npm 包利用 Google 日历中的 Unicode 隐写术作为命令与控制 | Veracode | 2025 May 8 | 下载量 45,000 的包 rand-user-agent 在供应链攻击中被攻陷,用于恶意远程访问木马 | Aikido | 2025 May 7 | 恶意 npm 包通过后门感染 3,200 多名 Cursor 用户 | Socket | 2025 May 2 | 流行的 .NET、Python 及其他包名的域名抢注 | Socket | 2025 Apr 15 | 俄罗斯黑客域名抢注 express-exp | Safety | 2025 Apr 10 | pdf-to-office 恶意 npm 包 | ReversingLabs | 2025 Apr 5 | 朝鲜黑客通过 11 个恶意 npm 包部署 BeaverTail 恶意软件 | socket | 2025 Mar 26 | 恶意包 ethers-provider2 和 ethers-providerz | ReversingLabs | 2025 Mar 11 | 朝鲜 Lazarus 组织针对 npm 包 is-buffer-validator、yoojae-validator、event-handle-package、array-empty-validator、react-event-dependency 和 auth-validator | socket | 2025 Feb 26 | 隐藏在 NPM 包中的恶意代码 | cycode | 2025 Jan 14 | npm 命令混淆 | Checkmarx | 2025 Jan 13 | Chalk 和 Chokidar 的域名抢注包隐藏后门木马 | socket | 2024 Dec 20 | @rspack/core 和 @rspack/cli(周下载量 40 万)因 npm 令牌被盗被攻陷,用于发布恶意包进行门罗币加密货币挖矿 | rspack release notes, sonatype, Socket | 2024 Dec 11 | 恶意 npm 包 @typescript-eslint/eslint-plugin 在域名抢注攻击中窃取数据 | Socket | 2024 Dec 3 | Solana 的 web3.js 库 @solana/web3.js 发现供应链攻击 | Socket | 2024 Nov 12 | "node-request-ip"、"request-ip-check" 和 "request-ip-validator" 是 npm 上的虚假 IP 检查工具,针对加密货币并安装木马 | sonatype | 2024 Oct 31 | Lottie Player npm 包被攻陷,用于窃取加密钱包 | Snyk | 2024 Oct 31 | 针对 Puppeteer、Bignum.js 及其他约 137 个加密货币库的域名抢注活动 | Phylum | 2024 Oct 28 | npm 供应链安全中使用的依赖混淆活动,被利用入侵财富 500 强公司 | https://www.landh.tech/blog/20241028-hidden-supply-chain-links/ | 2024 Oct 4 | lodasher、them4on、laodasher 虚假 npm 包旨在通过修改过的 AnyDesk 二进制文件对 Windows 用户进行后门攻击 | Sonatype | 2024 Jul 16 | string-width-cjs 及其他可疑维护者揭露 npm 供应链攻击线索 | Snyk | 2024 Jul 11 | noblox-ts 星级劫持和 npm 上的 QuasarRAT | stacklok | 2024 Jun 17 | ua-parser-js 切换到 AGPL+商业许可,属于“拉地毯”行为 | Adventures in Nodeland | 2024 Jun 11 | cors-parser npm 包将跨平台后门隐藏在 PNG 文件中 | Sonatype | 2024 Jun 03 | npm 注册表缓存投毒攻击 | landh.tech | 2024 Apr 26 | 虚假求职面试以新 Python 后门攻击开发者 | Bleeping Computer | 2024 Apr 16 | Tea 代币和开发者滥用开源基础设施获取收益 | Sonatype | 2024 Feb 6 | noblox.js-proxy-server 恶意 npm 包伪装成 Noblox.js,针对 Roblox 用户窃取数据 | Socket | 2024 Jan 25 | npm 被 748 个存储电影的文件包淹没 | Sonatype | 2024 Jan 3 | 一个包含注册表级依赖的 everything 包阻止了其他包被取消发布 | SC Media | 2023 Dec 14 | Ledger 供应链安全攻击,引入加密货币排空器恶意软件 (@ledgerhq/connect-kit) | Sonatype, 推文 1 2 3 4 5 6 7 8 | 2023 Sep 27 | 伪造的 Dependabot 提交窃取 GitHub 令牌并将恶意软件注入 JavaScript 文件 | Checkmarx | 2023 Jun 27 | 清单混淆——npm 包管理器新公开的漏洞,展示包元数据不一致性 | Darcy Clarke's blog | 2023 Jun 23 | 朝鲜攻击者利用社会工程学和逆向工程对 npm 发动供应链攻击 | Phylum | 2023 Jun 15 | 供应链攻击利用废弃 S3 存储桶分发针对 bignum npm 包 的恶意二进制文件 | The Hacker News, Checkmarx | 2023 Jun 06 | ChatGPT 推荐的包可能被用于供应链攻击向量 | Vulcan | 2023 Feb 16 | 研究人员劫持下载量达数百万的流行 NPM 包 | Illustria on The Hacker News | 2023 Feb 10 | 研究人员发现 PyPI Python 包中的混淆恶意代码,也涉及 npm 生态系统证据 | The Hacker News | 2023 Jan 29 | Phylum 识别出 137 个恶意 npm 包 | phylum | 2022 Nov 29 | 隐形 npm 恶意软件可能隐藏在精心制作的版本中,绕过 npm audit 的安全检查 | JFrog | 2022 Nov 24 | Phylum 团队捕获声称是图像压缩工具的恶意 npm 包 imagecompress-mini | Louisw Lang on Twitter | 2022 Oct 12 | Aqua 安全发现 npm 漏洞,允许泄露注册表中私有托管的 npm 包 | Aqua | 2022 Oct 07 | LofyGang 分发约 200 个恶意 NPM 包以窃取信用卡数据 | TheHackerNews | 2022 Sep 23 | 流行加密货币交易所 dYdX 的 NPM 账户被黑 | Mend | 2022 Jul 29 | 恶意包 small-sm、pern-valids、lifeculer 和 proc-title 针对窃取信用卡信息和 Discord 令牌 | darkreading | 2022 May 26 | 被窃的 oAuth GitHub 令牌导致 npm 安全漏洞,用户账户元数据、私有包及日志中的明文密码被泄露 | GitHub | 2022 May 24 | 利用依赖混淆攻击的恶意 npm 包 | Snyk, Snyk | 2022 May 23 | 因域名过期导致 npm 包被劫持 | TheRegister | 2022 Apr 05 | 新的 npm 缺陷使得攻击者更容易针对包进行账户接管 | Aqua | 2022 Apr 26 | npm 包种植 | Aqua, The Hacker News | 2022 Mar 31 | 来自 styled-components 的更多抗议软件 | Checkmarx Security blog | 2022 Mar 18 | 来自 es5-ext 和 event-source-pollyfill 的更多抗议软件 | Snyk advisory for event-source-pollyfill, es5-ext commit, ArsTechnica | | 2022 March 16 | node-ipc 包中的 peacenotwar 模块破坏 npm 开发者,以抗议入侵乌克兰 | Snyk blog, Darkreading, SC Magazine | | 2022 Mar 7 | 恶意包被抓获通过合法 Webhook 服务窃取数据 | Checkmarx Security blog | | 2022 Feb 22 | 因域名抢注攻击产生的 25 个恶意 JavaScript 库 | TheHackerNews | | 2022 Feb 11 | 2,818 个 npm 账户使用域名已过期的电子邮件地址 | TheRecord | | 2021 Dec 08 | 17 个 JavaScript 库包含恶意代码,用于收集和窃取用户计算机上的 Discord 访问令牌及环境变量 - | TheRecord | | 2021 December 01 | Bladabindi 木马和远程访问木马恶意软件 | Sonatype | | 2021 November 04 | coa 和 rc 包 - 流行的 npm 库 'coa' 今天被劫持,注入了恶意代码,暂时影响了全球的 React 流水线 | Bleepingcomputer, the record, npm tweet, npm tweet for rc. | | 2021 October 27 | noblox.js-proxy 和 noblox.js - 针对官方 Roblox API 和 SDK npm 包(noblox.js)用户的域名抢注 npm 包 | the register | | 2021 October 22 | ua-parser-js - 流行 NPM 包 ua-parser-js 的版本被发现包含恶意代码 | Cybersecurity and Infrastructure Security Agency (CISA), github issue, IOCs, portswigger, theregister | | 2021 September 02 | pac-resolver - 可能让本地网络上的威胁行为者每次 Node.js 进程尝试发出 HTTP 请求时执行任意代码 | arstechnica.com | | 2021 August 07 | npm 包所有权流程反噬,暴露了供应链安全风险的潜在向量 | Twitter | | 2021 April 13 | 新 Linux、macOS 恶意软件隐藏在虚假 Browserify NPM 包中:web-browserify | Bleepingcomputer. | | 2020 December 02 | jdb.js - db-json.js - 抓获的恶意 npm 包安装远程访问木马 | zdnet.com, Bleepingcomputer. | | 2020 November 09 | discord 恶意 npm 包 - 抓获的 npm 包窃取敏感 Discord 和浏览器文件 | sonatype, zdnet. | | 2020 November 03 | twilio-npm - 恶意 npm 包在程序员计算机上开后门 | zdnet | | 2020 August 29 | fallguys - 窃取敏感文件的恶意包 | zdnet | | 2020 April 27 | is-promise - 单行库破坏了整个生态系统 | Forbes Lindesay - Maintainer post-mortem, snyk's postmortem | | 2019 August 22 | bb-builder - 针对 Windows 系统的恶意包,用于窃取信息并发送到远程服务 | Snyk, Reversing Labs, Bleeping Computer | | 2019 June 05 | EasyDEX-GUI - npm 包 event-stream 中发现恶意代码 | npm, snyk, komodo announcement | | 2018 November 27 | event-stream - npm 包 event-stream 中发现恶意代码 | github issue snyk, snyk's postmortem, schneid, intrinsic, npm, jayden, hillel wayne's postmortem | | 2018 July 12 | eslint - npm 包 eslint-scope 和 eslint-config-eslint 中发现恶意包 | github issue, eslint tweet, eslint's postmortem, nodesource's postmortem, npm's statement | | 2018 May 02 | getcookies - 恶意包 getcookies 嵌入到更高层级的 express 相关包中 | GitHub issue, npm, bleepingcomputer.com, Snyk’s getcookies vulnerability page, Hacker News | | 2018 Feb 13 | 拥有 conventional-changelog npm 包访问权限的维护者账户被攻陷,在 1 天 11 小时内发布了恶意软件 | conventional-changelog repository update | 2017 August 02 | crossenv - 恶意域名抢注包 crossenv 窃取环境变量 | CJ blog on typosquat packages, Typosquatting research paper, bleepingcomputer.com, Snyk’s crossenv vulnerability page, Hacker News | | 2016 March 22 | left-pad - 一个开发者如何用 11 行 JavaScript 破坏了 Node、Babel 和数千个项目 | left-pad.io, The Register, qurtaz. |Follow-up notes:

    • 恶意事件的一个资源是 BadJS - 一个恶意JavaScript仓库,这些JavaScript来自网站、扩展、npm包以及JavaScript存在的任何地方。
    • npm zoo 是一个档案库,用于保存原始恶意包的源代码,仅供教育目的。

    教育

    新闻通讯

    • Node.js Security newsletter - JavaScript 与 Web 安全见解、最新安全漏洞、实战安全代码见解、npm 生态系统事件、Node.js 运行时功能更新、Bun 和 Deno 运行时更新、安全编码最佳实践、恶意软件、恶意包等。

    文章

    • Node.js 安全路线图 (原域名 https://nodesecroadmap.fyi/ 不可用。见 #42)
    • 10 个 npm 安全最佳实践
    • OWASP 速查表系列 - Node.js 安全速查表
    • 什么是后门?让我们用 Node.js 构建一个
    • 恶意包的剖析
    • 为什么 npm lockfile 可能成为注入恶意模块的安全盲点
    • 使用 GitHub Actions 安全发布 npm 包
    • Top 11 Node.js 安全最佳实践 | Sqreen.com
    • 原型污染的故事
    • 保护你的 GitHub 组织
    • 研究案例:大规模供应链安全 – npm 账户劫持分析
    • npm 安全最佳实践
    • 文档攻击面:npm 库如何教授不安全模式 - 分析流行的 npm 库如何在 README 示例中教授不安全模式(尽管默认配置是安全的),涵盖 4 个包,每周总下载量超过 1.8 亿次。

    研究论文

    • 深入探讨 Visual Studio Code 扩展安全漏洞

    书籍

    • 保护你的 Node.js Web 应用:将攻击者拒之门外,让用户满意 Karl Duuna 著,2016 年
    • Essential Node.js Security Liran Tal 著,2017 年 - 提供丰富的源代码,手把手指导保护 Node.js Web 应用的实用指南。
    • 保护 Node JS 应用 Ben Edmunds 著,2016 年 - 学习高级开发人员通常需要多年经验才能掌握的安全基础知识,全部浓缩在一本快速简易的手册中。
    • Web 开发者安全工具箱 - Node.js 与 Web 安全书籍合集。
    • Thomas Gentilhomme 的书籍: 成为 Node.js 开发者
    • Node.js 安全编码:防御命令注入漏洞
    • Node.js 安全编码:预防与利用路径遍历漏洞
    • Node.js 安全编码:缓解与武器化代码注入漏洞

    路线图

    • Node.js 开发者路线图

    公司

    • Snyk - 开发者优先的解决方案,自动发现并修复依赖中的漏洞。
    • Datadog ASM - 应用安全监控,提供实时威胁检测与防护(原 Sqreen,2021 年被收购)。
    • NodeSource - 关键任务的 Node.js 应用。提供 N|Solid 和 Node Certified Modules。
    • GuardRails - 一款 GitHub 应用,在 Pull Request 中即时提供安全反馈。
    • NodeSecure - 一个开发者组织,开发免费开源的 JavaScript/Node.js 安全工具。

    黑客练习场

    • OWASP NodeGoat - OWASP NodeGoat 项目提供一个环境,用于学习 OWASP Top 10 安全风险如何应用于使用 Node.js 开发的 Web 应用,以及如何有效应对。
    • OWASP Juice Shop - OWASP Juice Shop 是一个故意不安全的 Web 应用,专为安全培训设计,完全用 Javascript 编写,涵盖整个 OWASP Top Ten 及其他严重安全缺陷。
    • DomGoat - 客户端 XSS 发生在不可信数据从源头进入接收器时。左侧菜单提供了关于不同源头、不同接收器以及由此产生的 XSS 示例的信息和练习。

    贡献

    发现与 Node.js 安全相关的优秀项目、包、文章或其他类型的资源?请给我发送一个 pull request! 只需遵循 指南。谢谢!


    在 Twitter 上打个招呼

    许可证

    CC0

    下载工具