helmet
10,749
Stars
412
Forks
96
Watchers
4
Open Issues
MIT
许可证
TypeScript
语言
2012-02-01
创建时间
2026-11-01
最近更新
项目能做什么
通过设置各种 HTTP 请求头来增强 Express 应用安全性的中间件。
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
# Helmet
Helmet helps secure Node/Express apps. It sets HTTP response headers such as `Content-Security-Policy` and `Strict-Transport-Security`. It aims to be quick to integrate and be low maintenance afterward.
## Quick start
```javascript
import helmet from "helmet";
const app = express();
app.use(helmet());
```
This will set 13 HTTP response headers in your app.
See [the docs](https://helmet.js.org/) for more info, including [the FAQ](https://helmet.js.org/faq/).
## Configuration
Each header can be disabled. To disable a header:
```js
// Disable the Content-Security-Policy and X-Download-Options headers
app.use(
helmet({
contentSecurityPolicy: false,
xDownloadOptions: false,
}),
);
```
To configure a header, pass header-specific options:
```js
// Configure the Content-Security-Policy header.
app.use(
helmet({
contentSecurityPolicy: {
directives: {
"script-src": ["'self'", "example.com"],
},
},
}),
);
```
## HTTP header reference
<details id="content-security-policy">
<summary><code>Content-Security-Policy</code></summary>
Default (formatted for readability):
```
Content-Security-Policy:
default-src 'self'
base-uri 'self'
font-src 'self' https: data:
form-action 'self'
frame-ancestors 'self'
img-src 'self' data:
object-src 'none'
script-src 'self'
script-src-attr 'none'
style-src 'self' https: 'unsafe-inline'
upgrade-insecure-requests
```
The `Content-Security-Policy` header mitigates a large number of attacks, such as [cross-site scripting][XSS]. See [MDN's introductory article on Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP).
This header is powerful but likely requires some configuration for your specific app.
To configure this header, pass an object with a nested `directives` object. Each key is a directive name in camel case (such as `defaultSrc`) or kebab case (such as `default-src`). Each value is an array (or other iterable) of strings or functions for that directive. If a function appears in the array, it will be called with the request and response objects.
```javascript
// Sets all of the defaults, but overrides `script-src`
// and disables the default `style-src`.
app.use(
helmet({
contentSecurityPolicy: {
directives: {
"script-src": ["'self'", "example.com"],
"style-src": null,
},
},
}),
);
```
```js
// Sets the `script-src` directive to
// "'self' 'nonce-e33cc...'"
// (or similar)
app.use((req, res, next) => {
res.locals.cspNonce = crypto.randomBytes(32).toString("hex");
next();
});
app.use(
helmet({
contentSecurityPolicy: {
directives: {
scriptSrc: ["'self'", (req, res) => `'nonce-${res.locals.cspNonce}'`],
},
},
}),
);
```
These directives are merged into a default policy, which you can disable by setting `useDefaults` to `false`.
```javascript
// Sets "Content-Security-Policy: default-src 'self';
// script-src 'self' example.com;obje
阅读完整原文
项目深度分析 AI 生成
CSP 策略可视化调优与 Report-Only 监控 SaaS
| 产品构想 | 针对 README 中指出的 Content-Security-Policy 需要按应用定制配置及支持 Report-Only 模式的特点,提供免自建后端的违规报告接收端点(Reporting Endpoint),自动聚合线上触发的违规资源请求,并反向生成可直接粘贴使用的 Helmet contentSecurityPolicy 配置代码。 |
| 核心功能 | CSP Report-Only 报告高并发接收接口、违规来源去重与聚类看板、Helmet directives(camelCase/kebab-case)配置代码一键导出、异常突发告警。 |
| 目标用户 | 需要启用严格 CSP 防护但担心误杀线上第三方脚本或样式的 Node.js/Express 开发团队(推测)。 |
| 难度/周期 | 中等 · 1-2个月完成 MVP · 成本:低(主要为轻量云主机、日志存储与域名成本,推测) |
| 收费模式 | 按月订阅制,提供基础免费额度,按月度报告事件量或接入站点数量阶梯收费(推测)。 |
| 竞争风险 | 部分开发者可能直接关闭 CSP(通过 contentSecurityPolicy: false)或使用自有日志系统接收报告,导致付费意愿不足;主流错误监控平台已提供部分 CSP 上报功能,存在同质化竞争(推测)。 |
| 依据 | 尚需验证的假设 |
面向 Express/Helmet 的 CI/CD 安全头配置审计工具
| 产品构想 | 开发专用于代码仓库与预发环境的自动化审查工具(如 GitHub App / CLI),针对 Helmet 管理的 13 个响应头及 README 中警示的危险配置(如使用 dangerouslyDisableDefaultSrc、保留 unsafe-inline 或直接禁用关键头)进行静态代码检查与运行时响应头核验。 |
| 核心功能 | AST 静态扫描识别 Helmet 弱配置与缺失项、PR 自动评论修复建议(如动态 nonce 改造示例)、部署后 HTTP 响应头实测评分与合规基线报告。 |
| 目标用户 | 注重 DevSecOps 流水线规范、需要自动化安全门禁的中小型软件团队(推测)。 |
| 难度/周期 | 中低 · 3-6周完成 MVP · 成本:极低(无状态扫描或轻量 Serverless 架构即可运行,推测) |
| 收费模式 | Marketplace 订阅制,开源/个人仓库免费,企业私有仓库按席位或仓库数量按月收费(推测)。 |
| 竞争风险 | 免费在线 HTTP Header 检测站及综合型代码安全扫描器已覆盖基础检查,单一针对 HTTP 安全头的工具可能难以支撑独立订阅客单价(推测)。 |
| 依据 | AI推测 |
Express 安全基线审计与企业合规配置服务
| 产品构想 | 结合该项目在 Node.js 生态的高普及度(10748 Star)及 MIT 协议自由度,为缺乏专职安全工程师的企业提供标准化的 HTTP 安全头落地改造与合规顾问服务,解决如动态 script-src nonce 改造、老旧前端依赖兼容 CSP 等工程化难题。 |
| 核心功能 | 现网 HTTP 安全头深度评估、Helmet 定制化安全策略与 Nonce 中间件代码交付、跨团队联调支持与安全整改证明文档。 |
| 目标用户 | 面临第三方安全渗透测试或行业合规审计压力的中小企业研发团队(推测)。 |
| 难度/周期 | 低 · 1-2周即可启动服务交付 · 成本:极低(主要投入个人时间成本与基础案例展示页,推测) |
| 收费模式 | 按项目一次性收取改造与审计费用,或作为年度 Node.js 安全顾问服务打包收费(推测)。 |
| 竞争风险 | 由于 Helmet 本身极度稳定(2012 年创建至今仅 4 个开放 Issue)且定位低维护,单纯针对 Helmet 的咨询需求体量有限,往往需要扩展至整个 Express/Web 应用安全栈才能成单;且服务模式难以规模化(推测)。 |
| 依据 | 数据支持的判断 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
| 项目 | 中文简介 | Stars | 语言 |
|---|---|---|---|
| nfl/react-helmet | 中文介绍暂未生成 A document head manager for React |
17,436 | JavaScript |
| staylor/react-helmet-async | 中文介绍暂未生成 Thread-safe Helmet for React 16+ and friends |
2,299 | TypeScript |
| njvisionpower/Safety-Helmet-Wearing-Dataset | 中文介绍暂未生成 Safety helmet wearing detect dataset, with pretrained model |
1,736 | Python |
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。
项目优势与风险
| 技术成熟度 | 创建于 2012-02-01,近 30 天仍在推送 |
| 社区活跃 | Star 10,749 / Fork 412 / Issue 4(数据支持,可自行核实) |
| 许可证 | MIT |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。