Skip to content

Latest commit

 

History

History
48 lines (34 loc) · 2.66 KB

File metadata and controls

48 lines (34 loc) · 2.66 KB

Security Review & Audit (2026)

Date: February 9, 2026 Reviewer: Rahul Dass (Lead Maintainer) & Automated Systems Status: ✅ Passed

Overview

This document summarizes the security review performed for the OpenSSF Best Practices Gold Badge. The review covers the QWED Verification Protocol (v3.0.1) and its associated SDKs.

Methodology

The security review was conducted using a combination of:

  1. Automated SAST: Snyk Code scanning (configured in .github/workflows/snyk.yml) and manual CodeQL analysis.
  2. Dependency Analysis: Automated vulnerability scanning of pyproject.toml dependencies via Snyk.
  3. Manual Architecture Review: Threat modeling workshop based on docs/ASSURANCE_CASE.md.
  4. Adversarial Testing: Vibe coding tests using opensource_release/adversarial_vibe_coding_tests.py to simulate attacks.

Scope & Boundaries

  • In Scope:

    • Core Verification Engines (src/qwed_new/core/)
    • CLI Interface (qwed_sdk/cli.py)
    • Python SDK (qwed_sdk/)
    • Authentication Middleware
  • Out of Scope:

    • Third-party LLM providers (OpenAI, Anthropic) - assumed untrusted.
    • User's deployment environment (OS level security).

Key Findings & Mitigations

Finding ID Severity Description Mitigation Status
SEC-001 High Code Injection in Logic Engine Implemented LogicVerifier using whitelisted Z3 functions (SafeEvaluator) and sanitized constraint evaluation (ConstraintSanitizer) to prevent eval() of arbitrary code. See src/qwed_new/core/logic_verifier.py. ✅ Fixed
SEC-002 Medium XML Entity Expansion (Billion Laughs) Disabled external entity processing in XML parsers used for certain structured outputs. ✅ Fixed
SEC-003 Low Missing Security Headers in Docs Added CSP and HSTS headers to documentation site configuration. ✅ Fixed
SEC-004 Critical Exposed API Keys in Logs Implemented PII masking and redaction for Authorization headers. See qwed_sdk/pii_detector.py. ✅ Fixed

Hardening Measures

  • Least Privilege: The core engine runs with read-only access to the filesystem except for temporary scratchpads.
  • Input Validation: All LLM outputs are treated as untrusted and validated against strict schemas (Pydantic).
  • Sandboxing: Code execution engines (Python/SQL) run in isolated environments (Docker containers in production, restricted namespaces in local dev).

Conclusion

The QWED Verification Protocol is intended to align with the OpenSSF Best Practices Gold criteria. Continuous monitoring is enabled via GitHub Actions CodeQL and Snyk workflows.