Tangent: WASM 기반 보안 로그 파이프라인
요약
Tangent는 WASM 기반의 스트림 처리 툴킷으로, 사용자 정의 함수(플러그인)를 일급 시민으로 취급합니다. DSL 없이 실제 언어로 작성된 플러그인을 공유하고 실행할 수 있어 복잡한 로그 변환 작업에 매우 적합합니다. 이는 빠르고 안전하며 커뮤니티 기반의 재사용성을 높입니다.
핵심 포인트
- WASM 샌드박스에서 작동하여 보안성과 속도를 보장합니다.
- DSL 대신 실제 언어를 사용해 가독성 및 LLM 친화적입니다.
- 플러그인 생태계가 구축되어 변환 로직을 쉽게 공유할 수 있습니다.
Tangent란 무엇인가요?
Tangent는 플러그인(사용자 정의 함수)을 일급 시민(first-class citizens)으로 취급하는 스트림 처리 툴킷입니다. 플러그인을 작성하고 공유하기가 매우 쉽습니다. 까다로운 로그 변환 작업에 완벽합니다.
플러그인은 네이티브에 가까운 속도와 완전한 언어 유연성을 갖춘 경량 WASM 샌드박스에서 실행됩니다. DSL(Domain Specific Language)도, 공급업체 종속형 런타임(vendor-locked runtimes)도 필요 없습니다. 플러그인은 공유 가능하도록 설계되었기 때문에, 일반적인 변환(예: GuardDuty findings → OCSF)을 한 번 작성하여 커뮤니티와 공유할 수 있습니다.
Tangent는 자체 변환(transforms)을 개발, 테스트 및 벤치마킹하는 데 필요한 모든 것을 제공합니다:
tangent plugin scaffold– 플러그인 기본 구조 생성tangent plugin compile– 플러그인을 WASM으로 컴파일tangent plugin test– 플러그인 테스트 실행tangent bench– 배포 전 처리량(throughput) 및 지연 시간(latency) 측정tangent run– Tangent 런타임 시작
왜 Tangent를 사용해야 하나요?
-
DSL이 아닌 실제 언어 사용 – 실제 코드가 DSL보다 우수합니다. 검토 가능하고, 테스트 가능하며, LLM 친화적입니다.
-
프로덕션 배포 전 오류 포착 — 정확성 검증을 위한
tangent plugin test와 처리량/지연 시간 측정을 위한tangent bench를 사용합니다. -
공유 가능하고 안전함 – 데이터 변환은 작성하기 쉽고 _공유_할 수 있습니다. Tangent Plugins library에서 오픈 소스 플러그인을 게시하고 발견하세요. 각 플러그인은 자체의 경량 샌드박스(sandbox) 내에서 실행됩니다.
벤치마크 (Benchmarks)
벤치마크는 Rust, Go, 그리고 Python로 구현된 간단한 로그 변환 플러그인을 사용한 엔드투엔드 처리량(end-to-end throughput)을 보여줍니다. 각 플러그인은 WASM으로 컴파일되어 Tangent 내부에서 실행됩니다.
<!-- BENCH_START -->| 소스 → 싱크 | Rust | Go | Python |
|---|---|---|---|
| tcp → blackhole | 483.35 MB/s | 399.54 MB/s | 76.91 MB/s |
벤치마크는 전용 16코어 AMD 러너(runner)에서 매일 밤 실행됩니다. 나이틀리 벤치마크를 확인하세요.
설치 (Install)
# Homebrew
brew tap telophasehq/telophase
brew install tangent-cli
...
빠른 링크
- 소개 (Intro)
- WASM 플러그인
- CLI
- 설정 (Configuration)
tangent.yaml- 런타임 (Runtime)
- 플러그인 (Plugins)
- DAG
- 소스 (Sources)
- 싱크 (Sinks)
라이선스
Apache-2.0. LICENSE 참조.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN OpenAI Codex의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기