Profile img

@yg1ee@hackers.pub · 18 following · 13 followers

프론트엔드 개발자

트위터(현 명칭 X)에서 graceful 이주를 하고 싶지만, 현실적으론 병행할 듯합니다.

Twitter
@YG1ee
GitHub
@YG1ee
2
1
0

얼마 전에, 여태 해오던 코드 작성 방식이, 다행히도 여태까지는 문제가 없었지만, 잠재적으로 문제가 될 수 있다는 사실을 알았다.
그게 문제라는 걸 알고 나서 '설마? 여태 잘 썼는데..' 하며 공식 문서를 읽어봤다.
당연히도 공식 문서에는 극히 일부만 써있었고, 해당 패턴에서 확장되어 작성된 곳은 없었다.

시간은 흘러가고, AI는 점점 "혁신적"이며 "개발자를 대체할 정도"가 되어 가는데,
나는 기존 코드가 잘못됐다는 걸 깨닫고 있다니.. 직춘기 같은 건가?
그동안은 배우는 게 재밌고, 또 그걸 활용해서 일을 하는 게 뿌듯했는데 새삼 황당하다.

0

얼마 전에, 여태 해오던 코드 작성 방식이, 다행히도 여태까지는 문제가 없었지만, 잠재적으로 문제가 될 수 있다는 사실을 알았다.
그게 문제라는 걸 알고 나서 '설마? 여태 잘 썼는데..' 하며 공식 문서를 읽어봤다.
당연히도 공식 문서에는 극히 일부만 써있었고, 해당 패턴에서 확장되어 작성된 곳은 없었다.

0
0
0
0

shared the below article:

React2Shell 취약점의 특성을 알아보자

고남현 @gnh1201@hackers.pub

React2Shell(CVE-2025-55182) 취약점은 React와 Next.js 환경에서 발생하는 심각한 역직렬화(Deserialization) 보안 약점을 다룹니다. 이 취약점은 JSON과 자체 규격인 Flight 포맷을 처리하는 과정에서 발생하며, 공격자가 JavaScript의 프로토타입 오염(Prototype Pollution)을 통해 객체의 성격을 임의로 변경하고 원격 코드 실행(RCE)까지 가능하게 합니다. 역직렬화 과정은 본래 자료형에 엄격하지 않고 특정 기호가 실행 신호로 작동할 수 있어 보안상 취약할 수 있는데, React2Shell은 특히 Promise 객체의 속성을 악용하여 악성 코드를 트리거하는 방식을 취합니다. 실제로 취약한 서버에 Mirai 봇넷 계열의 악성코드가 주입되어 서버가 디도스(DDoS) 공격 도구로 악용되는 사례가 발견되기도 했습니다. 이를 방어하기 위해서는 Next.js를 보안 패치가 적용된 최신 버전으로 업데이트하거나 Vercel에서 제공하는 전용 패치 도구를 활용해야 하며, 필요시 웹 방화벽(WAF) 규칙을 강화하는 조치가 필요합니다. 이 글은 현대 웹 생태계에서 역직렬화 공격의 위험성과 구체적인 대응 방안을 제시하여 안전한 애플리케이션 운영을 위한 핵심적인 가이드 역할을 합니다.

Read more →
1
0
0

shared the below article:

⌨️ Mac에서 Karabiner로 외부 키보드 오른쪽 Alt 한/영 전환하기

조내일 @tomorrowcho@hackers.pub

맥북에서 윈도우 키보드의 오른쪽 Alt 키를 한/영 전환 키로 사용하기 위한 설정 과정을 소개합니다. macOS 기본 설정으로는 왼쪽과 오른쪽 Option 키를 개별적으로 제어할 수 없어 Karabiner-Elements를 사용한 사용자 정의 키 매핑이 필요합니다. Karabiner 설치 후, Simple Modifications을 통해 right_option 키를 F18로 매핑하고, macOS 키보드 단축키 설정에서 '입력 소스 선택'을 F18로 지정해야 합니다. 만약 F18 키가 제대로 등록되지 않는다면, Karabiner의 드라이버 확장 프로그램 권한이 허용되었는지, 그리고 Devices 탭에서 외부 키보드의 'Ignore vendor events' 옵션이 활성화되었는지 확인해야 합니다. 이 설정을 통해 윈도우 환경에 익숙한 사용자도 맥에서 편리하게 키보드를 사용할 수 있습니다.

Read more →
2

이거 생각보다 큰 건 같은데...
한국 오픈소스 판 다 조지는 꼬라지 아닌가

1

