Repository navigation
Conversation
Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Claude Code <noreply@anthropic.com>
… 이메일 결합, D1 초대 수락 계약 - M1: 다른 관리자의 정지(admin.suspend)·삭제(admin.delete)는 대상 id 에 묶은 step-up proof 가 필요하다. 대상이 관리자인지는 회원 관리 단위 안에서 잠근 행으로 판정하고, proof 소비는 그 단위의 첫 쓰기다. 회원 대상은 proof 를 쓰지 않는다. - L2: 계정 단독 실패 칸(MFA_ACCOUNT_FAILURE_LIMIT, 1차 값 20)을 더한다. IP 를 바꾼 대입도 같은 지수 지연에 걸린다. - L3: 관리자 초대 proof 대상을 고정값에서 정규화한 초대 이메일로 바꾼다. - L4: D1 관리자 초대 수락 마무리의 guard 0행을 Node 와 같이 0 으로 돌려준다. - G-A1.26(TC-A1.T4.f) 추가. L1 은 위험 수용, L5 는 A2 범위로 실행판에 남긴다. Co-Authored-By: Claude Code <noreply@anthropic.com>
…5.13·G-M5.15) 보안 리뷰 M1 고침으로 다른 관리자 정지에 step-up proof 가 필요해졌다. 시험 이름·선택식·기대 수는 바꾸지 않고 fixture 요청만 옮긴다. Co-Authored-By: Claude Code <noreply@anthropic.com>
보안 리뷰 L2 로 더한 계정 단독 칸은 같은 계정의 동시 요청이 공유한다. 한 요청이 성공해 칸을 지우는 사이 다른 요청의 INSERT 가 충돌하고 UPDATE 가 0행이면 행이 없는데도 지연(429)으로 답했다. 행이 없으면 처음부터 다시 차지하고(최대 세 번), 그래도 판정하지 못하면 시도를 받지 않는다(fail-closed). TC-A1.T2.f 실패 메시지에 상태·고정 코드를 남긴다. Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Claude Code <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
요약
4단계 A1 관리자 MFA(자체 TOTP)를 구현한다. Better Auth
twoFactor플러그인은 켜지 않고 앱 소유 모듈로 만든다.MFA_*배포 설정 필수값이고 기본값이 없다 (fail-closed)/api/auth/admin-mfa/*, 부분 세션 제한(hooks.before),sessionAdminMFA 판정scripts/check-sealed-checks.mjsp4-a1apps/server/scripts/mfa-transition-grant.ts(grant 토큰은 표준 출력에 한 번)시험
로컬 (guarded-run):
gate A1: 22개 중 20개 통과. G-A1.4 는 미커밋 생성물 diff 때문에 실패했고 커밋 뒤 깨끗함을 확인. G-A1.24(ruleset)는 건너뜀K6·M0M5: 예상 밖 실패 0. 실패는 ruleset 필수 검사(A1 잡 미등록)와 미커밋 생성물 diff 뿐막힌 것
관리자 MFA (A1 게이트, 다섯 DB)가 없어 각 단계의 ruleset 검사(G-K0.31 등, G-A1.24)가 실패한다. ruleset 변경은 별도 승인 뒤 한다gate A1 --seal은 아직이다🤖 Generated with Claude Code