Files
Charon/docs/reports/qa_report.md
GitHub Actions 5de0492a2b chore: refactor end-to-end tests for emergency server and feature toggles
- Implemented tests for the emergency server (Tier 2) to validate health checks, security reset functionality, and independent access.
- Created a comprehensive suite for system settings feature toggles, ensuring proper state management and API call metrics reporting.
- Removed redundant feature toggle tests from the system settings spec to maintain clarity and focus.
- Enhanced test isolation by restoring default feature flag states after each test.
2026-02-09 04:49:32 +00:00

112 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# QA & Security Report
**Date:** 2026-02-09
**Status:** 🔴 FAILED
**Evaluator:** GitHub Copilot (QA Security Mode)
## Executive Summary
Verification ran per request. Non-security shard hit ACL blocking; security shard ran the emergency reset but failed during advanced scenarios.
| Check | Status | Details |
| :--- | :--- | :--- |
| **Playwright: Non-security shard (tests/settings)** | 🔴 FAIL | ACL 403 during auth setup; confirmed global-setup skip log |
| **Playwright: Security shard (system-settings-feature-toggles)** | 🔴 FAIL | Emergency reset ran; multiple failures + ECONNREFUSED |
| **Security: Trivy Scan (filesystem)** | 🟢 PASS | No issues found |
| **Security: CodeQL Go Scan (CI-Aligned)** | 🟢 PASS | Completed; review [codeql-results-go.sarif](codeql-results-go.sarif) |
| **Security: CodeQL JS Scan (CI-Aligned)** | 🟢 PASS | Completed; review [codeql-results-js.sarif](codeql-results-js.sarif) |
| **Security: Docker Image Scan (Local)** | 🟡 INCONCLUSIVE | Build output logged; completion summary not emitted |
---
## 1. Verification Results
### Non-Security Shard - FAILED
**Expected log observed (verbatim):**
```
⏭️ Security tests disabled - skipping authenticated security reset
```
**Failure Output (verbatim):**
```
Error: GET /api/v1/setup failed with unexpected status 403: {"error":"Blocked by access control list"}
```
### Security Shard - FAILED
**Expected log observed (verbatim):**
```
🔓 Performing emergency security reset...
```
**Failure Output (verbatim):**
```
✘ 7 …Scenarios (Phase 4) should handle concurrent toggle operations (6.7s)
✘ 8 …Scenarios (Phase 4) should retry on 500 Internal Server Error (351ms)
✘ 9 …Scenarios (Phase 4) should fail gracefully after max retries exceeded (341ms)
✘ 10 …Scenarios (Phase 4) should verify initial feature flag state before tests (372ms)
Error verifying security state: apiRequestContext.get: connect ECONNREFUSED 127.0.0.1:8080
```
---
## 2. Security Scans
### Trivy (filesystem) - PASS
**Output (verbatim):**
```
[SUCCESS] Trivy scan completed - no issues found
[SUCCESS] Skill completed successfully: security-scan-trivy
```
### CodeQL Go - PASS
**Output (verbatim):**
```
Task completed with output:
* Executing task in folder Charon: rm -rf codeql-db-go && codeql database create codeql-db-go --language=go --source-root=backend --codescanning-config=.github/codeql/codeql-config.yml --overwrite --threads=0 && codeql database analyze codeql-db-go --additional-packs=codeql-custom-queries-go --format=sarif-latest --output=codeql-results-go.sarif --sarif-add-baseline-file-info --threads=0
```
### CodeQL JS - PASS
**Output (verbatim):**
```
UnsafeJQueryPlugin.ql : shortestDistances@#ApiGraphs::API::Imp
Xss.ql : shortestDistances@#ApiGraphs::API::Imp
XssThroughDom.ql : shortestDistances@#ApiGraphs::API::Imp
SqlInjection.ql : shortestDistances@#ApiGraphs::API::Imp
CodeInjection.ql : shortestDistances@#ApiGraphs::API::Imp
ImproperCodeSanitization.ql : shortestDistances@#ApiGraphs::API::Imp
UnsafeDynamicMethodAccess.ql : shortestDistances@#ApiGraphs::API::Imp
ClientExposedCookie.ql : shortestDistances@#ApiGraphs::API::Imp
BadTagFilter.ql : shortestDistances@#ApiGraphs::API::Imp
DoubleEscaping.ql : shortestDistances@#ApiGraphs::API::Imp
```
### Docker Image Scan (Local) - INCONCLUSIVE
**Output (verbatim):**
```
[INFO] Executing skill: security-scan-docker-image
[WARNING] Syft version mismatch - CI uses v1.17.0, you have 1.41.2
[WARNING] Grype version mismatch - CI uses v0.107.0, you have 0.107.1
[BUILD] Building Docker image: charon:local
```
---
## 3. Notes
- Some runner outputs were truncated; the report includes the exact emitted text where available.
---
## 4. Next Actions Required
1. Resolve ACL 403 blocking auth setup in non-security shard.
2. Investigate ECONNREFUSED during security shard advanced scenarios.
3. Re-run Docker image scan to capture the final vulnerability summary.