hahwul

Offensive Security Engineer, Rubyist/Crystalist/Gopher and H4cker

Posts

Smuggling with JSON

2 min read

JSON은 YAML과 함께 자주 사용되는 포맷 중 하나입니다. K:V 형태의 단순한 구성이지만, JSON의 특성을 이용하면 데이터를 숨기고 Application의 잘못된 동작을 유도할 수 있습니다.

Preventing LLM Prompt Leak

1 min read

ChatGPT는 사용자 개개인이 Bot을 만들고 서비스할 수 있도록 제공되고 있습니다. 저도 제 편의를 위해 몇가지 만들어서 사용하는데 너무나도 쉬운 방법으로 Prompt를 읽어낼 수 있었네요.

Prompt Injection via Ascii Art

1 min read

LLM 모델을 사용하는 서비스에선 Prompt Injection과 같은 LLM Attack을 방어, 완화하기 위해 여러가지 보호 로직을 가지고 있습니다. 그리고 이를 깨기 위해서 독창적인 방식의 Prompt가 필요합니다.

PQ3 and PQC 🗝️

2 min read

Apple에서 조만간 iMessage에 PQ3라는 암호화 프로토콜을 적용할 예정이라고 발표했습니다.

Do you need a config? Now, Pkl

1 min read

최근에 Apple이 내부에서 사용하던 Configuration language를 오픈소스로 공개헀습니다. 바로 Pkl(피클)인데요, 과연 Pkl은 JSON과 YAML과 함께 Config계의 대표 주자가 될 수 있을까요?

Crystal-Lang is ❤️

2 min read

저는 최근에 Crystal-lang을 즐기고 있습니다. 간단한 토이 프로젝트부터 Noir란 사이즈가 점점 커지고 있는 프로젝트까지 Crystal을 통해 구현하고 있습니다. 오늘은 제가 Crystal을 좋아하게된 이유에 대해 이야기하려고 합니다.

DOM Handling with MutationObserver

3 min read

최근 ZAP은 SPA 기반의 앱을 쉽게 식별하기 위해 Client Side Integration 이란 기능을 추가했습니다. 이 이 때 DOM의 변화를 식별하기 위한 장치로 MutationObserver가 사용되었는데요. 오늘은 MutationObserver가 뭔지 그리고 보안 테스팅 시 어떻게 사용할 수 있을지 이야기해봅니다.

Lazy-loading iframe in Firefox

~1 min read

최근에 Firefox쪽에서 하나 업데이트를 예고 했습니다. 곧 img 태그에만 존재하던 lazy-loading이 iframe에도 적용되는데요. 성능적인 장점은 분명히 있겠지만, img와 달리 XSS의 리스크가 높은 iframe의 로드 시점을 통제할 수 있는 형태라 재미있는 이슈가 나올지 기대되기도, 반대로 또 걱정되기도 합니다.

Fiber concurrency

2 min read

동시성 프로그래밍은 재미있지만 구조나 사이즈에 따라 어려움을 동반합니다. 개인적으로도 도구 작성 시 자주 사용하기 때문에 제가 진행하는 프로젝트에서 자주 볼 수 있고, 블로그에도 Goroutine과 Sync, Ruby Concurrency 등 매년 동시성 관련해서 글을 작성한 것 같습니다.

WebAuthn과 Passkey

4 min read

여러분들은 패스워드 매니저를 사용하시나요? 저는 개인적으로 Apple의 암호 기능을 주로 사용합니다. 또한 icloud+도 사용하고 있어 이메일 가리기 + 암호 조합으로 가급적 서비스별로 계정과 패스워드가 겹치지 않는 상태로 유지하고 있습니다. 구글의 경우 Google password manager를 통해 비슷하게 사용하시는 분들도 있을거라고 생각합니다. Apple이나 Google의 이러한 기능들과 FIDO 관련 인증 방식들은 Passwordless의 대중화를 앞당겼고 이제는 Password를 입력하는 것이 점점 어색해지는 시기가 온 것 같습니다.