소규모 사업체는 CVE를 읽지 않습니다. 그래서 번역기를 만들었습니다.
요약
AlertCadence는 복잡한 보안 권고(CVE)를 중소기업 소유주가 이해하기 쉬운 영어 브리프로 자동 변환하는 도구입니다. 이 도구는 CISA의 활성 공격 취약점 피드를 가져와, 비즈니스에 중요한 항목만 선별하고 세 가지 핵심 문장으로 재작성합니다. 특히 사용자 기기에서 실행되는 로컬 모델을 사용하여 데이터 보안 우려를 해소했습니다.
핵심 포인트
- 복잡한 CVE 정보를 중소기업 맞춤형 브리프로 변환
- CISA의 활성 공격 취약점 피드를 활용하여 정보 제공
- 로컬 오픈 모델 구동으로 고객 데이터 전송 위험 최소화
- MSP가 고객에게 신뢰할 수 있는 주간 보안 보고서 제공 가능
이것은 Hacktoberfest 오픈소스 AI 챌린지 주차 2: 부업(Side Hustle)에 제출하는 내용입니다.
구축 내용 (What I Built)
AlertCadence는 원시적인 보안 권고(security advisories)를 중소기업이 실제로 읽을 수 있는 쉬운 영어 브리프로 변환하는 도구입니다.
보안 권고는 엔지니어를 위해 작성됩니다. 중소기업 소유주는 "조작된 요청을 통한 경로 탐색(path traversal via crafted request)" 같은 내용을 읽지 않고 훑어보고 넘어갑니다. 관리형 IT 서비스 제공업체(Managed IT providers, MSPs)는 이를 끊임없이 느낍니다. 그들은 고객에게 "무엇을 패치해야 하고 왜 중요한지" 알려줘야 하지만, CVE를 차분하고 명확한 언어로 수동 번역하는 작업은 월요일 아침 시간을 잡아먹습니다.
AlertCadence가 이 번역 작업을 수행합니다. 이 도구는 CISA의 활성 공격(actively exploited) 취약점 피드를 가져와, 중소기업이 실제로 사용하는 소프트웨어에 영향을 미치는 항목만 걸러내고, 각 항목을 세 개의 쉬운 문장으로 재작성합니다: 무슨 일이 발생했는지, 귀하의 비즈니스에 왜 중요한지, 그리고 우리가 무엇을 하고 있는지입니다. 이 모든 것은 사용자 자신의 기기에서 실행되는 모델에 의해 생성됩니다.
이 도구의 잠재적 구매자는 다음과 같습니다: 처음부터 작성하지 않고, 고객 데이터를 클라우드 AI로 전송하지 않으면서도 고객에게 신뢰할 수 있는 주간 보안 브리프를 보내고 싶은 MSP입니다.
데모 (Demo)
🔗 실시간 보기: alertcadence.tech
랜딩 페이지에서 도구에 대해 설명하며, **"이번 주 브리프 보기 →"**를 클릭하면 로컬 모델이 실시간 CISA 데이터로 생성한 실제 브리프가 열립니다. 여기에는 현재의 6가지 권고 사항(Fortinet, Apple, SharePoint, WordPress, Magento, Google Pixel)이 포함되어 있으며, 각 항목은 쉬운 영어로 번역되었고 랜섬웨어와 관련된 내용이 가장 먼저 나열됩니다.
코드 (Code)
GitHub logo Tash925 / alertcadence
소규모 사업체를 위한 쉬운 영어 보안 브리프를 로컬 오픈 모델로 생성하다. Hacktoberfest 2026.
AlertCadence
소규모 사업체를 위한 쉬운 영어 보안 브리프 — 로컬 오픈 모델이 생성했습니다.
Hacktoberfest 2026 Open-Source AI Challenge, Week 2: Side Hustle에 맞춰 제작된 프로젝트이며 DataSec Chronicles의 결과물입니다.
실시간 사이트: alertcadence.tech
로컬 모델을 사용하여 실시간 CISA 데이터를 기반으로 생성한 실제 브리프 — 모든 권고문은 쉬운 영어로 작성되었으며, 랜섬웨어 관련 내용이 먼저 다루어집니다.
기능 설명 (What it does)
보안 권고문(Security advisories)은 엔지니어를 대상으로 작성됩니다. 소규모 사업체 주인은 "조작된 요청을 통한 경로 탐색(path traversal via crafted request)" 같은 문구를 읽지 않습니다. 그들은 빠르게 훑어보고 넘어갑니다.
AlertCadence가 번역합니다. 이 시스템은 CISA의 현재 활발하게 악용되는 취약점 피드(feed)를 가져와, 소규모 사업체가 실제로 사용하는 소프트웨어에 영향을 미치는 내용만 걸러내고, 각 내용을 세 개의 쉬운 문장으로 다시 작성합니다:
- 무슨 일이 발생했는가 (What happened) — 문제점을 쉬운 영어로 설명
- 당신의 비즈니스에 왜 중요한가 (Why it matters to your business) — 실질적인 위험성 제시
- 우리가 무엇을 하고 있는가 (What we're doing) — 관리 서비스 제공업체(MSP)가 사용할 만한 안심시키는 선제적 언어
그 결과물은 MSP가 검토하고 보낼 수 있는 깔끔한 HTML 브리프 하나입니다…
파이썬 파이프라인: fetch → extract → summarize → store → render. README에서 각 단계를 안내합니다.
구축 과정 (How I Built It)
로컬 오픈 가중치 모델 — Ollama를 통한 Google Gemma (gemma2:2b).
전체 파이프라인은 제 자신의 컴퓨터에서 실행됩니다. 하지만 흥미로운 부분은 제가 그 모델을 어떻게 사용했는지, 그리고 무엇을 하지 못하게 했는가 하는 점입니다.
2B(20억 개 매개변수) 모델은 작습니다. 원본 권고문을 입력하면, '쉬운 영어' 안에 악용 구문(exploit syntax)이 새어 나오고, 마크다운(Markdown)으로 흐트러지며, — 무엇보다 보안상 위험한 것은 — 출처가 모호할 때 세부 정보를 지어냅니다. 프롬프트(prompt)를 강화하는 것이 약간의 도움은 되었습니다. 하지만 충분하지 않았습니다.
작동했던 방식은 모델에게 더 작은 임무를 주는 것이었습니다. 결정론적(deterministic) Python 단계가 먼저 소수의 고정된 사실들—공급업체, 제품, 결함 유형, 랜섬웨어 플래그—을 추출하고, 모델은 오직 _이것들_만 받습니다. 모델은 본 적 없는 익스플로잇 구문을 유출할 수 없습니다. 평가하지 않은 관련성을 잘못 판단할 수도 없습니다. 가드레일(guardrail)은 프롬프트가 아니라 아키텍처입니다.
어드바이저리(advisory)의 세부 정보가 실제로 빈약할 경우, 모델에게 추측하는 대신 명확하게 그렇게 말하도록 지시합니다. 저는 이를 의도적으로 테스트해 보았는데—거의 공개된 세부 정보가 없는 취약점을 공급하여—메커니즘을 발명하는 대신 다음과 같이 답했습니다: "구체적인 내용은 아직 공개되지 않았습니다." MSP(Managed Service Provider) 이름으로 나가는 모든 콘텐츠에 있어서, 이러한 정직함이 전부입니다.
저장소 — MongoDB Atlas, 생성된 모든 요약본의 영속적인 기록을 유지하며, 데이터베이스가 연결 불가능할 경우 파이프라인이 멈추지 않도록 로컬 JSON 폴백(fallback) 기능을 갖춥니다.
데이터 — CISA Known Exploited Vulnerabilities, 모든 것이 실제로 익스플로잇된 것으로 확인되므로 위험도가 원천에서 미리 필터링됩니다.
Open Innovation이 중요한 이유
프로젝트가 작동하는 근본적인 세 가지 이유가 있습니다:
- 개인정보 보호(Privacy). 이것은 MSP가 클라이언트 목록을 대상으로 실행할 도구입니다. 클라우드 API를 사용한다는 것은 그 데이터를 다른 사람의 서버로 전송한다는 의미입니다. 로컬 오픈 모델은 데이터가 기기를 떠나지 않음을 의미하는데—보안 도구에게 있어서 이는 '있으면 좋은 것'이 아니라, 신뢰할 수 있는 유일한 이유입니다.
- 비용(Cost). 오픈 웨이트(open-weight) + 로컬 = 요약본당 $0. 토큰당 비용이 없으므로, MSP는 어차피 보내야 할 커뮤니케이션에 대한 전체 마진을 유지할 수 있습니다.
- 통제력(Control). 저는 작은 오픈 모델을 제가 필요한 방식대로 정확하게 제어할 수 있었습니다—오직 미리 추출된 사실들만 공급하고, 불확실성을 인정하도록 강제하는 식입니다. 모델의 입력에 대한 이러한 엄격한 통제가 보안 콘텐츠에 안전하게 사용할 수 있도록 만든 것입니다. 폐쇄형 API는 그러한 통제력을 덜 제공합니다.
오픈 소스 요소들은 장식이 아닙니다. 그것들이 이 도구가 존재할 만큼 신뢰할 수 있게 만드는 핵심입니다.
저의 첫 사용자
아직 유료 사용자는 없지만 — 이 프로젝트를 공개적으로 만들었고, 문제에 가장 가까운 사람들의 반응이 진정한 초기 신호였습니다.
접근 방식을 공유하면서 몇 가지 반응이 눈에 띄었습니다. 즉, 로컬 모델을 사용하여 CVE 텍스트를 일반 영어로 변환하는 것이 보안 팀이 없는 소규모 사업체가 필요한 정확한 번역 계층이며, 모델이 실행되기 전에 관련 소프트웨어를 필터링하는 것이 올바른 순서라는 점입니다. 모델은 원본 피드가 아니라 로직을 통과한 내용만 봐야 합니다.
가장 유용했던 교류는 테스트 연구소 웹사이트에서 챗봇을 운영하는 사람에게서 나왔습니다. 그들은 모델이 세부 정보가 공개되지 않았다고 인정하는 부분에 주목했습니다. 왜냐하면 그들의 세계에서는 꾸며낸 답변이 아무 답변도 없는 것보다 더 나쁘기 때문입니다. 그들은 이러한 '세부 정보 이용 불가' 사례를 회귀 테스트(regression test)로 저장할 것을 제안했습니다. 따라서 미래 모델 업데이트가 조용히 빈칸을 채우기 시작하면, 그것이 빠져나가는 대신 크게 실패하도록 만들 수 있습니다. 이것이 제가 다음으로 구축할 것입니다.
제가 공개적으로 프로젝트를 만드는 이유가 바로 여기에 있습니다. 환각(hallucination)에 의해 피해를 본 누군가가 저에게 다음 기능을 제공했습니다. 그다음 단계는 실제 소규모 사업주들로부터 피드백을 받아, 이 자료들이 의도한 사람들에게 얼마나 명확하게 전달되는지 확인하는 것입니다.
수상 부문
- Gemma 활용 최우수: Gemma (오픈 웨이트, Ollama를 통해 사용)가 엔진이며, 전체 프로젝트는 작고 로컬 모델을 제약하여 안전하고 차분하며 비기술적인 보안 글쓰기를 생성하도록 구축되었습니다.
- MongoDB Atlas 활용 최우수: 모든 자료의 권고 사항과 요약을 저장하며, 우아한 로컬 폴백(local fallback) 기능을 제공합니다.
- 최우수 .tech 도메인: alertcadence.tech에서 라이브 중입니다.
DataSec Chronicles가 💜를 담아 제작했습니다. 도구는 변하지만, 질문은 변하지 않습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기