fix(security): remediate failing image and dependency audits - #44
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
📝 WalkthroughWalkthroughThe pull request removes MLflow experiment and tracking modules, updates dependency security floors, removes package-management tooling from the runtime image, and preserves dependency-audit report uploads after audit failures. ChangesSecurity and hygiene updates
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Summary
Fixes the failing TrojanChat container-image, dependency-audit, Python CI, and benchmark-installation checks without weakening any required gate.
The failures had two verified causes:
cryptography<50, while the container scanner requirescryptography>=50.0.0for CVE-2026-69247.msgpackandsetuptoolsfrom the Python base image's package-management tooling—not from the app environment. CI verified the application venv containsmsgpack1.2.1,setuptools83.0.0 during build, andcryptography50.0.0.Files changed
requirements.txtmlflowdependency.cryptography,msgpack, andsetuptools.Dockerfilepip,setuptools,wheel, andensurepippayloads after the virtual environment is built. The container executes Uvicorn from/opt/venvand does not install packages at runtime..github/workflows/trojanchat-hygiene.ymlpip-audit.jsonwithif: always(), including when the blocking audit fails.ml/tracking/mlflow_utils.pyml/experiments/prompt_eval.pylog_chat_metricshelper and used a dummy API key.ml/ml/experiments/prompt_eval.pyValidation performed
mlflow,MLflow, andmlflow_utils; no chat-backend runtime or README references exist outside the removed stale experiment paths.Risks
The runtime image can no longer use
pip/ensurepip to modify itself, which is intentional for an immutable production container. The repository no longer bundles the unreferenced MLflow experiment helpers. The supported chat backend, frontend, and documented installation path are unaffected.Follow-up recommendations
pip-audit.jsonartifact whenever the audit fails.Summary by CodeRabbit