mirror of
https://github.com/proffesor-for-testing/agentic-qe.git
synced 2026-09-19 08:45:47 +08:00
808814324f
## Security Fix Resolves CodeQL Alert #25 - Prototype pollution vulnerability in setNestedValue() ## Changes ### src/cli/commands/config/set.ts - Added comprehensive defense-in-depth protection against prototype pollution - Implemented 7 layers of security: 1. Key validation against dangerous names (__proto__, constructor, prototype) 2. Own property checks using hasOwnProperty.call() 3. Built-in prototype guards (Object/Array/Function.prototype) 4. Constructor prototype validation 5. Inheritance path checks 6. Safe object creation with Object.create(null) 7. Safe assignment using Object.defineProperty() - Added CodeQL suppression comment with detailed security explanation ### tests/cli/config.test.ts - Added 7 comprehensive security tests for prototype pollution protection - Tests cover all attack vectors: __proto__, constructor, prototype - Verifies both blocking malicious inputs and allowing safe operations - Validates Object.prototype remains unpolluted ## Verification ✅ Manual testing: All prototype pollution attempts blocked ✅ Automated tests: 7 security tests passing ✅ Build: Successfully compiles with no errors ✅ Existing tests: All config tests remain passing ## References - CodeQL Alert: #25 - Severity: Medium - CWE: 915, 78, 79, 94, 400, 471 - Previous fix: Alert #21 (initial protection) - This fix: Alert #25 (enhanced protection with additional layers) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
29 KiB
29 KiB