Lagune과 Deepsec(v2.2.1)은 AI를 활용한 개발 시대의 보안이라는 같은 문제에 대한 두 가지 방어적 해답입니다. 메커니즘이 겹치는 부분이 있더라도, 두 프로젝트는 전제도, 처음과 중간과 끝도, 사용자에게 드러나는 모습도 의도적으로 다르게 설계되었습니다.
Lagune은 Deepsec에서 영감을 받았나요? 아니요. Lagune은 처음부터 새로 작성한 프로젝트이며, Spec-Driven Development와 Security Hardening에서 영감을 받았습니다. 두 프로젝트는 서로 독립적으로 개발되었고, 이 비교는 사용자가 둘의 차이를 이해하도록 돕기 위한 것입니다.
한눈에 보기
| 항목 | Lagune | Deepsec |
|---|---|---|
| 유형 | 참조 구현을 갖춘 방법론(SDH) | 제품: 에이전트 기반 취약점 스캐너 |
| 중심축 | 결정론적 훅을 토대로, 보안 원칙과 필요할 때만 불러오는 지식이 에이전트를 이끄는 구조 | 넓게 친 정규식 그물이 필수 AI 조사로 이어지는 구조 |
| 결과물 | 보안이 강화된 코드, 증명, 추적되는 발견 사항 체인 | 심각도순으로 정렬하고 트리아지를 거친 발견 사항 보고서 |
| 코드 수정 여부 | 예: harden 단계가 코드를 수정 | 아니요: 정적 분석만 하며, 발견 사항과 권장 사항 텍스트를 출력 |
| 실행 환경 | 이미 쓰고 있는 에이전트와 모델에서 실행, 모델 등급 제한 없음 | 자체 모델 파이프라인에서 실행, 기본값은 프런티어급 모델 |
| 시작 방법 | 플러그인 한 번 설치 또는 npx skills add 실행 후 일상 언어로 지시, 새로 구축할 도구 없음 | .deepsec/ 워크스페이스 구성, 의존성 설치, 모델 키 추가 |
작동 방식
Lagune은 에이전트 우선 방식으로, 에이전트가 작업을 이끌고, 코드의 성격에 맞는 지식을 필요할 때만 불러오며, 판정할 수 있는 부분은 결정론적 훅에 맡깁니다.
Deepsec은 결정론적 처리 우선 방식으로, 넓은 범위의 스캔이 후보를 잡아내면 그 후보가 반드시 거쳐야 하는 모델에게 무엇을 조사하고 판단할지 알려 줍니다.
| 항목 | Lagune | Deepsec |
|---|---|---|
| 순서 | 보안 원칙과 코드에 맞는 지식이 에이전트를 이끌고, 에이전트는 일부를 훅에 맡긴 뒤 나머지를 직접 판단 | 매처(matcher)가 후보를 잡아내고, 모델이 후보마다 조사해 판단 |
| 결정론적 처리의 역할 | 판정을 돌려주거나 에이전트가 살필 곳을 짚어 주는 다국어 훅, 카테고리 지식과 함께 사용 | 필수 모델이 판단할 후보를 잡아내는 매처 |
| 개발 흐름 | 코드를 작성하는 동안 /lagune 명령어가 그 자리에서 안전하게 구축 | 코드를 검토할 뿐, 작성하지는 않음 |
| 감사 흐름 | charter → detect → plan → harden → verify | scan → process → triage → revalidate → report |
| AI의 역할 | 지식을 바탕으로 추론하고, 수정을 적용하고, 그 수정이 실제로 효과가 있는지 증명 | 모든 후보를 조사하고 발견 사항을 보고 |
수명 주기
Lagune은 코드를 작성하기 전에도, 작성하는 중에도, 작성한 후에도 작동합니다. Deepsec은 코드가 생긴 뒤에 저장소를 검토합니다.
| 시점 | Lagune | Deepsec |
|---|---|---|
| 코드가 없을 때 | charter 단계가 밝힌 의도를 바탕으로 보안 정책 수립 | 기존 코드에서 시작: init 명령어에 디렉터리 필요 |
| 개발 중 | /lagune 명령어가 그 자리에서 기본적으로 안전하게 구축, 남는 산출물 없음 | 개발 중이 아닌 개발 후에 검토 |
| 기존 코드 | detect → plan → harden → verify | 핵심 흐름인 scan → process |
| 지속적인 검토 | 범위별로 단계를 다시 실행, 기본 제공 CI 게이트 없음 | 증분 재스캔, CI 종료 게이트 역할을 하는 process --diff |
탐지 계층
두 프로젝트의 결정론적 계층은 성격이 정반대여서, 한쪽은 판정하고 다른 한쪽은 후보를 잡아냅니다.
| 항목 | Lagune | Deepsec |
|---|---|---|
| 묶는 방식 | 카테고리별로 묶은 훅과 전문 지식 | 패턴이나 프레임워크별 매처 |
| 출력 | 명시적인 판정(finding / review / advisory)과 분류(classify) 레이블 | 판정 없는 후보(slug, 줄, 코드 조각, 일치한 패턴) |
| 튜닝 | 정밀도 중심: 주석 인식, 플레이스홀더 가드와 윈도 가드 | 재현율 중심: 넓은 그물, 오탐은 나중에 AI가 걸러 냄 |
| 깊이 | 두 프로젝트가 공통으로 다루는 유형에서 더 깊음 | 더 넓지만, 공통으로 다루는 유형에서는 덜 깊음 |
| 오탐 | 발생 지점에서 낮게 억제한 뒤 컨텍스트 안에서 판단 | 의도적으로 많이 만들어 낸 뒤 revalidate 과정에서 줄임 |
지식과 판단
두 프로젝트 모두 정규식으로는 담을 수 없는 보안 지식을 갖추고 있습니다. 차이는 그 지식이 어디에 있고 누가 다듬을 수 있는지에 있습니다.
| 항목 | Lagune | Deepsec |
|---|---|---|
| 형태 | 편집할 수 있는 Markdown 모듈, 그중 여러 개는 결정론적 훅이 뒷받침 | 짧은 프롬프트와 기술별 요점, 모델 자체의 지식에 의존 |
| 선택 방식 | 코드에 맞는 모듈만 골라, 해당 컨텍스트가 있을 때만 불러옴 | 모든 AI 배치에 주입, 탐지된 기술의 요점도 추가 |
| 작성 주체 | 사용자가 모듈을 편집하고, specialize 명령어로 새 모듈 추가 | 프롬프트는 메인테이너가 관리하고, 사용자는 INFO.md 파일 작성 |
| 판단 주체 | 훅이 자신이 맡은 최소 기준을 판정하고, 나머지는 에이전트가 지식을 바탕으로 판단 | 중앙 집중형: 하나의 AI 프로세서가 모든 후보를 판단 |
| 재사용 | 하나의 모듈이 detect 단계와 verify 단계를 모두 안내 | 하나의 프롬프트가 단 하나뿐인 process 단계를 구동 |
발견 사항과 종결
두 프로젝트가 가장 크게 갈리는 지점은 해결된 발견 사항이 이후 어떻게 되느냐입니다.
| 항목 | Lagune | Deepsec |
|---|---|---|
| 심각도 | 노출 정도와 사안의 중대성에 맞춰 조정한 CVSS v4.0 점수 | AI가 매긴 심각도와, 악용 가능성과 영향도에 따른 P0 / P1 / P2 트리아지 |
| 판정 | Risk closed, Risk not closed, Cannot tell from the code 중 하나 | true-positive, false-positive, fixed, uncertain, accepted-risk, duplicate |
| 보존 방식 | 작업 중인 체인은 현재 상태와 대조해 갱신하고, 종결된 발견 사항은 핵심만 정리해 이력으로 남김 | 파일별 추가 전용 기록, 아무것도 삭제하지 않음 |
| 최종 상태 | 종결 가능: 증명된 발견 사항은 종결되고, 체인은 안정 상태가 될 수 있음 | 모든 발견 사항을 영구 보관하고, 해결되면 화면에서 숨김 |
| 이력의 상세도 | 어떤 위험이었는지에 대한 간결한 요약 | 어떻게 수정했는지까지 담은 판정 기록 전체 |
비용
| 항목 | Lagune | Deepsec |
|---|---|---|
| 결정론적 최소 기준 | 무료: 훅은 AI도 키도 없이 실행되며, 그 단계에서 이미 판정을 내림 | 무료: scan 명령어는 AI 없이 실행되지만, 그 자체로는 판정을 내리지 않음 |
| 일반적인 비용 | 이미 쓰고 있는 에이전트 비용에 포함: 로컬 모델이면 $0, 이미 이용 중인 요금제라면 그 요금 그대로, API 기반 사용이라면 반복마다 과금 | 파일 100개에서 2,000개 기준 1회 실행에 약 $25에서 $1,200, 규모가 커지면 그 이상 |
| 가장 저렴한 방법 | 무료 로컬 모델을 포함해 어떤 모델로든 사이클을 마무리 | 더 저렴한 유료 등급도 있지만, 발견 사항을 얻으려면 유료 AI 단계가 필요 |
확장성과 거버넌스
각자 상대가 닫아 둔 계층을 열어 둡니다.
| 항목 | Lagune | Deepsec |
|---|---|---|
| 확장 대상 | 모듈을 편집하거나, specialize 명령어로 새 모듈 추가 | 매처, 에이전트, 알림 기능, 소유자 정보 추가 |
| 정책 계층 | 보안 원칙이 모든 단계를 규율하며, 버전 관리됨 | 설정은 운영용(매처, 모델, 경로) |
| 이름으로 재정의 | 다듬은 모듈이 같은 이름의 내장 모듈을 가림 | 매처 slug가 겹치면 사용자의 매처가 우선 |
인터페이스
Deepsec은 보안 조직에 전달할 결과물을 만들어 냅니다. Lagune은 실행하는 사람을 위해 실시간 뷰를 보여 줍니다.
| 항목 | Lagune | Deepsec |
|---|---|---|
| 사람이 보는 화면 | 체인 전체를 쉬운 말로 보여 주는 로컬 실시간 대시보드 | 보고서, 내보내기, 지표, PR 코멘트 파일과 문서 사이트 |
| 책임 소재 | 관련 파일과 적용된 전문 지식을 드러냄 | 추천 담당자 지정: 온콜 담당자, 매니저, 커미터 |
| 재현 가능한 증명 | prove 명령어가 실행 가능한 테스트와 공개용 보안 권고를 작성 | 설계상 정적 분석에 머물며, 대상을 실행하지 않음 |
| 도구 자체 방어 | 대시보드의 로컬 쓰기 API 보안 강화 | 신뢰할 수 없는 대상 코드에 맞서 자체 AI 실행 보안 강화 |
규모와 배포
| 항목 | Lagune | Deepsec |
|---|---|---|
| 설치 | 에이전트의 플러그인이나 skills CLI로 받는 명령어 9개, 미리 생성되는 파일 없음 | 자체 패키지와 의존성을 갖춘 .deepsec/ 워크스페이스 |
| 규모의 방향 | 컨텍스트 하나, 파일 하나부터 프로젝트 전체까지 어떤 범위로든 좁힐 수 있음 | 저장소 전체를 스캔하며, 대규모 모노레포까지 지원 |
| 분산 실행 | 로컬 전용, 유일한 서버는 루프백에 바인딩 | 선택적으로 Vercel Sandbox 워커 VM에 분산 |
사용자 경험
각 도구가 실행하는 사람을 맞이하는 방식, 즉 첫 실행에 필요한 것과 실행하는 사람이 작업 대상을 겨누는 방법입니다.
온보딩
Lagune은 이미 열려 있는 에이전트를 통해 실행됩니다. Deepsec은 먼저 자체 워크스페이스와 모델 접근 권한을 준비합니다.
| 항목 | Lagune | Deepsec |
|---|---|---|
| 첫 명령어 | 플러그인 설치 또는 npx skills add wellwelwel/lagune, 이후 에이전트에서 /lagune-* 실행 | npx deepsec init 실행 후 cd .deepsec, pnpm install, scan, process |
| 실행에 필요한 자격 증명 | 별도 키 없음, 지금 쓰는 에이전트를 그대로 사용 | 모델 키(예: AI Gateway, 유효 시간 12시간인 Vercel OIDC 토큰, Anthropic 토큰) |
지시하기
두 도구 모두 지시를 받습니다. Lagune은 단계마다 입력의 형태를 읽어 냅니다. Deepsec은 같은 조사를 실행할 파일 범위를 좁힙니다.
| 항목 | Lagune | Deepsec |
|---|---|---|
| 프로젝트 전체 | 입력 없이 실행한 단계는 범위 전체를 스캔 | scan 명령어와 process 명령어가 저장소 전체를 스캔 |
| 일부 범위 | 어떤 단계든 지정한 파일이나 디렉터리로 범위를 좁힘 | --files, --files-from, --diff 옵션으로 실행 범위를 좁힘 |
| 우려 사항 | 단계의 범위를 사용자가 설명한 우려 사항으로 좁힘 | 조사 프롬프트는 고정 |
| 우선순위 구간 | harden 단계와 verify 단계의 범위를 치명적, 높음, 중간, 낮음 중 하나로 좁힘 | 발견 사항 레이블은 실행 후에 붙음 |
| 단일 값 | 훅이 코드 조각, 패턴, URL 하나에 직접 점수를 매김(--pattern, --url) | 작업 단위는 파일 |
자주 묻는 질문
Lagune은 에이전트 우선 방식으로, 코드를 작성하기 전에도, 작성하는 중에도, 작성한 후에도 작동합니다. 코드를 쓰기 전에는 정책을 정하고, 개발하는 동안에는 그 자리에서 보안을 강화하며, 이미 작성된 코드는 점검하고, 보안을 강화하고, 검증합니다. Deepsec은 결정론적 처리 우선 방식으로, 넓은 범위의 정규식 스캔 결과가 반드시 거치는 프런티어 모델의 조사로 이어지며, 이 조사는 기존 코드를 검토해 발견 사항을 보고할 뿐 코드를 변경하지는 않습니다.
Lagune은 무료 로컬 모델로 전체 흐름을 $0에 실행할 수 있고, 결정론적 훅은 AI 없이도 판정을 내립니다. Deepsec의 스캔은 무료지만 판정을 내리지 않으므로, 발견 사항을 얻으려면 반드시 유료 AI 단계를 거쳐야 합니다.
Lagune은 harden 단계에서 코드에 수정을 적용합니다. 반면 Deepsec은 정적 분석만 하므로 코드를 수정하지 않으며, 사람이나 에이전트가 따로 적용해야 하는 발견 사항과 권장 사항 텍스트를 출력합니다.
