
1. Discord란?
Discord는 게임 커뮤니티용 실시간 음성·텍스트 채팅 도구로 시작해 서버, DM, 영상 회의, 봇 연동, 파일 공유까지 지원하게 되었습니다. 무료이고 여러 플랫폼에서 쉽게 사용할 수 있어 커뮤니티와 오픈소스 팀에서 인기가 높습니다. 효율을 위해 사내 소통과 협업에 사용하는 기업도 있습니다. 그러나 업무에는 기밀 문서와 개인정보가 포함되므로, 도구를 선택하기 전에 편리함과 안전을 함께 충족하는지 평가해야 합니다.
2. 첨부 파일 CDN을 주의해야 하는 이유
Discord에 이미지나 문서를 올리면 https://cdn.discordapp.com/attachments/…에 저장됩니다. 이 URL은 로그인하지 않고 브라우저에서 직접 열 수 있습니다.
이미 2020년 공식 포럼에서는 삭제 후에도 외부에서 파일에 접근할 수 있다는 우려와 함께 권한 확인 및 확실한 삭제 기능을 요구하는 제안이 있었습니다. Discord 포럼
3. CDN의 작동 방식과 흔한 오해
“메시지를 삭제해도 파일은 남는다.”
- 과거에는 실제로 확인된 사례가 있었습니다. 공식 변경 이후에는 많은 경우 삭제된 메시지의 파일에 외부에서 접근하면 “This content is no longer available.”이 표시됩니다. 다만 즉시 제거되는 것은 아니며 백엔드 처리와 캐시 갱신에 의존합니다. BleepingComputer 보도
“만료되니까 완전히 안전하다.”
- CDN은 여전히 공개되어 있습니다. 미리 다른 곳에 복사한 링크는 유효기간 동안 접근할 수 있습니다. 이전 형식의 링크나 봇 로그에 담긴 URL이 오랫동안 남을 수도 있습니다.
“URL이 길어서 추측할 수 없다.”
- 형식은
{channelId}/{attachment_id}/{파일명}입니다. 채널 ID와 파일명은 추측 가능하거나 공개되어 있을 수 있고, 추측하기 어려운 부분은 무작위attachment_id입니다. 무차별 대입 성공 확률은 매우 낮지만 0은 아닙니다.

