trust-and-safety

4 개의 포스트

discord

ROOST가 온라인 안전을 발전시키는 방법 (새 탭에서 열림)

Discord는 온라인 안전 도구를 기업 내부의 비공개 자산으로 두기보다, ROOST를 통해 공개·공유·감사 가능한 오픈소스로 발전시키고 있다. 그 대표 사례인 Osprey는 실시간 이벤트 처리와 행동 분석을 수행하는 규칙 엔진으로, Discord의 프로덕션 환경에서 검증된 뒤 커뮤니티의 개선을 거쳐 다시 Discord에 반영됐다. ROOST는 이러한 도구를 여러 플랫폼이 함께 사용하고 발전시키는 생태계를 만들어 온라인 위협 대응의 기본 수준과 혁신 속도를 높이려 한다. ## 생성형 AI로 복잡해진 온라인 위협 - 공격자들은 생성형 AI를 활용해 정교한 피싱 캠페인, 설득력 있는 딥페이크, 대규모 협력형 공격을 더 빠르게 만들고 있다. - 기존의 신뢰·안전 대응 방식만으로는 위협의 규모와 변화 속도를 따라가기 어렵다. - 플랫폼마다 안전 도구를 처음부터 개발하면 대응 수준이 크게 달라지고, 특히 소규모 플랫폼은 충분한 보호 기능을 갖추기 어렵다. - ROOST는 이미 검증된 안전 기술을 공유해 플랫폼 간 격차를 줄이는 것을 목표로 한다. ## Osprey의 실시간 규칙 엔진 - Osprey는 로그인 시도, 콘텐츠 게시, 계정 생성 등 플랫폼에서 발생하는 모든 이벤트를 입력으로 받을 수 있다. - 플랫폼별로 필요한 사용자 지정 이벤트도 처리할 수 있으며, 규칙을 통해 이상 행동과 잠재적 위협을 실시간으로 분석한다. - 안전·보안 팀은 간단한 규칙 언어로 탐지 로직을 작성할 수 있다. - 새로운 규칙을 배포할 때 별도의 엔지니어링 작업에 의존하지 않아도 되며, 판단 결과가 안전·의심·악성으로 투명하게 제공된다. - Discord에서는 수천 개의 규칙을 수백 가지 이벤트 유형에 적용하고 있다. - 조사 플랫폼에서 발견한 이상 징후를 새로운 규칙으로 연결하는 순환 구조를 갖는다. - 탐지 결과가 규칙 개선으로 이어짐 - 규칙이 실제 집행으로 연결됨 - 집행 과정에서 새로운 위협 신호가 축적됨 ## 프로덕션 검증을 거친 오픈소스 - Osprey 공개를 위해 Discord 내부 시스템과의 결합을 분리하는 데 수개월의 엔지니어링 작업이 진행됐다. - 공개 버전은 기능을 축소한 별도 제품이 아니라 Discord의 실제 프로덕션 엔진에서 출발했다. - ROOST 커뮤니티가 기능을 발전시켰고, 개선된 버전은 다시 Discord의 시스템에 통합됐다. - 따라서 Discord가 운영 환경에서 사용하는 엔진과 외부 기업이 배포할 수 있는 엔진이 동일하다는 점이 강조된다. ## 기존 업계 협력 모델의 확장 - 온라인 안전 분야에는 이미 여러 조직이 공동으로 기술과 신호를 공유해 온 사례가 있다. - 아동 착취 이미지 대응을 위한 이미지 해시 기술 공유 - Tech Coalition의 Lantern 프로그램 - 테러 및 대규모 폭력 사건 대응을 위한 GIFCT의 플랫폼 간 협력 - Digital Trust & Safety Partnership이 주도한 ISO 표준화 - ROOST는 이러한 협력 전통을 오픈소스 개발 재단의 방식과 결합한다. - Linux Foundation, Apache Foundation, Python Foundation처럼 도구를 관리하는 데 그치지 않고 새로운 도구를 직접 만들고 유지보수한다. - Osprey와 종합 검토 도구인 Coop 등을 누구나 사용·기여할 수 있게 해 공공의 이익을 위한 개발자 커뮤니티를 구축하려 한다. ## 여러 플랫폼이 함께 만드는 안전 생태계 - 단일 도구나 단일 기업만으로는 온라인 안전 문제를 해결할 수 없다. - 오픈소스 안전 도구는 플랫폼들이 갖춰야 할 최소한의 보호 수준을 높이고, 새로운 방어 기술의 개발을 가속한다. - 소규모 플랫폼이 기본적인 보호 기능을 도입하면 위협이 특정 서비스에 집중되는 것을 줄일 수 있다. - 대형 플랫폼들이 방어 기술을 공개적으로 공동 개선하면 전체 인터넷 생태계가 혜택을 받는다. - ROOST는 도구 자체뿐 아니라 이를 배포·운영·관리해 주는 상용 서비스 생태계도 함께 성장할 것으로 기대한다. - Musubi는 Coop 기반 관리형 서비스를 제공 - Zentropi는 자체 라벨러 엔진을 Coop에 통합 ## 공개 개발과 실제 도입 성과 - ROOST는 2026년 FOSDEM에서 Osprey v1을 공개했다. - 여러 조직과 프로토콜의 엔지니어들이 함께 참여해 플랫폼 안전 문제와 대응 방법을 논의하는 계기가 됐다. - Bluesky를 비롯한 플랫폼들이 이미 ROOST 도구를 사용하고 있으며, 실제 운영 개선 사례도 공개되고 있다. - 글에서는 여러 플랫폼에 걸쳐 3억 6천만 명 이상의 사용자가 오픈소스 안전 도구의 혜택을 받는 생태계에 포함됐다고 설명한다. - Osprey 기여자와 도입 기관들은 2주마다 공개 작업 그룹 회의를 열어 기능을 논의하고 개발 계획을 조율한다. 오픈소스 안전 도구를 도입하려는 플랫폼은 Osprey 같은 실시간 규칙 엔진으로 탐지·집행 체계를 먼저 구축하고, 공개 작업 그룹과 다른 도입 기관의 사례를 활용하는 것이 효과적이다. 다만 도구만 설치하는 것보다 자체 위협 모델, 운영 인력, 규칙 검토 절차를 함께 마련해야 지속적인 안전 성과를 얻을 수 있다.

