dash

2 개의 포스트

dropbox

Dropbox가 MCP와 Dash를 활용해 디자인에서 코드로 이어지는 보안 격차를 해소하는 방법 (새 탭에서 열림)

Dropbox는 보안 위협 모델과 실제 코드 구현 사이의 단절을 MCP, 기초 언어 모델, Dash를 결합해 해결하고자 했다. 시스템은 코드 리뷰 시 관련 위협 모델을 자동으로 검색하고, 문서에 정의된 보안 요구사항이 코드에 반영됐는지 비교한다. 분석 결과 구현 PR의 12%만 원래 보안 검토와 연결되어 있었으며, 보안 지식을 코드 리뷰 시점에 자동으로 제공하는 것이 핵심 해결책으로 제시된다. ## 설계와 코드 사이의 보안 격차 - 보안 검토에서는 잠재적 위험, 공격 가능성, 필요한 보호 조치를 위협 모델에 기록한다. - 그러나 개발이 시작되면 위협 모델은 위키나 문서 시스템에 남고, 구현 코드는 별도의 PR에서 관리된다. - 명시적인 링크가 없으면 코드 리뷰어가 과거의 보안 요구사항을 확인하기 어렵다. - Dropbox의 분석 결과: - 구현 PR 중 원래 설계 검토 및 위협 모델을 연결한 비율은 **12%**에 불과했다. - 검증된 79개 쌍 중 **54%**는 보안 검토 후 한 달이 지나서야 PR이 생성됐다. - 보안 검토부터 PR 생성까지의 중앙값은 약 **5주**였다. - 일부 지연은 **11개월 이상**이었다. - 검토 후 2주 이내에 생성된 PR은 **29%**뿐이었다. ## 기존 보안 도구의 한계 - 정적 분석 도구는 코드에 특정 보안 제어가 존재하는지 확인할 수 있다. - 하지만 해당 제어가 설계 검토에서 합의한 요구사항과 일치하는지는 판단하기 어렵다. - 정적 분석은 코드의 패턴은 검사하지만, 설계 의도와 이전에 결정된 보안 맥락은 알지 못하기 때문이다. - 개발자에게 설계 문서와 PR을 직접 연결하도록 요구하거나 알림 봇을 사용하는 방식도 지속적인 준수에 의존한다. - 설계 검토의 약 **15%**는 코드가 먼저 작성된 뒤 사후적으로 진행됐다. - 따라서 자동화 시스템은 기존 검토와 코드를 연결하는 것뿐 아니라, 보안 검토가 필요할 가능성이 있는 작업을 개발 중 조기에 식별하는 역할도 할 수 있다. ## Dash와 MCP를 활용한 컨텍스트 연결 - Dash는 여러 연결된 애플리케이션의 문서를 색인하므로, 기존 위협 모델과 엔지니어링 문서를 통합적으로 검색할 수 있다. - Dropbox는 코드가 리뷰에 제출될 때 관련 위협 모델을 자동으로 검색하도록 시스템을 구축했다. - MCP(Model Context Protocol)는 AI 에이전트가 Dash가 색인한 문서에 접근하도록 하는 연결 계층이다. - 보안 검토 에이전트는 Dash의 MCP 서버를 통해 위협 모델과 관련 문서를 검색하고 읽는다. - 별도의 소스 시스템별 맞춤 통합 없이 여러 컨텍스트를 하나의 에이전트 세션에 결합할 수 있다. ## 요구사항과 구현 코드의 비교 - 코드 리뷰가 시작되면 에이전트는 관련 위협 모델과 보조 문서를 가져온다. - 기초 언어 모델은 문서에 기록된 보안 요구사항과 변경된 코드를 함께 분석한다. - 예를 들어 위협 모델이 특정 엔드포인트에 인증을 요구한다면, 실제 코드가 인증을 강제하는지 판단할 수 있다. - 기존 정적 분석과 달리 단순히 취약한 코드 패턴을 찾는 것이 아니라, **설계 단계의 보안 결정이 구현에 반영됐는지**를 검토한다. - 결과를 별도의 보안 절차가 아니라 개발자가 이미 사용하는 코드 리뷰 과정에 제공하는 것이 중요한 설계 원칙이다. ## 실용적인 결론 보안 검토 문서를 별도로 잘 작성하는 것만으로는 충분하지 않다. 해당 문서의 요구사항이 코드가 검토되는 시점에 자동으로 노출되고 구현과 비교되어야 하며, 이를 위해 조직의 기존 문서 검색 시스템과 MCP 기반 AI 에이전트를 코드 리뷰 흐름에 통합하는 접근이 효과적이다.

