Investigate Detection for Prototype Pollution
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 38/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- git, typescript
- 领域
- security, testing-qa
调研方向
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 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
gemini-cli-extensions/security 的其他 Issue
-
Help未关闭
难度 1/5 1 小时以内 新手友好度 10/100
-
[Feature Request - Codemaps] Deduplicate Structural Graph Edges and Augment with Metadata (Call Sites)可能重新可做 @satvikkk 于 252 天前认领,目前没有进行中的 PR。 未关闭enhancement
gemini-cli-extensions/security#141 · 已指派 1 人 ·
-
难度 3/5 1-2 天 新手友好度 45/100
gemini-cli-extensions/security#133 · 3 条评论 ·
-
难度 4/5 3-5 天 新手友好度 35/100
-
难度 5/5 一周以上 新手友好度 20/100
查看 gemini-cli-extensions/security 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 68/100
outline/outline#14348 · 1 条评论 ·
维护者通常 1 天内回复
-
bug needs-triage
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
[Bug]: Agent import retains quotes in .env API keys followed by inline comments可能已有人在做 @yxr-2025 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 76/100
awslabs/visual-asset-management-system#804 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 68/100
dsh-market/dsh-market#1027 · 1 条评论 ·
维护者通常 1 天内回复