OpenClaw 크론 자동화 추천 후기 — 반복 작업 승인 1회로 끝내는 Standing Grants + 오늘 커밋 516건 실측 (2026.8.26)
OpenClaw 공식 홈페이지(openclaw.ai) 대표 이미지 (출처: openclaw.ai, 2026-08-26 확인)
이 글을 읽으면 알 수 있는 것
- Scoped Standing Grants (#129526, 오늘 오전 병합) — 크론 반복 작업의 exec 승인을 딱 1번으로 끝내는 새 승인 시스템
- “Automation runs cannot wait for interactive exec approval”의 종말 — 그동안 크론 잡이 승인에서 막히던 구조적 문제
- 크론 관련 수정 2건 — DST 서머타임 갭에서 놓친 리마인더 복구(#129478), heartbeat 자동 비활성 경고(#129560)
- 지난 24시간 커밋 516건 — 전일(283건)의 약 1.8배, 스키마 v10·보안 4건·Codex Computer Use 복원
- GitHub 지표 실측 — 스타 387,611개(+171), npm dist-tags는 여전히 정식판 대기 중
1. 요즘 저처럼 “크론 잡이 승인에서 막혀서” 답답하셨던 분들
요즘 저처럼 OpenClaw 크론 잡으로 콘텐츠 자동화을 돌리시는 분들, 그리고 반복 작업에 ask 정책(명령 실행 전 승인 요청)을 걸어두신 분들, 많으시죠.
솔직히 지난주 내내 좀 답답했습니다. 크론 잡이 실행하려는 명령이 exec 승인이 필요한 명령이면, 반복 작업은 매번 자동 거부(auto-deny) 되거든요. 심지어 승인 카드가 채팅에 매번 스팸처럼 쏟아지고, 정작 응답은 못 받는 상황이 반복됐습니다. 한 번은 크론 잡이 Automation runs cannot wait for interactive exec approval 메시지와 함께 영원히 dead-end에 빠져서, 결국 allowlist를 손으로 편집한 적도 있어요. 게다가 “Allow always(항상 허용)”를 누르면 잡을 수정하거나 삭제해도 남아 있는 무제한 JSON allowlist 항목이 생성돼서, 보안상 찜찜하기까지 했습니다.
그런데 오늘(8/26) 아침, GitHub 알림이 울리더라고요. 창립자 피터 스타인버거(steipete)가 직접 이 문제를 고치는 PR을 병합했습니다. 그것도 한국시간 오전 8시 17분 — 제가 커피 내리기 전에 이미 머지가 돼 있더군요.
OpenClaw 공식 로고 (출처: Wikimedia Commons ‘Openclaw-logo-text-dark.svg’, MIT 라이선스, 2026-08-26 확인)
2. 오늘의 메인 뉴스 — Scoped Standing Grants, 크론 승인이 드디어 1회로 끝난다
오늘 병합된 PR #129526의 제목이 곧 내용입니다.
feat(approvals): scoped standing grants make recurring cron automations approvable once (스코프 고정 상시 승인: 반복 크론 자동화를 1회 승인으로)
그동안 뭐가 문제였나
이 PR의 본문을 까보니, 문제가 생각보다 구조적이었습니다.
- 반복 크론 잡은 매 실행마다 승인이 필요한데, 승인을 기다릴 수 없는 구조라 모든 실행이 자동 거부됐습니다.
- 지난 PR(#128031)에서 승인 카드가 채팅을 도배하는 문제를 막기 위해 크론 승인 전달 자체를 막아버렸고, 그 결과
ask정책 아래의 예약 명령은 “Automation runs cannot wait for interactive exec approval”로 영원히 좌초 — 해결 방법은 allowlist를 손으로 고치는 것뿐이었습니다. - 게다가 승인 화면에서 Allow always를 누르면 무제한( unbounded ) 생성 명령 digest가 JSON allowlist에 영구 기록됐습니다. 잡을 수정해도, 삭제해도 남는 “잡과 무관한 영구 권한”이 생기는 셈이라 보안상으로도 좋지 않았습니다.
어떻게 고쳤나 — “스코프 고정”이 핵심
새 시스템은 operator_approval_standing_grants라는 SQLite 테이블(shared state DB, 스키마 버전 올리지 않고 first-use로 생성)을 기반으로 동작합니다.
| 항목 | 내용 |
|---|---|
| 발급 조건 | 크론 잡의 격리된 실행에서 올라온 승인을 운영자가 Allow always로 해결 |
| 바인딩 범위 | 해당 에이전트 + 크론 잡 + 잡 설정 리비전 + 작업(명령어·cwd·env 해시) 에 정확히 고정 |
| 저장 방식 | 승인을 해결하는 같은 SQLite 트랜잭션 안에서 발급 (JSON allowlist digest 방식 폐기) |
| 동작 | 같은 잡의 다음 실행부터 같은 작업은 프롬프트 없이 실행 |
| 유효성 재검증 | 매 사용마다 권위 있는 행과 대조, 실패 시 fail-closed |
| 무효화 조건 | ① 30일 만료 ② 운영자가 철회 ③ 잡 수정/삭제(설정 리비전 재계산) ④ 발급 당시 승인이 더 이상 allow-always가 아님 |
그리고 여전히 매번 승인을 요구하는 경우도 명시돼 있습니다.
- 가변 파일 인자(mutable file operands) — 파일 내용이 바뀔 수 있는 경우
- heredoc 사용
- 엄격한 인라인 eval(strict inline eval)
- 감사 억제(audit-suppression) 승인
이런 건 “같은 명령”으로 볼 수 없으니 상시 승인 범위에서 제외됩니다. 또 abort tombstone(실행 중단 표식)이 남아 있으면 발급 자체가 차단되고, 크론이 아닌 일반 승인은 기존 동작 그대로입니다.
채팅 스팸도 다시 막았다 — 승인은 승인 화면으로만
이번 PR에서 눈여겨볼 점이 하나 더 있습니다. 크론 승인 요청에 deliverToApprovalClientsOnly 플래그가 붙어서, 이제 승인 카드는 연결된 웹소켓 승인 클라이언트(Control UI, TUI)로만 전달됩니다. 채팅 승인 런타임·포워더/iOS 전달·턴-소스 라우트는 전부 건너뛰니까, #128031이 막았던 채팅 스팸이 다시 살아나지 않습니다. 승인 클라이언트가 연결돼 있지 않으면 기존처럼 headless 거부로 만료되고, 같은 안내 문구가 나옵니다.
그리고 예약된 실행은 결정을 기다리며 인라인으로 대기합니다. (네이티브 채팅 채널이 받았던 #93918과 동일한 처리) — “승인 누르기 전에 잡이 먼저 죽어버리는” 일이 없어요.
제가 오늘 아침에 바로 체감한 것: 크론 잡으로 도는 자동화에서는 가끔 승인 정책과 부딪히는 명령이 있으면 잡이 조용히 죽어 있곤 했는데, 이제는 Control UI에서 딱 한 번 Allow always를 누르면 30일 동안 그 잡은 그 작업에 대해 다시 묻지 않습니다. 크론 잡을 여러 개 돌리는 입장에서 이번 PR이 이번 주 베타에서 가장 반가운 변경입니다.
3. 크론 쓰는 사람을 위한 추가 수정 2건
① DST 서머타임 갭에서 놓친 리마인더 복구 (#129478)
fix(cron): recover reminders missed across spring-forward gaps — 한국시간 오늘 오전 9시 42분 병합.
서머타임(DST) 전환으로 시계가 앞으로 점프하는 구간에서, 게이트웨이를 재시작하면 그 사이에 실행됐어야 할 예약 리마인더가 조용히 유실되던 문제입니다. Croner의 previous-occurrence 조회가 로컬 벽시계 산술을 건너뛰면서 “미래 발생”을 잘못 반환할 수 있었는데, 이제 전환 인식 히스토리 워크가 미래 첫 발생도 거부하도록 고쳐서, 재시작 후 놓친 리마인더가 한 번 재생됩니다. 1시간·30분·2시간짜리 DST 갭 모두 해당되고, 가을철 반복 시간·존재하지 않는 시간 스킵·5필드/6필드 스케줄 동작은 그대로 유지됩니다.
② heartbeat 비활성 시 자동 비활성 경고 전달 (#129560)
fix(cron): deliver auto-disable warnings when heartbeats are disabled — heartbeat(하트비트)가 꺼져 있을 때 잡이 자동 비활성화되는 경고가 제대로 전달되지 않던 문제 수정. “잡이 왜 조용히 꺼졌지?” 하고 확인하러 들어가는 일이 줄어듭니다.
4. 지난 24시간 커밋 516건 — 전일의 약 1.8배, 뭔가 부산합니다
GitHub API 실측 기준, 8/25 00:00 UTC ~ 8/26 01:13 UTC 동안 커밋이 516건 쌓였습니다. 전일(8/24 00:00 UTC~8/25 00:51 UTC)의 283건보다 약 1.8배 — 릴리스 검증 캠페인과 QA 자동화 커밋이 몰린 영향으로 보입니다. 그중 제가 눈여겨본 것들입니다.
① 스키마 v10 — 죽은 공유 상태 테이블 6개 정리 (#129626)
refactor(state): retire six dead shared-state tables at schema v10 — shared-state DB가 스키마 v10으로 올라가면서, 더 이상 쓰이지 않는 공유 상태 테이블 6개가 정리됐습니다. 크론 잡 관련 테이블(cron_jobs 등)이 사는 DB라서, 스키마 버전이 바뀌면 업데이트 후 openclaw doctor 한 번 돌려두시는 걸 추천합니다.
② 보안 4건 — 자격증명이 새는 경로를 막는다
fix(crabbox): keep cloud worker credentials out of process arguments(#129665) — 클라우드 워커의 자격증명이 프로세스 인자(ps로 보이는 곳)에 노출되던 것을 차단. 크래복스(Crabbox) 클라우드 샌드박스에서 작업을 돌리는 분들에게 해당되는 수정입니다.fix(gateway): stop fabricating scope-upgrade requests on trusted-proxy reconnects(#129563) — 신뢰된 프록시 재연결 시 권한 상향(scope-upgrade) 요청을 임의로 만들어내던 동작을 중단.fix(skills): fail closed for unavailable remote Gateway(#117567) — 원격 게이트웨이를 못 찾으면 fail-closed로 안전하게 차단.fix(whatsapp): keep QR login owner-scoped(#129381),fix(gateway): isolate portal cookies by lifetime(#129503) — QR 로그인 소유자 범위 고정, 포털 쿠키 수명별 격리.
③ Codex Computer Use 복원 (#129551)
fix(codex): restore Computer Use after marketplace source upgrades — 마켓플레이스 소스 업그레이드 후 Codex의 Computer Use(컴퓨터 화면 조작) 기능이 죽던 문제를 복원. 브라우저 자동화·화면 조작을 Codex로 돌리는 분들께 반가운 수정입니다.
④ 기능성 커밋들
feat(buzz): authorize different senders in each room(#129655) — Buzz 채널에서 방마다 다른 발신자를 승인할 수 있게 됐습니다.feat(android): show session hierarchy in Threads(#128862) — Android 앱 Threads에 세션 계층 구조 표시.feat(skills): add in-place release validation mode(#129673) +Release validation: add isolated campaign skill runner(#129726) — 스킬 릴리스 검증을 제자리(in-place)에서, 그리고 격리된 캠페인 러너로 돌리는 모드.improve(control-ui): restructure the composer as a multiline surface(#124301) — Control UI 입력창(composer)이 멀티라인 표면으로 개편. 긴 프롬프트를 쓸 때 훨씬 편해집니다.fix(openshell): sandbox cleanup, workspace sync, and gateway setup failures(#129641) — OpenShell 샌드박스 정리·워크스페이스 동기화·게이트웨이 셋업 실패 수정.
OpenClaw 디렉터리 구조 다이어그램 — 상태 DB·플러그인·스킬 구조를 한눈에 (출처: Wikimedia Commons ‘OpenClaw directory structure’, CC BY 4.0, 2026-08-26 확인)
5. GitHub 지표 — 스타 387,611개, 하루 새 +171
오늘 아침 확인한 GitHub 수치입니다. (확인 시각: 2026-08-26 01:13 UTC)
| 지표 | 값 (8/26 확인) | 전일 대비 |
|---|---|---|
| 스타 | 387,611개 | 387,440 → +171 |
| 포크 | 81,371개 | +24 |
| 오픈 이슈 | 5,904개 | -5 |
| 마지막 푸시 | 2026-08-26 01:13 UTC | — |
npm dist-tags도 실측했습니다. 어제와 동일합니다.
| 트랙 | 버전 | 비고 |
|---|---|---|
| latest (정식) | 2026.7.1-2 |
여전히 미출시 |
| beta | 2026.8.1-beta.3 |
8/24 게시 상태 유지 |
| extended-stable | 2026.6.34 |
보수적 트랙 |
| alpha | 2026.5.19-alpha.1 |
변동 없음 |
정식판 2026.8.1은 아직 안 나왔지만, 어제 정리했듯 베타.3이 “정식판 직전의 마지막 안전벨트”인데다 오늘처럼 크론 승인 같은 실사용 문제를 계속 고쳐 나가는 걸 보면, 나올 때쯤이면 꽤 단단한 상태가 될 것 같습니다.
클로콘(ClawCon) 2026 현장의 OpenClaw 창립자 피터 스타인버거(steipete)와 토마스 테일러 (출처: Wikimedia Commons, CC0, 2026-08-26 확인)
6. 실제 사용감 — 장점과 아쉬운 점, 솔직하게
크론 잡 + 승인 정책을 실제로 조합해 쓰는 제 입장에서, 오늘 변경의 체감을 정리하면 이렇습니다.
좋았던 점 (장점)
- “Allow always = 무제한 영구 권한”이 사라졌다: 잡·명령·리비전에 바인딩되고 30일이면 만료되니, “예전에 눌러둔 Allow always가 지금도 어딘가 살아있을까” 하는 찜찜함이 없어졌습니다.
- 채팅 스팸이 안 돌아온다: 승인 요청이 Control UI/TUI로만 가고 채팅은 조용합니다. 잡이 여러 개면 이 차이가 생각보다 큽니다.
- 잡이 조용히 죽는 일이 줄었다: 인라인 대기 + DST 리마인더 복구 + auto-disable 경고 전달까지, “크론 잡이 왜 안 돌았지?” 하고 뒤적이는 시간이 확실히 줄어들 것 같습니다.
아쉬웠던 점 (단점)
- 여전히 베타 트랙입니다: 이 모든 게
2026.8.1-beta.3기준이고, npm latest는2026.7.1-2그대로예요. 안정 트랙을 타시는 분은 정식판이 나올 때까지 기다려야 합니다. - 승인 범위가 의도적으로 좁습니다: 가변 파일 인자·heredoc·strict inline eval은 계속 매번 물어봅니다. 보안상 맞는 설계지만, “다 승인해줬는데 왜 또 물어보지?” 싶은 순간이 있을 수 있어요.
- 커밋이 너무 많습니다: 24시간 516건은 따라가기 벅찬 속도입니다. 개별 커밋까지 다 볼 필요는 없고, 릴리스 노트(CHANGELOG)와 릴리스 태그만 구독하는 걸 추천합니다.
7. 업데이트 팁 — 지금 뭘 하면 되나요?
- 크론 잡 + 승인 정책 쓰시는 분 — 베타 트랙(
openclaw update --channel beta, 2026.8.1-beta.3)에서 Control UI/TUI에 뜨는 승인 카드에서 Allow always를 한 번 눌러보세요. 30일 스코프 고정 승인이 발급되고, 같은 잡은 같은 작업에 다시 묻지 않습니다. - 업데이트 전 백업은 습관처럼 —
openclaw backup sqlite create한 방이면 됩니다. 스키마 v10으로 올라가는 시점이니 더더욱 권장합니다. - 업데이트 후엔
openclaw doctor— shared-state DB 관련 테이블 정리(#129626)가 들어간 시점이라, 자기 환경은 자기가 확인하는 게 제일 확실합니다. - 안정 우선이시라면 —
openclaw update로 extended-stable(2026.6.34) 유지. 정식판 2026.8.1이 npm latest에 올라오면 그때 올라타셔도 늦지 않습니다.
솔직히 말해서, 오늘 PR 하나로 “크론 자동화가 드디어 성인이 됐다”는 느낌이 들었습니다. 반복 작업을 돌리는 입장에서 승인 문제는 매일 만나는 현실적인 벽이었거든요. 완전 무료(MIT)·오픈소스에, 크론 자동화를 진지하게 돌려보고 싶으신 분이라면 OpenClaw 베타 트랙 한번 타보시길 추천합니다.
정식판 2026.8.1이 npm에 올라오는 순간, 또 바로 실측해서 정리해 찾아올게요!
이 글은 2026년 8월 26일 기준 GitHub 저장소(github.com/openclaw/openclaw) 커밋·PR·릴리스, npm 레지스트리(registry.npmjs.org), 공식 홈페이지(openclaw.ai), Wikimedia Commons 자료를 실측해 작성했습니다. 이미지 출처는 각 캡션에 표기했습니다.