추측하기 어렵다는 것이 유출되지 않는다는 뜻은 아닙니다. 복사된 링크나 봇·로그 시스템에 기록된 URL로 다시 접근할 수 있습니다.
4. 실제 위험: URL 구조부터 악용까지
- 공개 접근을 통한 유출: 비공개 채널에 올린 이미지도 URL이 유출되면 누구나 브라우저에서 열 수 있습니다. 메시지를 수집하거나 로그를 만드는 확장 기능과 봇이 의도치 않게 링크를 퍼뜨리기도 합니다.
- 악성 파일의 무료 호스팅: 공격자가 Discord CDN에 악성코드를 올리고 피싱 메일이나 게시물에 링크를 넣어 기존 호스팅 차단을 우회한 사례가 보안 연구에서 보고되었습니다. Zscaler 연구
- 과거 데이터의 장기 잔존: 계약서나 신분증 스캔을 공유했다면 링크가 봇 로그나 메시지 백업에 퍼져 있을 수 있습니다. 메시지를 지워도 사본이 남지 않았다고 보장할 수 없습니다.
5. Discord의 개선: 임시 링크와 검증
Discord는 2023년 말 24시간 유효한 임시 CDN 링크를 전면 도입하겠다고 발표했습니다. URL에 서명과 만료 시간인 ex, is, hm 매개변수를 추가하여 장기 접근과 악성 호스팅을 막는 방식입니다. Reddit 논의, BleepingComputer
- Discord 안에서 첨부 파일을 열면 새 링크를 자동으로 가져와 사용 경험을 유지합니다.
- 외부에 공유한 링크는 만료 후 열리지 않아 장기간 노출될 위험을 줄입니다.
- 이전 메시지나 타사 봇 로그의 오래된 URL은 만료 후 다시 가져와야 합니다.
가능성이 낮아도 유효기간 안에 다운로드하거나 백업할 수 있습니다. 과거 파일 모두가 만료 대상에 포함되는지도 공식 적용 상황에 따라 달라집니다.
6. 놓치기 쉬운 취약 지점: 봇 권한
지금까지는 파일 자체를 이야기했습니다. 하지만 Discord 서버에는 막대한 권한을 가지고도 거의 주목받지 않는 존재가 있습니다. 바로 봇입니다.
봇을 초대하면 요청 권한을 나열한 승인 화면이 나옵니다. 많은 사람은 그대로 아래로 내려 “승인”을 누릅니다. 설정을 간소화하려고 처음부터 **“관리자(Administrator)”**를 요구하는 봇도 많습니다.
관리자 권한은 얼마나 강력할까요?
- 모든 채널 권한 설정 우회: 관리자만 보도록 만든 비공개 채널도 관리자 권한 봇은 과거 메시지와 첨부 링크까지 볼 수 있습니다.
- 서버 전체 변경: 채널 삭제, 멤버 추방·차단, 웹훅 생성, 역할 조정 등을 수행할 수 있습니다.
- 눈에 띄지 않는 존재: 사람처럼 대화하지 않고 멤버 목록에 조용히 남아 있어, 누가 왜 초대했는지 잊히기도 합니다.
위험은 어디에서 생길까요?
봇 자체가 악의적이지 않아도 문제는 있습니다. 통제할 수 없는 제삼자에게 서버 전체의 열쇠를 맡기는 셈입니다.
- 봇 침해 또는 토큰 유출: 봇은 토큰으로 로그인합니다. 개발자가 실수로 공개 GitHub에 올리는 등 토큰이 유출되면 공격자는 봇의 모든 권한을 사용할 수 있습니다. 관리자 권한을 주었다면 공격자도 관리자입니다.
- 소유자 변경이나 유지보수 중단: 소규모 봇은 개인이 운영하는 경우가 많습니다. 프로젝트 양도, 개발자 계정 도용, 개발 중단이 일어나도 봇은 같은 권한으로 서버에 남습니다.
- 모든 메시지 내용 읽기: 메시지 내용에 접근할 수 있는 봇은 자신이 볼 수 있는 채널의 모든 메시지를 읽습니다. 관리자 권한까지 있으면 모든 채널이 대상이며 첨부 링크도 기록할 수 있습니다.
- 역할을 통한 권한 확대: “역할 관리” 권한이 있는 봇은 자신의 역할보다 낮은 역할을 다른 사람에게 부여할 수 있습니다. 봇 역할이 너무 높으면 봇이나 이를 조종하는 사람이 간접적으로 다른 사람의 권한을 높일 수 있습니다.
어떻게 대응해야 할까요?
- 필요한 권한만 부여: 승인 화면을 읽고 특히 관리자 등 불필요한 권한을 해제합니다. 잘 설계된 봇은 무조건 관리자를 요구하지 않고 기능별로 필요한 권한을 선택하게 합니다.
- 정기 점검: “서버 설정 → 연동”에서 사용하지 않는 봇을 제거하고 각 봇 역할의 권한과 순서를 확인합니다.
- 민감한 채널 분리: 기밀 채널에서 봇의 “채널 보기”를 명시적으로 거부합니다. 단, 관리자 권한이 있으면 이 설정은 적용되지 않습니다.
- 봇 초대 권한 제한: “서버 관리” 권한이 있는 사람만 봇을 추가할 수 있으므로 소수의 신뢰하는 사람에게만 부여합니다.
- 관리 작업에 2단계 인증 요구: 서버 안전 설정에서 켜면 소유자가 2단계 인증을 설정하지 않은 봇도 추방, 차단, 메시지 삭제 등의 관리 작업을 할 수 없게 됩니다.
- 개인 승인 앱 확인: “사용자 설정 → 승인한 앱”에서 모르는 승인을 제거합니다. 가짜 앱 승인을 유도하는 계정 탈취 사기가 많습니다.
봇은 서버에서 권한이 가장 크면서도 가장 주목받지 않는 멤버일 수 있습니다. 초대 전 승인 화면을 확인하는 것이 사고 후 수습보다 훨씬 쉽습니다.
7. 스스로를 보호하는 실천 방법
- 과거 메시지 점검: 업무 그룹과 DM을 다시 확인하고 개인정보, 계약, 재무 정보가 담긴 파일과 이미지를 삭제합니다.
- 전송 수단 변경: 기밀 문서는 회사 클라우드 저장소, 종단 간 암호화 도구, 권한 감사 기능이 있는 기업용 채팅 플랫폼으로 옮깁니다.
- 멤버 교육: URL이 있다고 안전한 것은 아니라는 점과 공개 게시판이나 커뮤니티에 파일 링크를 올리지 말아야 한다는 점을 알립니다.
- 봇 로그와 권한 확인: 로그 저장 위치와 접근 권한을 확인해 유출원이 되지 않도록 하고, 앞서 설명한 방법으로 봇 권한을 줄입니다.
- 접근 권한 설정: 서버 수준 설정으로 첨부 업로드와 로그 열람 권한을 제한하여 유출 가능성을 줄입니다.
8. 확률이 낮아도 무시할 수는 없습니다
무작위 대입으로 유효한 attachment_id를 알아내는 것은 이론적으로 거의 불가능합니다. 그러나 정보보안에서 0.01%의 위험도 기업 기밀에는 100%의 재앙이 될 수 있습니다.
어떤 시스템도 완벽하게 안전하다고 믿어서는 안 됩니다. 사진이 공개 호스팅되고 긴 URL로 가려져 있을 뿐임을 알았다면 민감한 정보를 안심하고 맡겨서는 안 됩니다.
9. 맺음말
Discord는 일반 커뮤니티에는 편리하고 유연하지만, 규정 준수와 기밀 보호가 필요한 기업에서는 공개 CDN 설계를 추가로 평가해야 하는 양날의 검입니다. 임시 링크는 개선이지만 엄격한 정보 관리 절차를 대체하지 못합니다. 무심코 관리자 권한을 준 봇도 많은 서버에서 점검하지 않은 뒷문이 될 수 있습니다.
도구의 편리함과 데이터의 가치 중 무엇이 더 중요할까요? 의사결정자는 Discord를 공식 업무 흐름에 넣기 전에 요구 사항을 분명히 해야 합니다. 믿을 수 있는 보호는 결국 유출될 수 있는 무작위처럼 보이는 URL 하나가 아니라 사람과 제도에서 나옵니다.
이 글은 번체 중국어 원문을 AI로 번역했습니다. 의미나 표현에 차이가 있을 수 있으니 정확한 내용은 번체 중국어 원문을 기준으로 확인해 주세요.