얼마전에 로컬호스트 접속을 막는걸 기본값으로 하는 크로미움 업데이트 때문에 K-보안이 울상이라고 그러더군...

그런데 사실 K-보안말고는 문제가 없는게, localhost를 사용하는걸 "안들키고 싶어서 숨기는 경우"에만 차단한다는거지 localhost를 아예 차단한다고 한 적은 없음.

어차피 localhost로만 실질적인 작업이 가능한 앱이라면, 메인 주소도 localhost가 되면 아무런 문제가 없겠지만 그걸 꾸역꾸역 정상적인 인터넷 앱인 것처럼 위장하는게 문제임.

3
0

NPM에 8만6천 회 이상 다운로드된 악성 패키지 대량 유포
------------------------------
- NPM 저장소에서 *100개 이상 자격 증명 탈취용 악성 패키지* 가 8월 이후 탐지되지 않은 채 업로드되어, 총 8만6천 회 이상 다운로드된 사실이 확인됨
- 보안업체
Koi 는 ‘PhantomRaven ’으로 명명한 공격 캠페인이 NPM의 *Remote Dynamic Dependencies(RDD)* 기능을 악용해 126개의 악성 패키지를 배포했…
------------------------------
https://news.hada.io/topic?id=24053&utm_source=googlechat&utm_medium=bot&utm_campaign=1834

0
2
2

어쩌다 폴드7을 사게 돼서 써보고 있는데 이전 폴드들은 외부 화면으로 간단하게 사용은 가능하다 정도였는데 이거는 외부 화면으로도 실사용이 가능하다가 돼버렸네.. 접은 화면이 어지간한 바형 스마트폰이랑 크기가 비슷할 정도임

0

Next.js 쓰기 싫어서 tanstack router 공부 중인데 여태 쓰던 프레임워크들이랑 느낌이 너무 달라서 취준하던 때로 돌아간 느낌.

답답하면서도 묘하게 재밌기도 하고. 생소하다.

그런데 아직 버전 0 RC이고 상용으로 쓸 물건은 아닌 거 같은데,
headscale도 그렇고 나는 왜 이리 개발 단계거나 오픈소스 구현체를 좋아하는 것인가

0

Next.js 쓰기 싫어서 tanstack router 공부 중인데 여태 쓰던 프레임워크들이랑 느낌이 너무 달라서 취준하던 때로 돌아간 느낌.

답답하면서도 묘하게 재밌기도 하고. 생소하다.

1
0
0
0
3
0
0

요즘 뭐가 원인인지 VS Code 확장 목록 불러오기 무한루프가 발생함
검색해보다가 원인을 못 찾겠어서 코파일럿한테 물어보니 여러 가지 해결책을 제시함

VS Code에서 WSL쪽 확장프로그램이 로드되지 않고 무한루프가 발생하는 화면
1

요즘 뭐가 원인인지 VS Code 확장 목록 불러오기 무한루프가 발생함
검색해보다가 원인을 못 찾겠어서 코파일럿한테 물어보니 여러 가지 해결책을 제시함

VS Code에서 WSL쪽 확장프로그램이 로드되지 않고 무한루프가 발생하는 화면
1
0
0
5
1
1

tailscale에서

Warning: UDP GRO forwarding is suboptimally configured on ens34,
UDP forwarding throughput capability will increase with a configuration change.
See https://tailscale.com/s/ethtool-config-udp-gro

가 뜰 때 해결법

맨 아래의 링크로 들어가서, 코드 블럭 3개에 있는 스크립트들을
차례대로 복사 & 붙여넣기 밑 실행하여 An error occurred.가 안 뜨는지 확인.

0

시그널 앱 카톡 대안으로 좋아보임
대화 백업 기능이 베타지만 존재하는 게 불안하지만(?)
딱 메신저 본연의 기능을 하는 느낌

Signal 앱의 화면.
깔끔하고, 메신저 본연의 기능에 치중한 모습.

단점: 사용자가 없음
적다는 게 아니라 그냥 없음
연락처 기반 친구가 딱 한 명 뜸
소통할 때 쓰는 게 메신저인데
소통할 사람이 없음 🫠

0

시그널 앱 카톡 대안으로 좋아보임
대화 백업 기능이 베타지만 존재하는 게 불안하지만(?)
딱 메신저 본연의 기능을 하는 느낌

Signal 앱의 화면.
깔끔하고, 메신저 본연의 기능에 치중한 모습.
1
0
0
0
8
0
0
0
1
2

이제 자바 메인을 이렇게 써도 된다니 놀랍군요

void main() {  
    var name = IO.readln("What is your name? ");  
    IO.println("Hello, " + name);  
}  
5
1