discord

Osprey: 규칙 엔진 오픈 소 (새 탭에서 열림)

Discord는 실시간 안전 대응을 위해 개발한 규칙 엔진 Osprey를 ROOST 및 internet.dev 팀과 오픈소스로 공개했다. Osprey는 초당 수천 건의 이벤트를 처리하고, Python 기반 규칙 언어로 탐지 정책을 빠르게 배포하며, 판정 결과와 실행 과정을 추적할 수 있도록 설계됐다. 이를 통해 플랫폼은 새로운 위협에 대응하는 데 필요한 엔지니어링 부담을 줄이고, 탐지 결과를 다음 규칙 개선에 활용할 수 있다. ## Osprey를 개발한 배경과 목표 - 온라인 플랫폼은 스팸, 사기, 악성 사용자 등 유사한 안전 문제를 반복적으로 해결해야 한다. - Osprey는 각 기업이 안전 도구를 처음부터 만들지 않도록 재사용 가능한 규칙 엔진을 제공한다. - 주요 요구사항은 다음과 같다. - **대규모 실시간 처리:** 초당 수천 건의 이벤트를 처리하고 플랫폼 성장에 맞춰 확장 - **신속한 대응:** 표현력 있는 규칙을 작성해 수분 내 적용 - **명확한 판정:** 활동을 안전, 의심, 악성 등으로 판단할 수 있는 결과 제공 - **실행 과정 공개:** 어떤 규칙이 실행됐고 오류가 발생했는지 확인 가능 - **지속적인 학습:** 탐지 결과와 조사 내용을 새로운 규칙 개선에 반영 - **확장성:** 앞으로 등장할 새로운 공격 패턴과 기능을 수용 ## 전체 처리 구조 - Osprey는 플랫폼에서 발생한 **Action**을 입력으로 받는다. - Action은 다음 방식으로 전달할 수 있다. - gRPC를 통한 동기 처리 - 메시지 큐를 통한 비동기 처리 - 입력된 Action은 SML로 작성된 **Rules**를 거친다. - 규칙은 **UDF(User Defined Function)**로 확장할 수 있다. - 실행 과정에서 **Features**와 **Effects**가 생성된다. - 일부 Effects인 **Verdict**는 동기 요청자에게 즉시 판정 결과를 반환한다. - 모든 출력은 Apache Druid 클러스터로 전송되어 조사용 UI에서 검색·분석된다. ## Action: 규칙 엔진의 입력 이벤트 - Action은 Osprey에 전달되는 이벤트이며, 각 이벤트 유형은 고유한 ID와 스키마를 가진다. - 사실상 호출자가 원하는 데이터를 담은 JSON 객체로 구성된다. - 예를 들어 `user_login_attempted` 이벤트에는 사용자 ID, 이름, 이메일, IP 주소 등을 포함할 수 있다. - 이벤트 스키마를 애플리케이션에 맞게 정의할 수 있어 로그인, 메시지 전송, 계정 생성 등 다양한 활동을 처리할 수 있다. ## Rule과 SML 규칙 언어 - Rule은 Osprey의 핵심 구성 요소로, 특정 조건이 충족됐을 때 수행할 조치를 정의한다. - SML(Some Made-up Language)은 Python을 기반으로 한 규칙 언어다. - 기술 지식이 많지 않은 운영·안전 담당자도 작성할 수 있도록 비교적 단순한 문법을 사용한다. - 규칙은 다른 규칙과 데이터를 참조할 수 있어 복잡한 탐지 로직도 구성 가능하다. - 정적 검증을 통해 규칙 작성 방식을 강제할 수 있다. - 변수명 규칙 검사 - 데이터 타입 검사 - 특정 Entity에 적용 가능한 Effect 검사 - 예시에서는 이메일이 특정 값과 일치하면 해당 사용자의 Entity에 `spammer` 라벨을 추가한다. - `EntityJson`으로 사용자 ID를 추출 - `JsonData`로 이메일을 추출 - `Rule`로 스팸 사용자 조건 정의 - `WhenRules`로 조건 충족 시 `LabelAdd` 실행 ## UDF: 규칙 언어를 확장하는 Python 함수 - UDF는 실제 Python으로 작성되며 SML 규칙 어디서든 호출할 수 있다. - `Rule`, `WhenRules`, `JsonData` 등 Osprey의 기본 기능도 UDF로 구현되어 있다. - 사용자가 자체 UDF를 추가해 제품별 기능이나 외부 서비스 연동을 구현할 수 있다. - 예를 들어 외부 머신러닝 서비스에 링크를 전달해 스팸 점수인 `0~1` 범위의 값을 받아 규칙 조건으로 사용할 수 있다. - UDF는 다음과 같은 실행 정보를 정의할 수 있다. - 어떤 기능 범주에 속하는지 - 비동기 실행 여부 - 외부 서비스 접근 방식 - 실행 결과의 타입 - 따라서 규칙 엔진 자체를 수정하지 않고도 새로운 탐지 모델, 데이터 소스, 내부 서비스를 연결할 수 있다. ## Feature: 실행 결과로 생성되는 데이터 - Feature는 Osprey의 전역 네임스페이스에 등록된 변수다. - 모든 Feature는 고유한 이름을 가져야 한다. - 변수명 앞에 `_`를 붙이면 Feature로 외부에 내보내지 않고 현재 파일의 로컬 변수로 유지할 수 있다. - 실행 결과인 Feature는 Druid에 전송·색인된다. - 이후 조사 UI에서 `UserEmail == 'despicable@example.com'`처럼 특정 Feature 값을 기준으로 이벤트를 검색할 수 있다. - 예시의 `UserId`와 `UserEmail`은 모두 Feature다. ## Entity: 효과를 적용할 수 있는 지속적 대상 - Entity는 Feature의 특수한 형태다. - 모든 Entity는 Feature지만, 모든 Feature가 Entity인 것은 아니다. - Discord에서는 사용자, 서버, 이메일처럼 지속적으로 추적할 수 있는 대상을 Entity로 표현한다. - Entity에는 라벨, 분류, 신호 등의 Effect를 적용할 수 있다. - Entity 유형에 따라 적용 가능한 Effect가 달라지며, 이를 정적 검증으로 제한한다. - Osprey UI에서 Entity를 선택하면 해당 대상의 과거 활동과 처리 이력을 확인하는 Entity View로 이동할 수 있다. ## Effect와 Verdict - Effect는 하나 이상의 Rule이 참으로 평가됐을 때 발생하는 결과 또는 조치다. - Effect는 실행 전에 검증되며, 실행이 끝난 뒤 집계해 처리된다. - Entity에 라벨·분류·신호를 부여하는 작업이 대표적인 Effect다. - 동기 Action의 경우 Verdict Effect를 통해 호출자에게 규칙의 판정 결과를 반환할 수 있다. - 이를 활용하면 로그인이나 콘텐츠 게시 요청을 즉시 허용·차단하거나 추가 조사를 요구하는 흐름을 만들 수 있다. ## 실용적인 활용 방향 Osprey는 이벤트 수집, Python 기반 규칙 작성, 외부 탐지 서비스 연동, Druid 기반 조사까지를 하나의 구조로 제공한다. 새로운 위협에 자주 대응해야 하는 플랫폼이라면 규칙을 애플리케이션 코드와 분리하고, 정적 검증과 실행 추적을 갖춘 Osprey 같은 엔진을 활용하는 것이 운영 속도와 투명성을 높이는 방법이 될 수 있다.

