공급망 공격은 탐지를 우회하기 위해 보이지 않는 유니코드 코드를 사용합니다.

Aikido Security의 보안 연구원들이 GitHub, NPM, Open VSX에 업로드된 패키지에서 악성 기능을 숨기기 위해 보이지 않는 유니코드 코드를 사용한 공급망 공격을 발견했습니다. Glassworm으로 명명된 공격 그룹은 2026년 3월 3일부터 9일까지 GitHub에 151개의 악성 패키지를 업로드했습니다.
보이지 않는 코드의 작동 방식
악성 패키지들은 편집기, 터미널, 코드 리뷰 인터페이스에서 볼 때 보이지 않는 공용 사용 영역(Public Use Areas 또는 Public Use Access라고도 함)의 유니코드 문자를 사용합니다. 대부분의 코드는 정상적으로 보이지만, 악성 기능과 페이로드는 이러한 보이지 않는 문자를 사용하여 렌더링되어 수동 코드 검토와 전통적인 방어 수단을 무력화합니다.
보이지 않는 유니코드 문자는 컴퓨터가 처리할 때 미국 알파벳의 모든 글자를 나타내지만, 사람에게는 공백이나 빈 줄로 표시됩니다. JavaScript 인터프리터는 이러한 문자를 일반 코드로 읽고 실행할 수 있습니다.
기술적 구현
분석된 한 패키지에서 공격자들은 보이지 않는 문자를 사용하여 악성 페이로드를 인코딩했습니다. 이 코드에는 숨겨진 바이트를 추출하여 eval()에 전달하는 디코더 함수가 포함되어 있습니다:
const s = v => [...v].map(
w => (
w = w.codePointAt(0),
w >= 0xFE00 && w <= 0xFE0F ? w - 0xFE00 :
w >= 0xE0100 && w <= 0xE01EF ? w - 0xE0100 + 16 :
null
)
).filter(n => n !== null);
eval(Buffer.from(s(``)).toString('utf-8'));
s()에 전달된 백틱 문자열은 뷰어에서는 비어 있는 것처럼 보이지만, 완전한 악성 페이로드로 디코딩되는 보이지 않는 문자를 포함하고 있습니다. 이전 사건에서 디코딩된 페이로드는 솔라나를 전달 채널로 사용하여 토큰, 자격 증명, 비밀을 훔치는 2단계 스크립트를 가져와 실행했습니다.
공격 특성
악성 패키지들은 특히 탐지하기 어려운 이유는 다음과 같습니다:
- 코드의 보이는 부분은 고품질이고 현실적입니다
- 주변 변경 사항에는 문서 수정, 버전 업데이트, 작은 리팩토링, 버그 수정이 포함됩니다
- 변경 사항은 대상 프로젝트의 스타일과 일관성이 있습니다
- 연구자들은 LLM이 설득력 있게 합법적인 패키지를 생성하는 데 사용된 것으로 의심하고 있습니다
이 유니코드 기술은 2024년에 AI 엔진에 공급되는 악성 프롬프트를 숨기기 위해 처음 사용되었으며, 이후 전통적인 멀웨어 공격에 적용되었습니다. 탐지된 151개의 패키지는 캠페인의 작은 일부를 나타낼 가능성이 높으며, 초기 업로드 이후 많은 패키지가 삭제되었습니다.
📖 Read the full source: HN AI Agents
👀 See Also
以色列的虚假智库利用SEO投毒攻击AI聊天机器人
이스라엘이 가짜 싱크탱크인 하노버 연구소를 만들어 클로드와 제미니 같은 챗봇에 영향을 주기 위해 AI에 최적화된 100개 이상의 기사를 게시했습니다. 이 기사는 인용문을 포함한 신뢰할 수 있는 싱크탱크 보고서를 모방하여 이스라엘-팔레스타인 분쟁에 대한 AI 답변을 왜곡하려는 의도입니다.

Snowflake Cortex Code CLI 취약점으로 샌드박스 탈출 및 멀웨어 실행 가능
Snowflake Cortex Code CLI 버전 1.0.25 및 이전 버전의 취약점으로 인해 프로세스 치환 우회를 통해 인간 승인 없이 임의 명령 실행이 가능했으며, 간접 프롬프트 인젝션을 통해 악성코드 설치 및 샌드박스 탈출이 가능했습니다.

SKILL.md 편집은 코드 변경이 없더라도 프로덕션 변경이다
OpenClaw 작업 공간의 스킬은 번들 버전을 덮어쓰고 에이전트 동작을 변경할 수 있습니다. SKILL.md 파일을 신뢰할 수 있는 코드로 취급하고 프로덕션 변경 사항처럼 감사하고 버전을 관리하세요.

클로드 안드로이드 앱, 사용자 명시적 조치 없이 클립보드 읽는 것으로 보고됨
한 사용자가 Claude 안드로이드 앱이 붙여넣지 않은 상태에서 클립보드의 코드를 분석했다고 보고했으며, Claude는 해당 파일을 pasted_text_b4a56202-3d12-43c8-aa31-a39367a9a354.txt로 식별했습니다. 이후 테스트에서는 이 현상을 재현할 수 없었습니다.