Show HN: Xmloxide – Rust로 만든 libxml2 대체 에이전트
Source: Hacker News
Background
- Cursor는 처음부터 브라우저를 만들려고 시도했습니다.
- Anthropic은 C 컴파일러를 만들려고 시도했습니다.
Motivation
저는 기존 테스트 스위트를 활용하고 에이전트에게 프로젝트를 진행하도록 하여 테스트를 통과시키는 방식으로 쉽게 재현할 수 있는 소프트웨어 패키지가 있는지 궁금했습니다. Claude Code로 Redis와 SQLite를 재현해 본 뒤, 에이전트가 만든 재현이 실제로 유용할 수 있는 소프트웨어 패키지를 찾기 시작했습니다.
The Target: libxml2
libxml2는 XML 및 HTML 문서를 파싱, 생성, 조작하기 위해 널리 사용되는 오픈 소스 C 라이브러리입니다. 세 달 전, 다음과 같은 업데이트와 함께 유지보수가 중단되었습니다:
“이 프로젝트는 유지보수가 되지 않으며 알려진 보안 문제가 있습니다. 신뢰할 수 없는 데이터를 처리하기 위해 이 소프트웨어를 사용하는 것은 어리석은 일입니다.”
Introducing xmloxide
몇 일간의 작업으로 xmloxide라는 메모리‑안전 Rust 구현을 만들었습니다. libxml2의 메모리‑안전 대체물로서 다음을 제공합니다:
- libxml2 호환성 스위트를 통과합니다.
- W3C XML Conformance Test Suite를 통과합니다.
- 대부분의 파싱 작업에서 libxml2와 비슷한 성능을 보이며, 직렬화에서는 더 나은 성능을 제공합니다.
- C API를 제공하여 기존 libxml2 사용을 그대로 대체할 수 있습니다.
Resources
- Crates.io:
- GitHub release:
Outlook
이 새로운 패키지가 널리 채택될 것이라고 기대하지는 않지만, 이번 실험은 포괄적인 테스트 스위트가 있을 때 Claude Code와 같은 코딩 에이전트가 얼마나 빠르게 반복할 수 있는지를 보여줍니다. 만약 이러한 에이전트가 레거시 코드를 신뢰성 있게 재작성할 수 있다면, CVE를 수정하고 최신 패키지 버전으로 업데이트하는 데 드는 유지보수 부담이 전체 소프트웨어 패키지 관리 작업에서 차지하는 비중이 크게 줄어들 수 있습니다.