인터넷등기소 등기부등본 자동화
대법원 인터넷등기소(IROS)에서 법인·부동산 등기부등본을 묶음 단위로 발급해야 할 때, 사용자가 직접 로그인·결제하는 흐름 안에서 장바구니·열람·저장을 안전하게 보조합니다. 실사·법무 검토·법인 일괄 관리에 사용합니다.
본 스킬은
NomaDamas/k-skill(MIT) 경유 포팅이며, 원 저작자는challengekim/iros-registry-automation(MIT) 참고 구현입니다. cowork 컨벤션을 입혀 정리한 가이드이며, 어트리뷰션은 저장소 루트NOTICE§1.4·§1.5에 기록되어 있습니다.
Hard Limits — 사용자가 반드시 직접 수행
- 로그인은 사용자가 브라우저에서 직접 한다. ID/PW, 공동인증서 비밀번호, 간편인증, OTP, 보안카드, 카드번호를 에이전트가 입력·저장하지 않습니다.
- 결제는 사용자가 직접 한다. 카드 승인, 결제 확인, 결제 실패 대응은 사람이 브라우저에서 처리합니다.
- 법률 자문, 권리관계 해석, 발급 결과의 법적 유효성 보장은 하지 않습니다 — 참고용 자동화 가이드입니다.
- IROS 보안 프로그램(TouchEn nxKey 등)이 요구되면 먼저 설치하고 브라우저/PC 재시작 후 다시 시작합니다.
- 법인 결제는 페이지당 10건 단위 제약이 있습니다. 그 이상은 10건 단위로 반복 결제합니다.
- 부동산은 IROS가 로그인 상태에서 10만원 미만 일괄 결제와 일괄열람출력/일괄저장 UI를 제공하므로, v1에서는 장바구니 반복 작업만 자동화합니다.
When to use / When not to use
사용: 법인 30건 이상 일괄 등기 발급, 고객사 실사·KYC, 부동산 100건 단위 등기 정리, 사업자번호 기반 법인정보 매핑, 다운로드 PDF로 종합 리포트 작성.
사용 금지: 단건 등기(브라우저에서 직접 발급), 권리관계 분석·법률 의견, 등기 위조·변조, 발급 결과를 법적 효력으로 단정.
Prerequisites
- Chrome/Chromium 실행 가능 환경, Python 3.10+, Playwright/Chromium 설치
- IROS 로그인 수단 (아이디·공동인증서·간편인증 중 하나)
- 결제 카드, TouchEn nxKey 사전 설치
- upstream 참고 구현 clone 후 reviewed SHA로 고정
macOS / Linux — 터미널에서:
git clone https://github.com/challengekim/iros-registry-automation.git
cd iros-registry-automation
git checkout 7c6924b2ff88d693a12556659188cb91041e5097
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
playwright install chromium
cp config.json.example config.json
Windows — PowerShell에서 (가상환경 활성화 경로와 파이썬 명령 이름이 다릅니다):
git clone https://github.com/challengekim/iros-registry-automation.git
cd iros-registry-automation
git checkout 7c6924b2ff88d693a12556659188cb91041e5097
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
playwright install chromium
copy config.json.example config.json
왜 두 벌인가:
source .venv/bin/activate는 macOS/Linux 전용 경로이고, Windows는.venv\Scripts\Activate.ps1입니다. 또python3명령은 Windows python.org 설치본에 존재하지 않습니다(python또는py -3). 아래 워크플로우의python ...실행 예시도 macOS/Linux에서는python3으로 읽으세요.PowerShell이 스크립트 실행을 막으면
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass를 먼저 실행한 뒤 활성화합니다.
업스트림 핀(SHA)을 변경할 때는 신뢰 경계가 바뀌므로 새 upstream diff를 검토하고 같은 PR에서 갱신합니다.
스크립트 출처 주의: 아래 워크플로우의
iros_*.py는 이 스킬(플러그인)에 번들된 파일이 아니라, 위에서 클론한 업스트림 저장소(iros-registry-automation) 안의 스크립트입니다. 클론·핀 검토를 마친 경우에만 해당 디렉터리에서 실행할 수 있으며, 클론하지 않았거나 자동화가 막히면 각 단계의 IROS 웹 UI 수동 절차로 대체합니다. 로그인·결제는 어느 경로든 사용자가 브라우저에서 직접 처리합니다(원칙 C — 자동화 불가 구간은 수동 안내로 정직하게 처리).
Workflow
1. 입력 파일을 저장소 밖 안전 폴더에 둔다
법인등록번호·상호명·주소·동호수 등 민감 정보는 공개 저장소·PR·테스트 로그에 절대 넣지 않습니다.
macOS / Linux:
workdir="$(mktemp -d "${TMPDIR:-/tmp}/iros-registry.XXXXXX")"
chmod 700 "$workdir"
mkdir -p "$workdir/downloads" "$workdir/logs" "$workdir/output" "$workdir/tmp-downloads"
Windows — PowerShell에서:
$stamp = [guid]::NewGuid().ToString("N").Substring(0,8)
$workdir = Join-Path $env:TEMP "iros-registry-$stamp"
New-Item -ItemType Directory -Path $workdir | Out-Null
foreach ($sub in "downloads","logs","output","tmp-downloads") {
New-Item -ItemType Directory -Path (Join-Path $workdir $sub) | Out-Null
}
$workdir
Windows의
%TEMP%는 사용자 프로필 아래라 이미 해당 계정만 접근 가능합니다 —chmod 700에 해당하는 별도 조치가 필요 없습니다. 이후 안내의$workdir/...경로는 PowerShell에서$workdir\...로 읽으세요.
법인 입력 예시 ($workdir/corp-input.json):
{
"1101111234567": "예시 주식회사",
"1101117654321": "샘플 주식회사"
}
config.json은 저장소에 커밋하지 않는 로컬 파일로 두고, 모든 민감 입력·로그·산출물 경로를 $workdir 아래로 돌립니다 (corpnum_list, companies_list, realty_list, excel_path, save_dir, pdf_dir, report_output, cart_log, download_log 등).
2. TouchEn nxKey와 로그인 수단 확인
- 브라우저로 IROS 로그인 페이지를 직접 엽니다.
- TouchEn nxKey 설치 안내가 나오면 설치 후 브라우저/PC를 재시작합니다.
- 사용자가 선택한 방식(공동인증서/간편인증/아이디)으로 직접 로그인합니다.
- 카드 결제 가능 여부를 확인합니다.
3. 법인 등기부등본 장바구니 담기
업스트림을 클론한 경우 — 클론 디렉터리에서 아래 스크립트로 장바구니 담기를 보조할 수 있습니다.
법인등록번호가 있으면 정확도가 높은 iros_cart_by_corpnum.py를, 상호명만 있으면 iros_cart.py를 쓰되
사명변경·특수문자 실패분은 법인등록번호로 재시도합니다.
# ↓ 클론한 iros-registry-automation 디렉터리 안에서 (플러그인 번들 파일 아님)
python iros_cart_by_corpnum.py # 또는 상호명 기반: python iros_cart.py
클론하지 않았거나 자동화가 막힌 경우 (수동 절차): 브라우저에서 IROS 로그인 → 등기열람/발급 메뉴 → 법인등록번호(또는 상호명)로 검색 → 발급 대상을 장바구니에 담기. 목록을 CSV/JSON으로 정리해 두면 순서 확인이 쉽습니다.
어느 경로든, 브라우저에서 결제대상목록 → 페이지당 10건 단위로 사용자가 직접 결제 → 결제 완료 후 다음 단계로 진행합니다.
4. 법인 결제 후 열람·저장
클론한 경우 — 클론 디렉터리에서 iros_download.py로 결제 완료분 열람·저장을 보조할 수 있습니다.
# ↓ 클론한 iros-registry-automation 디렉터리 안에서
python iros_download.py
저장 경로는 config.json의 save_dir = $workdir/downloads. 실행 전 companies_list가
$workdir/companies-input.json을 가리키는지 확인하면 FileNotFoundError를 예방합니다.
수동 절차: 결제 완료 후 IROS 웹 UI의 열람/발급 내역에서 각 등기사항증명서를 직접 열람·저장(PDF)하고
$workdir/downloads에 모아 둡니다.
5. 부동산 등기부등본 장바구니 담기
클론한 경우 — 클론 디렉터리에서 iros_cart_realty.py로 부동산 장바구니 담기를 보조할 수 있습니다.
# ↓ 클론한 iros-registry-automation 디렉터리 안에서
python iros_cart_realty.py
결제·열람·다운로드는 IROS 웹 UI의 일괄 결제·일괄열람출력·일괄저장이 보통 더 빠르고 안전하므로 수동 UI를 우선합니다.
클론 디렉터리에 있는 iros_download_realty.py는 필요할 때만 보조로 검토합니다.
6. 마법사 메뉴 (클론한 경우, 초보자 권장)
업스트림을 클론했다면 대화형 메뉴 진입점 iros_wizard.py가 위 단계를 묶어 안내합니다.
# ↓ 클론한 iros-registry-automation 디렉터리 안에서
python iros_wizard.py
메뉴: 법인 장바구니, 법인 결제 후 열람·저장, 부동산 장바구니, 부동산 결제 후 열람·저장, 사업자번호 → 법인정보 조회, PDF → 종합 리포트 엑셀 생성. 클론하지 않았다면 각 단계의 수동 절차(위 3~5단계)를 순서대로 따릅니다.
Response policy
- 첫 응답에서 **"로그인과 결제는 사용자가 직접"**이라고 명시합니다.
- 법인과 부동산 자동화 범위를 구분 설명합니다.
- TouchEn nxKey 사전 설치와 브라우저 재시작 가능성을 안내합니다.
- 발급 대상 목록·PDF·Excel·보고서에는 개인정보·민감정보가 있을 수 있으므로 저장소 밖 비공개 폴더를 사용하게 합니다.
- 법률 자문·권리관계 해석으로 보일 수 있는 표현을 피하고, 발급 보조와 파일 정리까지만 돕습니다.
- 원 저작자 링크를 답변에 남깁니다:
https://github.com/challengekim/iros-registry-automation
관련 스킬 체이닝
- before:
moai-consultant:consult-brief— 실사 대상 법인 목록 정리 - after:
moai-lawyer:legal-legal-risk— 발급된 등기부등본 기반 법적 리스크 분석 - after:
moai-officer:doc-xlsx— 종합 리포트 Excel화 - alternative: 단건이면 IROS 웹에서 직접 발급
Done when
- 법인/부동산 대상 유형과 입력 형식을 구분했다.
- 로그인·인증·결제를 사람이 직접 처리한다는 안내가 명확하다.
- TouchEn nxKey와 페이지당 10건 결제 제약을 안내했다.
- 산출물 경로와 개인정보를 저장소 밖에 두도록 안내했다.
- 원 저작자
challengekim과 참고 구현 링크를 포함했다.