Skip to content
GitHub

Decision Module

Provenance Record를 보고 호출을 통과시킬지, 차단할지, 사용자에게 물을지 결정합니다.

Decision Module은 Provenance Tracer가 넘긴 Provenance Record만 보고 판정합니다. 판정 단계에서는 Jev를 호출하지 않습니다.

경우 판정
바깥 영향이 없는 호출 통과 (기록만)
시작점이 USER 또는 DELEGATED이고 값에 문제가 없음 통과
시작점이 DOC 차단
끼워 넣은 값이 있음 차단
할 일을 시킨 문단이 숨긴 글 차단
시작점은 DOC지만 사용자 요청도 함께 걸렸고, 사슬 확신도가 기준 ±0.05 이내 사용자에게 묻기
시작점이 ERROR 또는 SELF 1차에서는 기록만
UNRESOLVED이거나 값의 근거가 없음 CLEAN이면 통과, EXPOSED면 묻기

판정 표 외에 다음 규칙도 적용합니다.

  • 같은 도구나 명령이 세 번 차단되면 사용자에게 알립니다.
  • 차단 사유에는 무엇에 걸렸는지가 아니라, 사용자가 무엇을 하면 되는지를 적습니다.
  • 맡긴 문서 자체가 공격일 수도 있습니다(공격자가 이슈 첫 문단에 지시를 쓴 경우). 이에 대한 최종 방어로, 시작점이 DELEGATED여도 민감한 행동이면 사용자에게 묻습니다.

10월 10일 평가에서는 아래처럼 단순화한 표를 씁니다. 이 표는 이번 명세에서 정한 초안입니다.

경우 판정
바깥 영향 없음 통과
시작점이 USER 또는 DELEGATED이고 값에 문제가 없음 통과
시작점이 DOC, 끼워 넣은 값, 할 일을 시킨 문단이 숨긴 글 차단
UNRESOLVED CLEAN이면 통과, EXPOSED면 묻기
시작점이 ERROR 또는 SELF 기록만

평가에서는 묻기를 차단으로 계산합니다. 전체 표와 비교하면 함께 걸린 사용자 요청 때문에 묻는 경우, 값의 근거가 없는 경우, DELEGATED의 민감한 행동을 묻는 규칙이 빠져 있습니다.

입력 보내는 곳
Provenance Record Provenance Tracer
출력 내용
노드 만들지 않습니다.
간선 만들지 않습니다.
Provenance Record 읽기만 하고, 필드를 채우지 않습니다.
판정 통과, 차단, 묻기 중 하나를 PEP로 넘깁니다.
차단 사유 차단할 때 사용자에게 보여 줄 안내를 PEP로 넘깁니다.

Decision Module은 Jev에 묻지 않습니다. 판정은 Provenance Record만으로 결정합니다.

  • 묻기 구간(±0.05)의 기준 점수. 간선을 연결할 때 쓰는 기준 점수(임시 값 0.5)와 같은 값인지도 정해야 합니다.
  • 판정 표의 “사슬 확신도”가 Provenance Record의 “사슬의 최솟값”과 같은 것인지.
  • “민감한 행동”의 정의.
  • 세 번 차단된 횟수를 어디서 세고, 사용자에게 어떻게 알릴지.
  • 한 호출이 표의 여러 줄에 해당할 때 어느 줄을 우선할지.
  • 사용자에게 묻는 세부 흐름, 그리고 1차 이후 ERROR와 SELF의 판정.