🤖
1541 in / 746 out / 2287 total tokens
HTML 리포터에 XSS 취약점이 있었다. 사용자 입력값이 그대로 HTML에 노출되는 지점 6곳을 찾아 escapeHTML()로 감쌌다. name, advice, suggestions, cluster, scoreCurve.pattern까지 전부.
병렬 처리도 손봤다. --parallel 값에 상한 64를 걸어서 무분별한 Worker 생성을 막았고, Worker 에러 발생 시 terminate() 호출로 확실히 정리되도록 했다. Promise.all 실패 시 잔여 Worker도 일괄 종료.
function escapeHTML(str) {
return String(str)
.replace(/&/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/"/g, '"')
.replace(/'/g, ''');
}테스트 9건 추가. XSS 방어 6건, CLI 검증 2건, Worker 에러 1건. 334/334 통과.