- 已发运
- 2026年11月8日 01:00 UTC
- 作者
- Kamo
- 承诺
- ea1cb82
- WOPI PutFile writes raw MinIO, so the save goes through AntivirusUploadGuard first: a harmful save writes nothing, keeps the document's last good content and answers the editor 422 ANTIVIRUS_BLOCKED (503 ANTIVIRUS_UNAVAILABLE so it retries); a clean save is marked stored for later re-checks. GetFile refuses locked/checking content with 423. - Imaging /download, /stream, the converted PDF and page thumbnails call the read gate before any byte: 423 ANTIVIRUS_BLOCKED / ANTIVIRUS_CHECKING. CAUTION content passes, so its PDF rendition is the 'safe copy'. Bulk export drops locked documents like the other exclusions. - Version download/pdf/thumbnail judge the version's own content. - Careers resumes are checked as CAREERS with the applicant and application; the careers controllers answer Antivirus refusals in the platform shape instead of a 500. - Legal: uploads map refusals to their own 422/503, a held upload asks to retry (its PDF rendition would be made from unchecked bytes), executed packages and request samples are read-gated. Binder photo albums leave locked photos out. - Document list/metadata rows carry scanStatus / scanFamily / scanOutcome. - ConfigMap kamo.antivirus.* (enabled: false until KamoAntivirus is Ready); ANTIVIRUS_INTERNAL_AUTH_SECRET from mlos-internal-auth.