pinterest

핀터레스트가 AI를 (새 탭에서 열림)

핀터레스트는 플랫폼 내 유해 콘텐츠 노출 정도를 실시간으로 파악하기 위해 사용자 신고 중심의 지표를 넘어선 '유포율(Prevalence)' 측정 시스템을 구축했습니다. 머신러닝 기반의 가중치 샘플링과 멀티모달 LLM을 결합한 이 시스템은 기존 인적 검토 방식보다 15배 빠른 속도와 낮은 비용으로 매일 노출 위반 사례를 통계적으로 산출합니다. 이를 통해 핀터레스트는 정책 위반 콘텐츠가 사용자에게 미치는 실제 영향력을 정밀하게 모니터링하고 즉각적인 개선 조치를 취할 수 있는 기술적 토대를 마련했습니다. ## 유해 콘텐츠 유포율(Prevalence) 측정의 필요성 * **신고 데이터의 한계 극복:** 자해 콘텐츠와 같이 낙인이 찍힌 분야는 사용자가 신고를 꺼리는 경향이 있으며, 유해 콘텐츠를 직접 찾아보는 사용자는 신고를 하지 않으므로 신고 데이터만으로는 플랫폼의 안전성을 정확히 측정할 수 없습니다. * **노출 중심의 지표 수립:** 콘텐츠의 절대적인 개수보다 해당 콘텐츠가 사용자에게 몇 번 노출되었는지가 중요하므로, '전체 조회수 대비 정책 위반 콘텐츠의 조회수'를 핵심 지표로 정의했습니다. * **기존 인적 검토의 제약 해결:** 과거에는 수동 검토 비용 문제로 6개월마다 간헐적인 조사를 수행했으나, 이는 대응 속도가 느리고 통계적 일관성을 유지하기 어려웠습니다. ## 효율적이고 정교한 ML 기반 샘플링 기법 * **가중치 부여 저수조 샘플링(Weighted Reservoir Sampling):** 일일 노출 스트림에서 위험 점수(Risk Score)와 노출 수가 높은 콘텐츠를 우선적으로 샘플링하여 효율성을 높였습니다. * **편향 없는 통계 추정:** 샘플링 과정에서 발생하는 편향을 제거하기 위해 역확률 가중치(Inverse-probability weighting)를 적용했으며, Hansen–Hurwitz 및 Horvitz–Thompson 비율을 활용해 통계적 일관성을 확보했습니다. * **결측치 처리:** 위험 점수가 없는 신규 콘텐츠의 경우 당일의 중앙값을 할당하여 측정 범위에서 누락되지 않도록 방지하는 안전장치를 마련했습니다. ## 멀티모달 LLM을 통한 대규모 레이블링 자동화 * **속도와 비용의 획기적 개선:** 이미지와 텍스트를 동시에 이해하는 멀티모달 LLM을 활용해 판독 프로세스를 자동화함으로써 인적 검토 대비 15배 빠른 처리 속도와 수십 배 낮은 운영 비용을 달성했습니다. * **전문가 가이드라인 반영:** 정책 전문가(SME)가 검토한 프롬프트를 사용하며, 모델이 내린 결정의 근거와 정책 버전, 모델 ID 등 전체 계보(Lineage)를 기록하여 감사 가능성을 높였습니다. * **지속적인 보정 및 검증:** LLM의 판독 결과가 전문가의 기준(Gold Sets)에서 벗어나지 않도록 주기적인 인간 검증을 수행하며, 모델 드리프트(Drift)를 감시하여 측정의 신뢰도를 유지합니다. ## 시스템 운영 및 가시화 * **대시보드와 알림:** 매일 산출되는 유포율을 95% 신뢰구간(CI)과 함께 시각화하며, 정책 영역별(성인물, 자해, 폭력 등), 서비스 영역별(홈피드, 검색 등)로 세분화하여 분석할 수 있는 기능을 제공합니다. * **확장성 있는 구조:** 특정 LLM에 종속되지 않는 모델 불가지론적(Model-agnostic) 구조를 채택하여 향후 더 성능이 좋은 AI 모델로 손쉽게 교체할 수 있도록 설계했습니다. 이 시스템은 대규모 플랫폼이 AI를 활용하여 정책 위반 콘텐츠를 단순히 차단하는 것을 넘어, 플랫폼 전체의 안전 수준을 어떻게 데이터화하고 관리할 수 있는지에 대한 실질적인 방법론을 제시합니다. 특히 통계적 샘플링과 최신 AI 모델을 결합하여 비용 효율성과 정확성을 동시에 잡은 점이 돋보입니다.

