본문으로 건너뛰기
DocsSecureStamp Protocol
Execution Governance · MCP · 에이전트 · 하네스

에이전트가 일하게 두되, 최종 효과의 통제권은 유지하세요.

MCP 서버를 보호하는 것만으로는 충분하지 않습니다. 에이전트는 하네스가 허용하는 셸, 파일, API, 자동화에도 도달합니다. 이 가이드는 개발자와 기관을 위해 전체 경로를 하나로 묶습니다. 이미 가진 구성을 진단하고, 경계를 시험하고, 정확한 후보만 승인하고, 실행을 통제하며, 실제로 일어난 일을 증거로 재구성합니다.

제공 중 · Break the Mandate

대상

개발자와 메인테이너

이미 코딩 에이전트에 작업을 위임하고 있으며, 모든 명령을 승인하지 않고도 더 오래 작업하게 하고 싶은 팀. 자신의 파일에 대한 Doctor, 계정이 필요 없는 로컬 랩, 그리고 PR에 첨부하는 영수증을 제공합니다.

플랫폼 및 보안 팀

에이전트가 무엇을 마운트하고, 무엇에 도달하고, 무엇을 내보낼 수 있는지 결정하는 사람들. Git으로 버전 관리되는 하나의 이식 가능한 구성, CLI와 대시보드에서 동일한 검증, 그리고 런타임이 확인하는 hold 및 stop 제어.

기관 및 조직

자율 소프트웨어가 고객, 감사인 또는 규제 당국에 대해 하는 일에 책임을 지는 모든 주체. 권한은 에이전트 밖에 남고, 모든 효과는 오프라인으로 검증되는 증거를 남기며, 그 증거의 한계는 문서로 명시됩니다.

세 가지 표면, 하나의 원칙

에이전트는 제안할 수 있습니다. 권한은 에이전트 밖에 남습니다. 적용 범위는 선언되고 시험된 경로로 한정됩니다. SecureStamp는 그 경계를 우회하는 작업을 통제하지 않으며, 이를 숨기는 대신 명시합니다.

Break the Mandate — 단계별 안내

첫 질문은 간단합니다. 에이전트가 승인한 작업 밖의 일을 할 수 있는가? 참조 시나리오는 합성 픽스처 위에서, 계정이나 모델 API 키 없이 다섯 단계로 답합니다.

  1. 01

    유용한 작업

    에이전트가 격리된 픽스처 안에서 실제 변경을 준비합니다.

  2. 02

    기준선에서의 빈틈

    동일한 범위 밖 시도가, 의도적으로 허용적으로 만든 기준선에서는 다른 프로세스에서 관찰되는 효과를 일으킵니다. 이는 알려진 실험적 대조군이며, 사용자의 컴퓨터에서 발견된 취약점이 아닙니다.

  3. 03

    봉쇄된 빈틈

    통제가 활성화되면 해당 경로는 봉쇄되며, 유용한 작업은 여전히 완료됩니다. 작업을 쓸모없게 만드는 거부는 가치로 인정되지 않습니다.

  4. 04

    환경이 바뀌면 증거는 만료됨

    프로파일의 중요한 의존성이 바뀌면, 재검증될 때까지 이전 증거는 해당 경로를 더 이상 활성화하지 않습니다.

  5. 05

    정확한 후보만 나감

    동결된 후보를 검토합니다. 바이트나 대상지를 바꾸면 내보내기가 무효화되고, 승인된 상태로 되돌리면 효과가 허용됩니다.

빠른 시작

Doctor는 Docker도 모델도 필요 없으며, 읽은 내용을 실행하지 않습니다. 참조 시나리오는 합성입니다. 프로젝트 코드를 실행하지 않으며, 그 보고서에는 시뮬레이션된 증거라는 표시가 붙습니다.

shell
# Node 22.22.3 이상
npm install --save-dev @securestamp/mcp-guard @securestamp/execution-governance

# 1. Doctor: 선택한 파일의 정적 진단
npx securestamp-mcp-doctor scan .mcp.json --propose
npx securestamp-mcp-doctor scan-native <settings.json|config.toml> --format=<shape>
npx securestamp-mcp-doctor scan-workflow .github/workflows/agent.yml

