도구

/lagune-prove: 방어 전용 개념 증명(PoC)

탐지한 발견 사항마다 실행할 수 있는 방어 전용 개념 증명(PoC)과 책임 있는 공개를 위한 보안 권고를 만듭니다.

🧪 탐지한 발견 사항 하나하나를 책임 있는 공개에 쓸 수 있는, 실행 가능한 방어 전용 증거로 만드세요.

탐지 맵에 있는 발견 사항마다 단독으로 읽을 수 있는 보안 권고와 안전한 경로를 검증하는 테스트를 작성합니다. 그래서 테스트는 문제가 남아 있는 동안 실패하고, 코드를 수정하면 통과합니다.

팁

Lagune의 테스트는 프로젝트 자체 테스트 스위트와 분리되어 .lagune/ 폴더 아래에 따로 보관됩니다.

사용법​

/lagune-prove

작동 방식​

각 발견 사항이 가리키는 소스 코드를 읽고, 증명한 발견 사항마다 .lagune/proofs/ 폴더 아래에 디렉터리를 하나씩 만듭니다. 각 디렉터리에는 파일이 정확히 2개 들어갑니다.

파일설명
report.test.mjs (또는 .cjs)테스트 파일입니다. 프로젝트에서 이미 Poku를 사용하고 있으면 Poku로, 그렇지 않으면 Node.js 기본 테스트 러너로 실행되므로 따로 설치할 것이 없습니다.
report.md심각도, 영향, 재현 방법, 실행 명령어를 모두 담아 단독으로 읽을 수 있는 보안 권고입니다.

증명은 항상 JavaScript로 작성되므로, 프로젝트가 어떤 언어로 작성되었든 그대로 옮겨 쓸 수 있습니다. 인덱스 역할을 하는 README.md 파일은 모든 증명을 링크하고, 전체를 한 번에 실행하는 명령어 하나를 제공합니다.

팁
  • 선택 사항이자 독립적인 명령어입니다. 다섯 단계 중 하나가 아니며, 추적 체인에도 속하지 않습니다.
  • .lagune/proofs/ 폴더에만 쓰며, 단계 산출물과 코드는 읽기만 할 뿐 절대 수정하지 않습니다.
  • 테스트로 문제가 재현되지 않는 발견 사항은 증명을 만들지 않고, 해당 위치에 /lagune-detect 명령어를 실행해 현재 상태와 대조해 갱신하라고 안내합니다.
  • 다시 실행하면 증명을 현재 상태와 대조해 갱신합니다. 사라졌거나 더 이상 재현되지 않는 발견 사항은 해당 디렉터리를 삭제합니다.
important

직접 호출할 때만 실행됩니다: 에이전트가 스스로 시작하는 일은 없습니다.

detect 단계 결과를 바탕으로 동작

prove 명령어는 /lagune-detect 명령어가 만든 탐지 맵을 읽으므로, detect 단계를 먼저 실행하세요.

방어 전용, 권한이 있을 때만​

무엇이든 생성하기 전에 대상을 테스트할 권한이 있는지 확인하며, 실제로 작동하는 익스플로잇, 공격 페이로드, 탐지 회피 기법을 요청하면 모두 거절합니다. 증명은 안전한 동작을 보여 줄 뿐, 공격 입력은 절대 만들지 않습니다.

증명에서 공개까지​

취약점을 보고할 때는 증명한 발견 사항의 두 파일을 하나의 비공개 GitHub Gist에 함께 올리세요. 두 파일은 아직 공개되지 않은 채 남아 있는 문제의 증거이므로, .gitignore 파일이 .lagune/proofs/ 폴더 안에서 이 파일들을 모든 커밋에서 제외합니다. 메인테이너가 문제를 해결할 때까지는 그 Gist를 통해서만 공유하세요.

Lagune 체인에서 발견 사항을 종결하는 일은 여전히 /lagune-harden 명령어와 /lagune-verify 명령어가 맡습니다. prove 명령어는 증거를 만들 뿐, 아무것도 종결하지 않습니다.

자주 묻는 질문

아니요. /lagune-prove 명령어는 방어 전용 증거를 작성합니다. 안전한 경로를 검증해 문제가 남아 있는 동안 실패하고 코드를 수정하면 통과하는 테스트, 그리고 책임 있는 공개를 위한 보안 권고입니다.

발견 사항마다 파일 2개를 출력합니다. 테스트(report.test.mjs 또는 .cjs)와 보안 권고(report.md)입니다.

prove 명령어는 단독으로 읽을 수 있는 보안 권고를 작성합니다. 책임 있는 공개 원칙에 따라 비공개 GitHub Gist 같은 비공개 채널로 공유할 수 있습니다.