에이전트 운영 보안

에이전트가 시크릿을
커밋하기 전에 선다

시크릿 커밋, 자기 권한 확대, 배포 이탈을 커밋 전에 막습니다. 정책은 파일 하나가 정본이고, 층은 그것을 읽기만 합니다.

도입 문의무엇이 막히나

$ python -m askewly_security install --repo .

현재 비공개 저장소입니다. 설치 접근은 문의로 받습니다.

저장소 블록을 세 겹의 반투명 층이 감싸고 있는 아이소메트릭 도해

무엇이 막히나

세 겹이다. 위층이 없으면 아래층으로 떨어지되, 층은 성립한다.

정책은 파일 하나가 정본이다

정책이 도구별 설정 파일에 흩어지면 문서상 정책과 실제 적용이 갈린다. 그래서 저장소 안 파일 하나를 정본으로 두고, 도구 설정은 거기서 내보낸다. 층은 이 파일을 읽기만 하고 고치지 않는다.

절 이름·키 이름·값이 전부 닫힌 어휘다. 모르는 것은 무시되지 않고 거부된다 — 오타 난 정책이 조용히 무시되는 것이 이 층에서 가장 위험한 실패다.

커밋 큐브들이 게이트를 통과하는데 붉은 큐브 하나만 막혀 튕겨 나오는 아이소메트릭 도해
[mode]
# 읽기전용 · 작업공간 · 무제한
level = "작업공간"

[rules]
# 평가 순서는 deny → ask → allow 로 고정.
# 넓은 deny 가 좁은 allow 를 이긴다.
deny  = []
ask   = []
allow = []

[secrets]
scanner = "자동"
# 오탐이 정상 작업을 세우지 않게 기본은 거짓.
warn_as_block = false

[audit]
enabled = true
# 값은 남기지 않는다. 결정·대상·규칙 id 만.
level = "결정만"

무엇을 안 막나

뚫리는 지점을 같은 자리에 적어 둔다. 접어 두면 정직이 아니라 면피가 된다.

무엇을 근거로 골랐나

막을 것을 감으로 고르지 않았다. 위협을 세고, 대응 후보를 조사해 판정하고, 그 판정을 기록으로 남겼다.

이식 실측은 아직 진행 중이다

"남의 레포에도 깔린다"는 주장은 숫자로 재기 전까지는 주장일 뿐이다. 아래 셋을 공개 저장소와 실사용 저장소에서 재는 중이고, 나오면 이 자리에 그대로 적는다.지금 쓸 수 있는 숫자가 없으므로 비워 둔다.

  • 측정 중

    설치 성공률

    임의 레포에 명령 한 번으로 깔리는 비율

  • 측정 중

    차단 발동률

    막아야 할 것을 실제로 막은 비율

  • 측정 중

    오탐률

    정상 작업을 잘못 세운 비율

남의 시스템에 까는 이야기라면

이 층은 특정 환경 전제(경로·계정·폴더 구조)에 묶이지 않는 것을 목표로 만들고 있다. 도입이나 현장 적용을 검토 중이면 어떤 환경인지만 적어 보내 달라.

yusung@askewly.com먼저 구조 읽기

문서 패널 두 장이 떠 있는 아이소메트릭 도해