csv-injection-safe-export
엑셀과 시트에서 안전하게 열리는 CSV를 만듭니다. 따옴표 처리와 수식 접두어 무력화를 함께 합니다.
어떤 문제를 푸나The problem
셀이 =, +, -, @로 시작하면 스프레드시트에서 수식으로 실행될 수 있습니다. 신뢰할 수 없는 문자열을 내보낼 때 흔히 일어나는 일입니다. 이 인코더는 모든 필드를 따옴표로 감싸고 위험한 값에는 앞에 작은따옴표를 붙입니다. 공백이나 제어 문자, 영 너비 문자 뒤에 숨은 수식도 막습니다.
이런 분께 맞습니다Who it is for
사용자 입력이 든 데이터를 CSV로 내보내는 웹 서비스 개발자.
무엇을 하나What it does
- toCsv(rows, {bom})는 CRLF로 행을 잇고 기본으로 UTF-8 BOM을 붙입니다.
- csvCell(value)는 스칼라만 받고 객체는 TypeError입니다.
- 음수도 텍스트로 보존하려고 접두어를 붙입니다. 내보낸 값 앞에 작은따옴표가 생기므로 대상 앱에서 확인하십시오.
직접 돌려 본 출력Real output
저장소의 examples 폴더를 실행한 결과입니다.
$ node examples/quickstart.mjs
"name","note"
"alice","'=HYPERLINK(""http://example.invalid"",""click"")"
"bob","said ""hi"", then left"
"carol","'-5"
"dave","line one
line two"
---
"'@SUM(A1:A9)"
reject: CSV values must be scalar
알아둘 한계Limits
- CSV 수식 무력화이지 HTML 이스케이프나 범용 새니타이저가 아닙니다.
받아서 쓰기Get it
# 저장소를 받습니다
git clone https://github.com/Kein-chronicle/csv-injection-safe-export.git
# Claude Code 스킬로 쓰려면 이 폴더 이름으로 받습니다
git clone https://github.com/Kein-chronicle/csv-injection-safe-export.git ~/.claude/skills/safe-csv-export
정보Info
- 분류Category
- 문서·데이터 라이브러리Document & data libraries
- 형태Type
- 라이브러리Library
- 라이선스License
- MIT
- 필요한 것Requires
- Node.js 22 이상
- 저장소Repository
- csv-injection-safe-export
- 토픽Topics
csvcsv-injectionformula-injectionsecurityjavascriptesmexcelzero-dependencies
2026-10-18 기준: 저장소의 테스트를 로컬에서 실행해 통과했고, 예제 출력은 저장소의 examples 폴더를 실제로 실행한 결과입니다.