discord

ROOST, AI 시대를 위한 (새 탭에서 열림)

비영리 단체 ROOST는 AI 시대의 온라인 안전을 위해 오픈 소스 기반의 보안 도구인 'Coop'과 'Osprey'를 공개했습니다. 이 도구들은 막대한 비용이 드는 엔터프라이즈 소프트웨어나 복잡한 자체 시스템 없이도 모든 규모의 기업이 유해 콘텐츠를 탐지하고 대응할 수 있는 기술적 토대를 제공합니다. 이를 통해 안전 인프라를 공공재로 전환함으로써 디지털 생태계 전반의 보안 수준을 상향 평준화하는 것을 목표로 합니다. **전문적인 콘텐츠 검토와 규제 준수를 돕는 Coop** * 콘텐츠 리뷰를 전문가에게 라우팅하고, 검토에 필요한 관련 정보를 시각화하여 즉각적인 조치를 취할 수 있는 인터페이스를 제공합니다. * 아동 성착취물(CSAM)의 의무 신고를 위한 미국 실종학대아동센터(NCMEC) API가 내장되어 있어 관련 법규를 효율적으로 준수할 수 있습니다. * 대규모 유해 콘텐츠 처리에 특화된 기술 기업 'Cove'의 IP를 ROOST가 인수하여 오픈 소스로 전환함으로써, 검증된 기술력을 누구나 무료로 활용할 수 있게 되었습니다. **위협 조사 및 대규모 사고 대응을 위한 Osprey** * 플랫폼 내에서 발생하는 위협을 심층적으로 이해하고 대규모로 대응 조치를 실행할 수 있는 경량화된 사고 조사 도구입니다. * 사용자 친화적인 설계를 통해 소규모 커뮤니티부터 대형 플랫폼까지 인프라 부담 없이 강력한 조사 기능을 수행할 수 있도록 돕습니다. * Discord가 자사 플랫폼뿐만 아니라 인터넷 전체의 안전을 위해 개발한 기술을 ROOST에 기증한 것으로, 업계 내 안전 기술 공유의 핵심 사례로 꼽힙니다. **오픈 소스 안전 생태계의 확산과 협업** * 탈중앙화 소셜 미디어인 Bluesky는 Osprey 도입을 통해 자원 규모와 관계없이 효과적인 안전 인프라 구축이 가능함을 입증할 계획입니다. * Notion과 같은 주요 플랫폼들은 기존 Cove 기술을 통해 확보한 안전 역량을 기반으로, ROOST의 주도하에 더욱 강화된 개방형 보안 생태계 구축에 동참하고 있습니다. * 이 모델은 스타트업의 혁신, 자선 단체의 후원, 그리고 오픈 소스의 협업 정신을 결합하여 피싱 캠페인부터 아동 안전 사고까지 광범위한 위협에 맞서는 새로운 표준을 제시합니다. 온라인 위협이 정교해짐에 따라 안전 도구는 더 이상 경쟁 우위 수단이 아닌, 모든 플랫폼이 갖춰야 할 필수적인 기반 시설이 되어야 합니다. 유해 콘텐츠 대응과 플랫폼 보안 강화가 필요한 서비스 제공자라면, 향후 정식 공개될 Coop과 Osprey를 적극적으로 도입하여 비용 효율적이면서도 전문적인 신뢰 및 안전(Trust & Safety) 역량을 확보할 것을 권장합니다.