Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Investigate Detection for Prototype Pollution

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

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
38/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
停滞
技术栈
git, typescript

调研方向

Start by searching the OSSF CVE Benchmark dataset for prototype-pollution examples, then use archeogit or manual git history inspection to identify introducing commits and save the vulnerable diffs. Run /security:analyze to establish a baseline, review GEMINI.md if detection needs improvement, and re-run it after the prompt and benchmark updates. Done means improved detection and 3-5 clear examples added to the official internal benchmark dataset.

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

描述

Description

Prototype pollution is a critical JavaScript vulnerability where an attacker can modify the prototype of a base object. This can lead to application-wide logic tampering, cross-site scripting (XSS), denial of service (DoS), or even remote code execution.

We need to ensure our security extension can effectively identify these vulnerabilities in code changes e.g. see https://github.com/gemini-cli-extensions/security/issues/90. This investigation will involve curating a dataset of real-world examples, baselining our current detection capabilities, enhancing our prompt, and updating our benchmark dataset to prevent regressions.

Action Items
  • [ ] 1. Data Curation & Analysis
    • [ ] Systematically search the OSSF CVE Benchmark dataset for clear examples of prototype pollution vulnerabilities (e.g., CVEs related to unsafe object merges).
  • [ ] 2. Vulnerability Introduction Analysis
    • [ ] For a curated subset (5-10) of the best examples, use archeogit or manual git history inspection to find the specific commit that introduced the vulnerability.
    • [ ] Save these "vulnerable diffs" for testing.
  • [ ] 3. Baseline Current Capabilities
    • [ ] Run the current security extension (/security:analyze) against the collection of vulnerable diffs.
    • [ ] Document the detection rate (e.g., "Detected 1/10"). This is our baseline.
  • [ ] 4. Enhance Detection Prompt (If Necessary)
    • [ ] Based on the results from step 3, update the GEMINI.md prompt.
    • [ ] Add "Prototype Pollution" as a new item, likely under the "Injection Vulnerabilities" category.
    • [ ] The new prompt instruction should guide the model to look for the specific patterns identified in step 1 (e.g., "Analyze for prototype pollution vulnerabilities, such as unsafe recursive object merges or direct modification of __proto__ or constructor.prototype from user-controlled input.").
  • [ ] 5. Validate and Update Benchmark
    • [ ] Re-run the security extension (with the updated prompt) against the vulnerable diffs and confirm the detection rate has improved significantly.
    • [ ] Select the 3-5 clearest examples and add them to our official internal benchmark dataset to ensure we continue to catch this vulnerability class in the future.
主要语言
TypeScript
星标
793
派生
59
PR 合并指标
30 天内没有已合并 PR

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

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

gemini-cli-extensions/security 的其他 Issue

查看 gemini-cli-extensions/security 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

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