meta

Scale" is usually translated as "대 (새 탭에서 열림)

메타(Meta)는 수년간 유지해 온 내부 전용 FFmpeg 포크(fork) 버전을 폐기하고, 최신 기능을 오픈소스 업스트림 버전에 통합함으로써 대규모 미디어 처리 인프라를 성공적으로 현대화했습니다. 이를 통해 매일 수십억 건의 비디오 처리를 더 효율적으로 수행할 수 있게 되었으며, 최신 코덱 지원과 시스템 안정성이라는 두 마리 토끼를 잡았습니다. 결과적으로 메타는 커뮤니티와의 협력을 통해 멀티 레인 트랜스코딩과 실시간 품질 지표 계산 같은 핵심 기능을 표준 FFmpeg에 안착시키는 성과를 거두었습니다. **효율적인 멀티 레인 트랜스코딩 구현** * DASH(Dynamic Adaptive Streaming over HTTP) 환경에서는 하나의 소스 영상을 다양한 해상도와 비트레이트의 '레인'으로 동시에 인코딩해야 하며, 기존의 직렬 방식이나 단순 병렬 프로세스 실행은 중복 디코딩으로 인한 자원 낭비가 심했습니다. * 메타는 단일 FFmpeg 명령 내에서 하나의 디코더가 읽은 프레임을 여러 인코더로 전달하는 구조를 채택하여 프로세스 시작 오버헤드와 컴퓨팅 비용을 대폭 절감했습니다. * 기존 FFmpeg은 여러 인코더 사용 시 각 프레임을 직렬로 처리했으나, 메타의 설계가 반영된 FFmpeg 6.0~8.0 버전부터는 모든 인코더 인스턴스를 병렬로 실행하는 향상된 스레딩 모델이 도입되었습니다. **라이브 스트리밍을 위한 실시간 품질 지표 측정** * 압축에 따른 화질 저하를 수치화하는 PSNR, SSIM, VMAF 등의 지표는 라이브 스트리밍 서비스의 품질 관리에 필수적입니다. * 기존에는 인코딩이 완료된 후 별도의 명령어로 품질을 계산해야 했으나, 메타는 인코딩 파이프라인 내에 디코더를 즉시 배치하는 '인루프(in-loop) 디코딩' 방식을 제안했습니다. * FFmpeg 7.0부터 이 기능이 공식 지원됨에 따라, 단일 파이프라인 안에서 압축 전후 프레임을 실시간으로 비교하여 지연 시간 없이 품질 지표를 추출할 수 있게 되었습니다. **전략적 업스트리밍과 하드웨어 가속기 지원** * 메타는 커뮤니티에 광범위한 이익을 줄 수 있는 범용 기능은 적극적으로 업스트리밍하여 기술적 부채를 줄이는 전략을 취하고 있습니다. * 반면, 메타의 전용 ASIC인 MSVP(Meta Scalable Video Processor) 지원과 같은 특정 인프라 의존적 기능은 표준 API를 준수하되 내부 패치로 관리하여 오픈소스 메인테이너의 부담을 최소화합니다. * 이러한 접근 방식은 표준화된 하드웨어 API를 활용함으로써 내부 가속기와 소프트웨어 파이프라인 간의 마찰을 줄이고 최신 FFmpeg 버전으로의 리베이스(Rebase)를 용이하게 만듭니다. 대규모 미디어 서비스를 운영하는 조직은 자체적인 최적화에 매몰되기보다, 핵심 기능을 오픈소스 표준에 기여함으로써 장기적인 유지보수 비용을 절감하고 생태계의 발전을 도모하는 것이 기술적으로나 사업적으로 유리합니다. 메타의 사례는 내부 포크의 한계를 극복하고 오픈소스 프로젝트와 공생하며 인프라 효율성을 극대화한 모범적인 사례로 평가됩니다.