security-policy: the Kubernetes SECURITY_CONTACTS convention and a SECURITY.md with an obfuscated address + PGP fingerprint are not recognised

未关闭
#242 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
python
领域
devtools, security

调研方向

The payload does not name the source file that implements the security-policy check, so first locate it in the Python validator. Reproduce the two cases: a directory containing only a SECURITY_CONTACTS file with the two Kubernetes header lines, and a SECURITY.md with a ## Reporting a Vulnerability heading and an obfuscated address. Done when both produce the expected result and the expectations in corpus/ are updated to match. The issue leaves open whether the heading alone should count, so confirm that with maintainers first.

由索引模型根据 Issue 内容生成。

描述

kubespray follows the Kubernetes organisation's SECURITY_CONTACTS file (header points to kubernetes.io/security, private reporting to the Product Security Committee) → WARN "no security policy"; Catch2's SECURITY.md has a "Reporting a Vulnerability" section with a spam-obfuscated email and a PGP fingerprint → WARN "does not say how to report".

Evidence from the corpus audit

kubernetes-sigs/kubespray / security-policy
  • kind: UNSUPPORTED
  • actual: WARN "no security policy / add a SECURITY.md that says how to report a vulnerability privately"
  • expected: PASS or at least a mention: the repository follows the Kubernetes-organisation convention,
    SECURITY_CONTACTS, whose header tells reporters to follow https://kubernetes.io/security/ (private reporting to
    the Kubernetes Product Security Committee). Every kubernetes/ and kubernetes-sigs/ repository has this file
    (kubernetes/examples in this batch has both and passes on its SECURITY.md).
  • evidence: SECURITY_CONTACTS:10-11: # DO NOT REPORT SECURITY VULNERABILITIES DIRECTLY TO THESE NAMES, FOLLOW THE /
    # INSTRUCTIONS AT https://kubernetes.io/security/; find . -iname 'SECURITY*' → only ./SECURITY_CONTACTS.
  • repro: a repo with SECURITY_CONTACTS containing those two header lines and no SECURITY.md.
  • confidence: medium
catchorg/Catch2 / security-policy
  • kind: FALSE_NEGATIVE
  • actual: WARN: SECURITY.md does not say how to report a vulnerability
  • expected: PASS: SECURITY.md has a "Reporting a Vulnerability" section with a (spam-obfuscated) email address and
    a PGP fingerprint.
  • evidence: SECURITY.md:12: ## Reporting a Vulnerability; :18-20: However, if you find one you send email to martin <dot> horenovsky <at> / gmail <dot> com. If you want to encrypt the email, my pgp key is /
    `E29C 46F3 B8A7 5028 6079 3B7D ECC9 C20E 314B 2360`.
  • repro: a SECURITY.md with "## Reporting a Vulnerability" and name <at> example <dot> com; expect PASS (or
    accept the heading alone as "says how").
  • confidence: medium

Found by the regression-corpus audit (235 real repositories, one or more per ecosystem profile; corpus and expected results in corpus/). Evidence is quoted from the audited checkouts at the commits pinned in corpus/projects.toml; <checkouts>/<owner>__<repo> is such a checkout.

🤖 Generated with Claude Code

https://claude.ai/code/session_01ByTXNqDWdM7HzezrFtEvQt

主要语言
Python
星标
4
派生
1
平均合并
10 小时 41 分钟
30 天内合并 PR
79

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

cpp-best-practices/project_validator 的其他 Issue

查看 cpp-best-practices/project_validator 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。