Skip to content

Commit 9486fed

Browse files
authored
docs: add private security reporting policy (#221)
1 parent 5f7d134 commit 9486fed

7 files changed

Lines changed: 84 additions & 3 deletions

File tree

CONTRIBUTING.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ docs: 更新 README 工具列表
133133

134134
- Issues: https://github.com/chicogong/html-tools/issues
135135
- Discussions: https://github.com/chicogong/html-tools/discussions
136+
- 安全漏洞:请阅读 [SECURITY.md](SECURITY.md) 并使用 GitHub 私密漏洞报告,不要创建公开 Issue
136137

137138
## 许可证
138139

README.en.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ The current suite checks tool metadata, generated indexes, HTML structure, redir
8787
Bug fixes, accessibility improvements, documentation, translations, and carefully scoped new tools are welcome. Start with [CONTRIBUTING.md](CONTRIBUTING.md), use the shared design system, and keep network and privacy boundaries explicit.
8888

8989
- [Report a bug](https://github.com/chicogong/html-tools/issues/new?template=bug_report.yml)
90+
- [Report a security vulnerability privately](https://github.com/chicogong/html-tools/security/advisories/new)
9091
- [Propose a tool](https://github.com/chicogong/html-tools/issues/new?template=new_tool.yml)
9192
- [Open a pull request](https://github.com/chicogong/html-tools/pulls)
9293
- [Join Discussions](https://github.com/chicogong/html-tools/discussions)

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -601,8 +601,9 @@ CI 会自动检查同步状态,如果 `tools.json` 和 `index.html` 不一致
601601
### 贡献方式
602602

603603
1. **报告 Bug**: 在 [Issues](https://github.com/chicogong/html-tools/issues) 中描述问题
604-
2. **建议功能**: 在 Issues 中提出新工具或功能建议
605-
3. **提交代码**: Fork 仓库,创建分支,提交 PR
604+
2. **报告安全漏洞**: 使用 [GitHub 私密漏洞报告](https://github.com/chicogong/html-tools/security/advisories/new),请勿公开未修复细节
605+
3. **建议功能**: 在 Issues 中提出新工具或功能建议
606+
4. **提交代码**: Fork 仓库,创建分支,提交 PR
606607

607608
### 提交 PR
608609

SECURITY.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Security Policy
2+
3+
[English](#english) | [简体中文](#简体中文)
4+
5+
## English
6+
7+
### Supported versions
8+
9+
Security fixes are applied to the current production deployment and the latest release. Older release archives are not maintained after a newer version is published.
10+
11+
| Version | Supported |
12+
| ----------------------------------- | --------- |
13+
| Current production / latest release | Yes |
14+
| Earlier releases | No |
15+
16+
### Report a vulnerability privately
17+
18+
Do not open a public issue for a suspected vulnerability or include secrets, personal data, access tokens, or an unpatched proof of concept in public discussions.
19+
20+
Use [GitHub private vulnerability reporting](https://github.com/chicogong/html-tools/security/advisories/new). Include, when possible:
21+
22+
- the affected tool URL, file, release, or commit;
23+
- the security impact and who may be affected;
24+
- minimal reproduction steps or a sanitized proof of concept;
25+
- relevant browser, operating system, and standalone-export context;
26+
- any known mitigation or suggested fix.
27+
28+
We aim to acknowledge a report within 7 calendar days and provide an initial assessment within 14 calendar days. These are response targets, not guarantees. Please allow time for a fix and coordinated disclosure before publishing details.
29+
30+
### Scope
31+
32+
Useful reports include:
33+
34+
- script injection or unsafe HTML execution caused by WebUtils code;
35+
- unintended disclosure or transmission of input that is documented as local;
36+
- unsafe external requests, permission handling, or standalone-export behavior;
37+
- compromised dependencies, release archives, checksums, or repository automation;
38+
- credentials or sensitive personal paths committed to the public repository.
39+
40+
Usually out of scope:
41+
42+
- behavior controlled entirely by an external API, CDN, browser, or extension;
43+
- self-XSS that requires pasting and executing code with no boundary bypass;
44+
- availability or rate limits of third-party services;
45+
- unsupported browsers or theoretical issues without a practical security impact.
46+
47+
## 简体中文
48+
49+
### 支持范围
50+
51+
安全修复面向当前生产版本和最新 Release。新版本发布后,旧版发布归档不再继续维护。
52+
53+
| 版本 | 是否支持 |
54+
| ------------------------- | -------- |
55+
| 当前生产版 / 最新 Release ||
56+
| 更早的 Release ||
57+
58+
### 私密报告漏洞
59+
60+
请勿为疑似漏洞创建公开 Issue,也不要在公开 Discussions 中提交密钥、个人数据、访问令牌或尚未修复的利用细节。
61+
62+
请使用 [GitHub 私密漏洞报告](https://github.com/chicogong/html-tools/security/advisories/new),并尽量提供:
63+
64+
- 受影响的工具 URL、文件、Release 或 Commit;
65+
- 安全影响与可能受影响的用户;
66+
- 最小复现步骤或已脱敏的概念验证;
67+
- 相关浏览器、操作系统与 standalone 导出环境;
68+
- 已知缓解方案或修复建议。
69+
70+
我们的目标是在 7 个自然日内确认收到报告,并在 14 个自然日内给出初步评估。这是响应目标,不是时限保证。在修复和协调披露完成前,请暂缓公开细节。
71+
72+
### 适用范围
73+
74+
欢迎报告:WebUtils 代码导致的脚本注入、标称本地处理的输入被意外传输、不安全的外部请求或权限处理、standalone 导出边界问题、依赖/归档/校验和仓库自动化供应链问题,以及公开仓库中的凭据或敏感个人路径。
75+
76+
通常不在范围内:完全由外部 API、CDN、浏览器或扩展控制的行为;需要用户自行粘贴并执行代码且没有突破信任边界的 self-XSS;第三方服务的可用性或限流;不支持的浏览器;没有实际安全影响的理论问题。

scripts/check-release-artifact.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ const requiredFiles = [
1111
'sitemap.xml',
1212
'README.md',
1313
'README.en.md',
14+
'SECURITY.md',
1415
'LICENSE',
1516
'NOTICE'
1617
];

scripts/copy-to-dist.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ const INCLUDE_FILES = [
2525
'offline.html',
2626
'README.md',
2727
'README.en.md',
28+
'SECURITY.md',
2829
'CHANGELOG.md',
2930
'LICENSE',
3031
'NOTICE',

scripts/create-release-artifacts.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ sha256sum --check SHA256SUMS
4747

4848
zip_entries=$(unzip -Z1 "$zip_path" | sed 's#^\./##')
4949
tar_entries=$(tar -tzf "$tar_path" | sed 's#^\./##')
50-
for required_file in index.html manifest.json sitemap.xml README.md README.en.md LICENSE NOTICE; do
50+
for required_file in index.html manifest.json sitemap.xml README.md README.en.md SECURITY.md LICENSE NOTICE; do
5151
if ! grep -Fqx "$required_file" <<<"$zip_entries"; then
5252
echo "$zip_path is missing $required_file" >&2
5353
exit 1

0 commit comments

Comments
 (0)