# 2. 이식 가능한 시나리오: hold와 함께 참조를 검증하고 실행
npx securestamp-execution-governance validate scenario.json
npx securestamp-execution-governance run scenario.json --hold-before=step-1

잘못된 인수를 주면 각 명령은 사용법과 지원되는 형식을 출력합니다. 완전한 HarnessProfileV1에는 securestamp-mcp-doctor scan-harness를 사용하세요. --hold-before를 지정하면 실행은 보류된 효과를 보여 주며, 그 효과는 결코 허용되지 않습니다. 기본값으로 텔레메트리는 없습니다.

Doctor: 먼저 네이티브 파일부터

Doctor는 출처 파일과 필드가 붙은 선언된 사실과, 어느 계층을 읽었고 어느 계층이 알 수 없는 상태인지 알려 주는 부분 진단을 생성합니다. 호환성은 형태 + 전송 방식 + 시험된 클라이언트로 기술됩니다. 인식하지 못하는 형식은 지원되지 않음으로 보고되며, 조용히 건너뛰지 않습니다.

  • .mcp.json · mcpServers가 있는 JSON (stdio)

    선언된 명령, 자격 증명 참조, 파일에 기록된 시크릿, 셸을 통한 실행, 가변적이거나 @latest인 패키지. 버전 고정이 무결성을 입증하지는 않습니다. 실제 아티팩트를 승인된 것과 대조하는 일은 실행자의 몫입니다.

  • settings.json · config.toml ([mcp_servers])

    권한, 도구, 인식된 구성 계층과 그 충돌 및 누락된 데이터. 파일 하나만으로는 관리형 정책, CLI 재정의, 상속된 구성을 알 수 없으며, 출력에 그 점이 명시됩니다.

  • .github/workflows/*.yml

    Agent Workflow Doctor: 에이전트에 도달하는 신뢰할 수 없는 issue, PR, 댓글 입력, 선언된 권한, 시크릿 참조, 광범위한 도구, 외부 콘텐츠의 체크아웃. 액션을 내려받거나, 시크릿을 해석하거나, YAML을 실행하지 않습니다.

  • HarnessProfileV1

    고급 사용자를 위한 완전한 프로파일. Doctor는 파일 하나만으로 이를 만들어 내지 않습니다. 마운트, 관찰자, 실효 자격 증명, 백엔드는 운영자가 선택하고 검증합니다.

  • 지정된 파일만 읽으며, 홈 디렉터리를 탐색하지 않습니다.
  • 파일 안의 명령, 훅, 표현식을 실행하지 않습니다.
  • 시크릿을 해석하지 않고 토큰을 검증하지 않습니다.
  • 사본에 대해 검토 가능한 패치를 제안하며, 원본을 덮어쓰지 않습니다.
  • 이상 없음 결과도 발견 사항과 같은 비중으로 표시합니다.
  • 정적 진단은 격리도 보호도 입증하지 않습니다.

Exact Export: 에이전트가 준비하고, 사용자가 정확한 변경을 승인

에이전트는 프로젝트의 격리된 사본에서 변경을 준비합니다. 내보내기 자격 증명은 에이전트의 환경 밖에 남고, 검토된 후보만 Execution Guardian을 통해 나갑니다.

  1. 01

    준비

    격리 상태에서, 선택한 프로젝트의 스냅샷 위에서 진행합니다. 사용자의 .git은 신뢰할 수 있는 기반으로 재사용되지 않습니다.

  2. 02

    동결

    검토 전에 후보를 고정합니다: 기반, 바이트와 다이제스트, ref, 대상지, 이전 상태.

  3. 03

    승인

    승인은 해당 후보에 묶입니다. 이후의 변경은 승인을 무효화하며, --yes는 MFA나 쿼럼을 대체하지 않습니다.

  4. 04

    실행

    Guardian이 보관하며 대상지의 상태를 확인합니다. 드리프트와 경쟁 상태는 덮어쓰지 않습니다.

  5. 05

    검증

    사후 조건에 대한 독립적인 검증과, PR이나 issue에 첨부하는 영수증.

초기 대상지는 로컬 Git 저장소입니다. 승인된 프로파일과 대상지가 있으면 GitHub 어댑터가 새 ref를 만듭니다. 어떤 브랜치도 갱신하지 않고, force-push, 병합, 배포를 하지 않으며, PR을 여는 것은 별도의 승인이 필요한 별개의 효과입니다. 자격 증명 보관은 실효 신원, 마운트, 소켓, 네트워크와 에이전트 컨텍스트에서의 카나리로 이를 입증하는 프로파일에 대해서만 주장됩니다.

하나의 이식 가능한 구성, 세 가지 인터페이스

구성은 저장소에서 버전 관리되는 JSON 파일입니다. 라이브러리가 완전한 계약과 그 다이제스트를 생성하므로 서명을 직접 작성할 필요가 없습니다. CLI와 대시보드는 같은 표현을 가져오고 내보내며 같은 검증을 거칩니다. Git의 정책과 다른 웹 정책은 존재하지 않습니다. 편집할 때마다 새 리비전이 만들어지며, 활성 실행은 자신의 스냅샷을 유지합니다.

시나리오

버전이 있는 SSPI-execution-scenario: 매개변수, 후보 및 기준 다이제스트가 있는 프로젝트 소스, 그리고 작업과 기대 효과가 있는 단계로 구성됩니다. 임의의 스크립트나, 빈틈을 성공으로 바꾸기 위해 수정된 기대 결과는 받아들이지 않습니다.

프로파일

러너와 그 프로파일: 백엔드, 관찰자 리스, 제어 채널 리스. 시스템은 그 가용성과 증거의 적용 가능성을 확인합니다.

위임장

효과와 시간의 한도, 모든 효과와 리소스의 다이제스트, 필요한 승인: 에이전트의 손이 닿지 않는 Task Contract.

  • npm · @securestamp/execution-governance

    이식 가능한 시나리오 계약, hold·resume·stop이 있는 제어 평면, 편집된 보고서: 시나리오를 검증하고 직렬화하고, 실행을 시작하고, 멱등한 명령을 내리고, 보고서를 작성·검증·비교합니다. 권한을 부여하지 않으며, 호스트를 격리하지 않고, 고객의 Guardian을 대체하지 않습니다.

  • CLI · securestamp-mcp-doctor · securestamp-execution-governance

    진단에는 scan, scan-native, scan-workflow, scan-harness, 시나리오에는 validate와 run. 계정이 필요 없습니다. 각 실행은 자체 보고서를 생성하며 다른 보고서를 덮어쓰지 않습니다.

  • Dashboard · securestamp.online/dashboard/agents

    고객이 운영하는 등록된 러너에서의 시나리오, 준비, 실행, 실시간 상세 및 실행 후 분석. 브라우저는 테스트를 실행하지 않고 제공자 자격 증명도 받지 않으며, 러너 연결은 선택(opt-in)입니다.

Hold, resume, stop

이 제어는 Guardian이 중개하는 경로에 작용합니다. 효과가 보류되어 있는 동안에도 에이전트는 계속 추론할 수 있으며, 인터페이스는 이를 “효과 보류 / 프로세스 실행 중”으로 표시할 뿐 에이전트가 멈춘 것으로 표시하지 않습니다.

Hold

Guardian은 새 효과의 접수를 닫고 예산, 소비된 grant, 이력을 유지합니다. 이미 보낸 호출을 멈추지 않으며 오래된 효과의 대기열을 만들지도 않습니다.

Resume

다시 열기 전에 위임장, 유효 기간, 정책, 프로파일, 관찰자, 예산이 재검증됩니다. 모든 새 요청은 다시 평가됩니다.

Stop

해당 실행에 대해 종결적입니다. 접수를 영속적으로 닫고, 대기 중인 작업을 취소하며, 감독 대상 프로세스와 그 자식 프로세스를 종료합니다. resume과 재연결보다 우선합니다.

HTTP 응답이 성공했다는 것은 명령이 수신되었음을 확인할 뿐입니다. 대시보드는 요청된 것, 감독자가 적용한 것, 관찰된 것을 따로 보여 줍니다. 관찰자가 정상인 상태에서 원격 채널이 끊기면 접수는 로컬에서 보류된 채로 유지됩니다. 관찰자가 실패하면 프로파일이 이그레스를 차단하고 컨테이너를 종료합니다. 로컬 stop은 대시보드에 의존하지 않습니다.

보고서: 신호등으로 뭉뚱그려지지 않는 상태

실행 보고서는 정보 제공용 checksum만 포함하고 증거 수준을 선언하며 실행을 비교할 수 있게 합니다. checksum은 발행자를 인증하지 않습니다. 완전한 Action Proof bundle이 첨부되면 독립 검증기가 보고서 외부에서 제공된 앵커로 오프라인 검증하고 정확한 후보, 대상, 권한 및 관찰된 receipt 결과를 연결합니다. FAIL, SKIP, 누락된 증거와 평가되지 않은 경로는 계속 표시되며 계측 실패는 PASS가 아닌 INCOMPLETE로 남습니다.

실행 상태queued · running · held · stopping · stopped · completed · failed · incomplete
경로 결과PASS · FAIL · SKIP
적용 범위protected · contradicted · partial · not_evaluated
통합simulated · integration_real · no_evaluated
완결성complete · incomplete
보고서 결과PASS · FAIL · INCOMPLETE
효과 결과succeeded · failed_no_effect · indeterminate

Checksum은 정보 제공용

보고서 digest는 제시된 바이트를 확인하지만, 보고서를 다시 쓸 수 있는 사람은 이를 재계산할 수 있습니다. 발행자 인증이 아닙니다.

이 운영자가 신뢰하는 발행자

운영자가 설치한 앵커에 대해서만 해당됩니다. 아티팩트 자체에 포함되어 배포된 앵커는 그것을 신뢰할 수 있게 만들지 않습니다.

제3자가 재현함

다른 누군가가 같은 팩을 실행해 같은 결과를 얻었다는 뜻입니다. 이는 다른 주장이며 별도로 보고됩니다.

정보 제공용 풀 리퀘스트 검사

네이티브 파일의 base와 head를 같은 임포터와 규칙으로 비교하여 선언된 변경, 알 수 없는 사항, 재검증 후보를 보여 주고, 첨부된 영수증을 앵커에 대해 검증합니다. 버전이 고정된 신뢰 리비전에서 읽기 권한만으로, 시크릿 없이, PR의 코드를 실행하지 않고 동작합니다. 검토에 정보를 제공할 뿐, 내보내기를 승인하는 검사가 아니며 Guardian이나 룰셋을 대체하지도 않습니다.

이것이 하지 않는 일

  • 모델을 안전하게 만들거나 일반적인 정렬을 입증하지 않습니다. 선언된 프로파일에서 실행의 한계를 시험합니다.
  • Guardian을 우회하는 경로는 통제하지 않습니다. 프로브가 없는 경로는 not evaluated로 남으며, 상속에 의해 보호되는 것으로 간주되지 않습니다.
  • 이미 일어난 효과를 되돌리지 않습니다. hold와 stop은 롤백이 아닙니다.
  • 영수증은 앵커 아래에서의 무결성과 범위를 보여 줄 뿐, 승인된 코드가 무해하다거나 독립적인 누군가가 감사했다는 것을 보여 주지 않습니다.
  • 회사 전체의 킬 스위치가 아닙니다. v1은 선택된 실행과 선언된 러너를 통제합니다.
  • 호환성은 프로파일, 버전, 환경별로 공개됩니다. 한 하네스에서의 PASS는 다른 운영 체제, 경로 또는 클라이언트로 이전되지 않습니다.

이어서 읽기

상태

제공 중: 네이티브 파일용 Doctor, npm·CLI·대시보드 참조 시나리오, 로컬 Git으로의 Exact Export, 정보 제공용 PR 검사. 보고서는 checksum-only 기록과 첨부된 Action Proof bundle을 구분하며, 외부 앵커로 bundle을 검증할 때만 공유 가능한 receipt를 표시합니다. 모든 기능은 프로파일과 환경별 증거 수준(simulated, 실제 통합 또는 not evaluated)을 공개합니다.

공개적이며 재현 가능

시나리오, 픽스처, 레시피, 벡터는 제3자가 모든 속성을 재현하거나 반증할 수 있도록 공개됩니다. 반례는 시드, 프로파일, 관찰된 결과와 함께 issue로 기여해 주세요. 민감한 발견 사항은 SECURITY.md를 따릅니다. “안전한 에이전트” 순위표는 없으며 범용 배지도 없습니다.

Execution Governance — MCP, 에이전트, 하네스를 위한 보안 | SecureStamp Foundation