이 저장소는 ISO 27001에 맞춰 정책, 운영 기록 및 실행 가능한 규정 준수 검사를 다루는 경량의 LLM 유지보수형 정보 보안 관리 시스템(ISMS)입니다. 여기에 선택적으로 ISO 42001(AI 관리 시스템 - AIMS), EN 18286(AI Act 품질 관리 시스템), 그리고 NIS 2에 대한 오버레이가 추가될 수 있습니다. 이 시스템은 어떤 LLM 에이전트(예: Mistral Vibe, OpenAI Codex, Claude Code, OpenCode / Pi 등)를 사용하든 원하는 회사에서 클론하여 즉시 맞춤 설정할 수 있도록 설계되었습니다. 이는 ISO 27001 인증을 받거나 정보 보안에 대한 구조화된 접근 방식을 추구하는 모든 기업을 위한 것입니다.
Andrej Karpathy의 llm-wiki gist와 Is Grep All You Need? 논문에서 영감을 받아 ISMS에 적용한 것입니다.
모든 내용은 일반 마크다운(plain markdown)이며, git으로 버전 관리되고 있습니다. 의도적으로 도구, 빌드 단계 또는 독점 형식을 배제했습니다. 아무것도 고정되어 있지 않기 때문에 LLM 에이전트는 이미 사용하고 있는 Jira, Confluence, GRC 플랫폼 등 다양한 도구를 활용할 수 있습니다. LLM은 이를 읽고, 이해하고, 수정하고, 유지보수할 수 있으며 — 가급적 인간 보안 전문가의 감독 하에 이루어집니다.
LLM 에이전트가 이 템플릿을 사용하여 작동하는 ISMS를 구축하는 것을 지켜보세요. 단순히 문서를 편집하는 것이 아니라 운영합니다. 한 세션 만에 플레이스홀더 회사 정보를 실제 컨텍스트로 대체하고, ISMS 정책을 재작성하며, 위험 및 공급업체 등록부를 채우고, ISO 42001 AI 오버레이를 확장하며, 규정 준수 검사를 실시간으로 실행하여 무엇이 통과했는지, 실패했는지, 또는 범위 외인지 보고합니다. 그런 다음 격차를 해소하고 지속적으로 반복할 수 있는 구체적인 다음 단계를 제안합니다. 그 결과물은 정적인 문서 묶음이 아니라 작동하는 ISMS입니다.
이는 보안 전문가를 대체하는 것이 아니라 가속화하는 것입니다. 여기에는 마법이나 '완료됨'인 것은 아무것도 없습니다: 모든 변경 사항은 git 커밋으로 기록되므로, 전체 ISMS가 항상 가시적이고, 검토 가능하며, 되돌릴 수 있습니다. 인간이 이 모든 것을 검토하고 승인합니다. 에이전트가 무거운 작업을 처리하고; 전문가는 통제권을 유지합니다.
llm-iso27001-web.mp4
이 데모에서 생성된 전체 ISMS는 보조 레포지토리인 kriss-b/mistral-demo에서 공개적으로 확인할 수 있습니다.
약 12분 분량의 세션을 약 3분으로 압축했습니다. 이 시연은 Mistral AI에 대한 공개적으로 사용 가능한 정보를 바탕으로 제작되었으며, Mistral AI와는 제휴 관계가 아니며 이를 보증하지 않습니다.
전체 ISO 27001 ISMS(추가로 ISO 42001, EN 18286, NIS2 및 AIUC-1 포함): 정책과 절차, 운영 상태 기록(로그, 레지스터, 기록), 그리고 관련 시 통제 항목별 실행 가능한 규정 준수 검사까지 갖추고 있습니다. 가상의 회사는 ACME CORP입니다. 정책, 절차 및 템플릿은 동일한 구조를 따르며, 변경 로그(Changelog)로 마무리되어 소유권, 승인자, 버전 또는 이력에 대해 모호함이 없습니다.
| 디렉토리 | 내용 |
|---|
policies/ | 정보 보안 정책 — 규칙들 |
procedures/ | 단계별 운영 절차 및 템플릿 |
risks/ | 위험 평가 절차 및 레지스터 |
incidents/ | 사고 로그, 대응 계획 및 보고서 템플릿 |
run/ | 운영 상태: ISMS가 실행됨에 따라 업데이트되는 로그, 레지스터 및 완료된 기록 |
checks/ | 자동화된 규정 준수 검사, 관련 시 통제 항목별 하나씩 |
iso42001/ | 선택적 ISO 42001 AI 관리 시스템(AIMS) 오버레이. 자체 SoA와 검사를 가집니다. |
en18286/ | 선택적 EN 18286 오버레이 — 고위험 AI 시스템 제공자를 위한 AI Act 품질 관리 시스템으로, AIMS를 통해 운영되며 자체 SoA를 가집니다. |
nis2/ | 선택적 NIS 2 오버레이 — 국가 전용화(프랑스: ReCyF)가 포함되어 있으며, 각각 자체 SoA와 검사를 가집니다. |
aiuc-1/ | 선택적 AIUC-1 오버레이 — AI 에이전트 인증으로, 자체 SoA와 검사를 가집니다. |
statement_of_applicability.md | 모든 93개 통제 항목을 구현 상태 및 문서에 매핑하는 마스터 인덱스 |
statement_of_applicability.md
이는 마스터 인덱스입니다. 모든 ISO 27001 조항과 Annex A 통제를 해당 구현 상태와 이를 다루는 문서에 연결합니다. 여기서 시작하여 무엇이 존재하고 어떤 격차가 남아 있는지 파악하세요. 모든 통제 항목은 기본적으로 ❓ TBC(아직 평가되지 않음)로 설정됩니다. 의도적으로 그렇습니다. 검토하기 전까지는 아무것도 준수한다고 가정하지 않습니다.
GitHub에서 이 템플릿 사용을 클릭하여 YOUR_GITHUB_USERNAME 아래에 본인의 저장소를 만들고, 이름을 my-company-isms로 지정한 후 로컬에 클론하세요:
git clone https://github.com/YOUR_GITHUB_USERNAME/my-company-isms.git
cd my-company-isms
claude # 또는 다른 LLM 에이전트
그런 다음 회사에 대한 컨텍스트를 LLM 에이전트에 제공하세요. 컨텍스트가 많을수록 결과가 좋습니다. 예를 들면:
우리는
[회사 이름]이며, [회사 웹사이트]와 인터넷에서 저희에 대한 정보를 찾을 수 있습니다. 저희는 [국가]의 [산업] 분야에서 운영하고 있습니다. 직원은 [N]명입니다. 당사의 기술 스택: [클라우드 제공업체, IdP, 코드 저장소, 주요 SaaS 도구]. 우리는 [고객 PII / 금융 / 건강 / 기타 민감 데이터]를 처리합니다. 우리는 [GDPR / HIPAA / PCI-DSS / 없음]의 적용을 받습니다. 저희는 [원격 우선 / 하이브리드 / 사무실 기반]입니다. 우리는 AI 시스템을 [개발 / 사용 / 사용하지 않음]합니다.
- ACME CORP를 모든 문서에서 당사 회사 이름으로 대체하세요.
- ISMS 정책 — 컨텍스트, 범위, 내부/외부 이슈, 이해관계자 — 를 실제 상황에 반영하도록 재작성하세요.
- 팀 구조를 기반으로 역할 및 책임을 업데이트하세요.
- 기술 스택에서 자산 등록부(assets register)를 채우세요 — 시스템, 데이터 저장소, SaaS 및 해당 소유자들.
- 주요 공급업체로 공급업체 등록부를 채우세요.
- 기술 스택과 산업에 관련된 피드를 보안 피드 등록부(security feeds register)에 채우세요.
- 모든 검사를 실행하고 어떤 것이 통과했고, 어떤 것이 실패했으며, 어떤 것이 해당되지 않는지 보고하세요.
여기서부터 반복합니다. LLM은 정책과 SoA를 업데이트하고, 검사를 실행하며, 운영 로그를 유지하고, 위험을 개선하고, ISMS가 발전함에 따라 상호 참조를 동기화할 수 있습니다.
주제별 단일 진실 공급원(Single Source of Truth). 모든 통제 항목은 하나의 문서에 매핑됩니다. 교차 참조는 상대적 마크다운 링크를 사용하므로 어떤 마크다운 렌더러에서도 작동하며 에이전트가 이를 따라갈 수 있습니다.
중복 없음. 문서는 서로를 반복하지 않습니다. SoA(Single Source of Truth)가 색인 역할을 하고, 정책 문서가 상세 내용을 제공합니다. 무언가를 업데이트해야 할 경우, 수정할 곳은 정확히 한 군데입니다.
LLM 관리 가능. 모든 문서는 표준 구조를 가진 자체 포함 마크다운으로 작성됩니다. 파일 끝에 있는 변경 로그(Changelog)를 읽는 LLM은 자유 형식의 텍스트를 파싱할 필요 없이 소유자, 승인자, 버전 및 이력을 알 수 있습니다.
Git이 감사 추적 기록입니다. 인간의 가독성을 위해 문서별 변경 로그 표가 존재하지만, Git 히스토리가 권위 있는 기록입니다. 이에 맞서 싸우지 마십시오.
병렬 시스템이 아닌 오버레이 방식. 추가 프레임워크는 ISMS를 복제하는 대신 확장합니다. iso42001/ 디렉터리는 AI 관련 통제 항목을 추가하고, en18286/ 디렉터리는 ISO 42001 외에 AI 법(AI Act)의 품질 관리 시스템이 요구하는 내용만 추가하며, nis2/ 디렉터리는 국가 NIS 2 전용화(프랑스의 ReCyF)가 ISO 27001 외에 요구하는 차이점만을 추가합니다. 나머지 모든 것은 기존 ISO 27001 문서를 교차 참조하여 처리됩니다. 이를 통해 중복된 콘텐츠를 유지하지 않으면서 프레임워크들을 동기화 상태로 유지할 수 있습니다.
기존 도구와 연동. 귀하의 문서, 티켓, 증거 등은 이미 어딘가에 존재할 수 있습니다—Confluence, Notion, Jira, Probo, CISO Assistant 등. MCP 커넥터를 통해 LLM 에이전트는 이들에서 읽어 들여 이를 이 구조로 조정할 수 있습니다—일반적으로 Git을 진실 공급원으로 가져오거나, 외부 도구가 더 적합한 경우 외부 도구를 참조로 남겨둡니다. 이는 출처별로 결정되는 의도적인 선택입니다.
초기 설정 이후에는 일상적인 운영에서 진정한 활용도가 나옵니다. 여기는 작업 유형별로 정리된, 실제 환경에서 잘 작동하는 패턴들입니다.
대화 형식으로 위험 추가하기(Add risks conversationally). 위험 등록부(risk register)를 직접 채우지 마세요. LLM이 적절한 필드를 질문하고, 한 번의 작업으로 항목을 작성하며 SoA 교차 참조를 업데이트합니다.
다음 위험을 목록에 추가하고 제가 어떤 정보를 제공해야 하는지 알려주세요.
로그 기록도 같은 방식으로(Log incidents the same way). 간단한 설명만으로 충분합니다. LLM이 관련 필드를 추출하고, 항목을 형식화하며, 해당 사고가 암시하는 Annex A 통제 중 취약하거나 누락된 것이 있는지 플래그를 지정합니다.
로그에 이 사고를 추가하세요: [간단한 설명]
작성하기 전에 빠진 것을 물어보기(Ask what's missing before writing). LLM이 먼저 적절한 질문을 던지므로, 결과로 나오는 항목은 감사(audit)에서 훨씬 더 방어 가능합니다.
이 항목을 추가하려면 제가 무엇이 필요합니까?
정책을 Word 파일로 내보내기(Export a policy to Word).brew install pandoc
후에 pandoc policies/my_policy.md -o my_policy.docx를 실행합니다. 일괄 내보내기: for f in policies/*.md; do pandoc "$f" -o "${f%.md}.docx"; done
**PDF로 내보내기(Export to PDF).**위와 같지만 --pdf-engine=weasyprint를 사용합니다.(설치 필요: brew install weasyprint)
LLM을 검색 계층으로 사용하기(Use the LLM as a search layer). 수동으로 마크다운 파일을 grep하는 것보다 빠릅니다. LLM은 공급업체 목록, SoA, 절차서, 위험 등록부를 동시에 스캔하여 무언가가 정확히 어디에 나타나거나 나타나지 않는지 알려줍니다.
이 공급업체가 ISMS 내 다른 곳에서 이미 참조되고 있습니까?
이름으로 검사 실행하기(Run a check by name). LLM에게 checks/ 폴더의 모든 파일 중 하나를 지정하고 검사를 수행하도록 요청하세요. 이는 기준치에 대한 참조된 절차서를 읽고, 관련 로그를 확인하며, 발견 사항과 함께 통과/실패 여부를 보고합니다.
checks/a08_13_backup_completion_check.md에서 검사를 실행하고 결과를 알려주세요.
모든 검사 한 번에 실행하기(Run all checks at once). 경영 검토나 감사 전에 전체적인 규정 준수 상태를 파악하는 데 유용합니다.
checks/ 디렉토리의 모든 검사를 실행하고 결과를 요약해 주세요.
**매 세션 시작 시
ISMS를 개선하기 위해 다음에 무엇을 해야 할까요?
주기적으로 일관성 검사(consistency check)를 실행하세요. LLM은 통제 항목들을 상호 참조하고, 깨진 링크를 표시하며, 처리 결정이 없는 위험 요소를 식별하고, 절차서에는 언급되었지만 SoA(Statement of Applicability)에는 누락된 통제 항목을 찾아냅니다. 이는 사전 감사(pre-audit)의 린트 패스(lint pass)라고 생각할 수 있습니다.
ISMS 내에 어떤 불일치성도 없는지 확인하세요.
만약 이 저장소(repo)를 복제하여 자체 ISMS를 만들었다면, 시간이 지남에 따른 상위 개선 사항들 — 새로운 정책, 업데이트된 통제 항목, 구조적 개선 등 — 을 추적할 수 있으며, 에이전트가 무엇을 채택할 가치가 있는지 결정하도록 할 수 있습니다.
템플릿을 원격 저장소로 추가하기 (일회성 설정):
git remote add upstream https://github.com/kriss-b/llm-iso27001.git
처음 사용할 때 — 시작 지점을 표시하세요:
git tag last-upstream-check upstream/main
업데이트를 확인하고 싶을 때:
git fetch upstream
git log --oneline last-upstream-check..upstream/main > upstream_changes.log
git tag -f last-upstream-check upstream/main # 검토 후 마커 이동
그런 다음 LLM 에이전트와 세션을 열고 다음과 같이 말하세요:
첨부된 파일
upstream_changes.log
은 지난번 제가 검토한 이후 상위 ISMS 템플릿에 커밋된 내용을 나열합니다. 저희 회사는 [간략한 회사 상황 설명]입니다. 다음을 수행해 주세요:
- 템플릿에서 무엇이 변경되었는지 요약해 주세요 (새로운 정책, 업데이트된 통제 항목, 구조적 개선).
- 각 변경 사항에 대해 저희의 상황(context)을 고려했을 때 관련성이 있는지 평가해 주세요.
- 상위 변경 사항이 가치를 더하는 부분에 대해, 이를 맹목적으로 적용하기보다는 저희 특정 상황에 맞게 내용을 조정하여 로컬 ISMS에 구체적인 업데이트를 제안해 주세요.
LLM은 맹목적으로 병합(merge)해서는 안 됩니다. 귀하가 구현한 ISMS는 회사에 맞춰 사용자 정의된 것이며, 상위 변경 사항은 패치가 아니라 제안입니다. 이 로그 파일이 에이전트에게 원자재를 제공하며 — 회사 상황 설명이 무엇을 채택할지 안내합니다.
이것은 인증서가 아니라 LLM 친화적인 템플릿입니다. ISO 27001 인증을 받기 위해서는 공인된 외부 감사가 필요하며, ISMS(정보보호 관리체계)가 시간이 지남에 따라 운영되었다는 증거(로그, 완료된 검토 기록, 사고 기록 등), 그리고 지속적인 개선이 입증되어야 합니다. checks/ 디렉터리와 run/은 귀하의 증거 기반을 시작하는 곳입니다. 체크를 실행하고 로그를 최신 상태로 유지하는 ISMS는 단순히 문서화된 시스템이 아니라 운영 중인 시스템에 대한 증거가 됩니다.