문서

위협 모델

편집 가능한 위협 모델 Coroid는 각 프로젝트의 코드를 기반으로 초안을 작성하며, 사용자의 편집 내용이 보존되고 업데이트 제안이 이루어집니다.

위협 모델은 프로젝트가 공격받을 수 있는 지점과 그로 인해 가장 중요한 요소가 무엇인지를 나타냅니다. 보안 기능을 통해 각 프로젝트별로 위협 모델을 보안 → 위협 모델 메뉴에 저장하며, 이는 코드를 기반으로 작성되고 팀에서 편집할 수 있습니다.

초안

Coroid는 기본 브랜치를 읽어 첫 번째 버전의 초안을 작성하며, 이때 AI 모델은 사용되지 않으므로 비용이 들지 않습니다. 이 작업은 다른 스캔과 마찬가지로 사용자의 에이전트 슬롯 중 하나에서 실행됩니다. JavaScript, TypeScript, Python 코드를 분석하여 다음 내용을 찾아냅니다:

  • 진입점: HTTP 경로 및 핸들러, OpenAPI 작업, 큐 소비자 및 명령줄 명령;
  • 신뢰 경계가 변하는 지점: 인증 미들웨어 및 기타 경계 구역;
  • 민감한 데이터: 구성 정보 및 비밀번호가 읽히는 위치(이름만 표시되며 값은 표시되지 않음);
  • 인증 확인이 적용되지 않는 쓰기 작업

위협 모델은 진입점, 신뢰 경계가 변하는 지점, 민감한 데이터, 가장 중요한 요소, 사용자 메모의 다섯 섹션으로 구성됩니다. 초안에는 또한 읽을 수 없었던 항목과 그 이유도 함께 표시됩니다: 파일 크기가 너무 크거나 읽을 수 없는 경우, 아직 지원되지 않는 언어, 또는 처리 한도에 도달한 경우 등입니다.

사용자 편집 내용의 보존

각 항목에는 작성자를 기록합니다. Coroid는 사람이 작성한 내용을 절대 덮어쓰지 않습니다.

매주 및 소유자나 관리자가 선택할 때마다코드를 다시 읽기, Coroid는 코드를 다시 읽습니다. 이 과정에서 모델 자체는 변경되지 않으며, 대신 추가·수정·삭제할 항목을 제안합니다. 소유자와 관리자는 이를 새로운 버전으로 적용하거나 거부할 수 있으며, 거부된 변경 사항은 다시 제안되지 않습니다.

변경 사항이 적용되면 Coroid는 더 이상 해당되지 않는 항목을 건너뛰는데, 이는 사람이 이미 수정한 항목, 이미 존재하는 항목, 또는 삭제된 항목입니다. 건너뛴 항목에 대한 정보도 제공됩니다. Coroid는 오직 자신이 작성한 초안의 항목만 삭제를 제안하며, 이는 전체 코드를 다시 읽은 후에만 이루어집니다. 사용자가 작성한 문구는 그대로 유지되고, 코드에서 발견된 내용만 변경됩니다.

버전

버전 1은 초안입니다. 적용된 제안이나 편집 내용마다 새로운 버전이 생성되며, 버전 이력에는 누가 어떤 작업을 했는지가 기록됩니다: 코드를 기반으로 작성된 초안, 사람이 편집한 내용, Coroid의 업데이트로 추가된 내용, 또는 설정에서 가져온 내용 등입니다.

변경 권한이 있는 사용자

프로젝트를 볼 수 있는 모든 사용자는 해당 프로젝트의 위협 모델을 읽을 수 있습니다. 소유자와 관리자는 이를 편집하고 제안을 적용하거나 거부하며, Coroid에게 코드를 다시 읽도록 요청할 수 있습니다.

활용 방식

보안 감사 기능은보안 감사가 위협 모델을 참고하여 먼저 분석할 파일을 결정합니다. 위협 모델에 명시된 영향도가 높은 경로와 진입점의 코드가 다른 코드보다 먼저 분석됩니다.

설정 이동성

각 프로젝트의 최신 위협 모델은 조직 설정 번들에 포함되어 이동합니다. 단, 그 이력과 열린 제안 사항은 원래 위치에 그대로 남습니다. 자세한 내용은설정 이동성.