ai-jail
Multi-OS sandbox to run AI agents with better constraints (it is not 100% secure, but enough)
도메인을 넣으면 공격자가 밖에서 먼저 보게 될 약점을 찾아 쉬운 말로 알려 드려요.
Translation pending
SecurityJava · TypeScriptGitHub @codes-gyOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
문단속 — 공격 없이 내 도메인의 외부 노출을 점검하고 쉬운 말로 알려 주는 서비스 (Spring Boot)
Translation pending
Loading the full README.
Read the full README ↗회사 도메인을 넣으면, 공격자가 밖에서 먼저 보게 될 약점을 찾아 쉬운 말로 알려 주는 외부 노출 점검 서비스
AI 도구로 공격 정찰이 자동화되면서, 노출된 설정 파일 · 만료된 인증서 · 빠진 보안 헤더 · 위조 가능한 메일 도메인이 빠르게 찾아집니다. 문단속은 같은 시선으로, 공격 없이 내 도메인을 점검하고 무엇부터 고칠지 알려 줍니다.
| 점검 | 내용 |
|---|---|
| TLS | 인증서 만료 · 호스트 이름 · TLS 버전 · CAA 레코드 |
| HTTPS 전환 | http:// 접속이 https://로 넘어가는지 |
| 보안 헤더 | HSTS(유지 기간 포함) · CSP(인라인 스크립트 허용 포함) · nosniff · 클릭재킹 방지 · Referrer-Policy · 쿠키 Secure · HttpOnly · SameSite · 서버 버전 · X-Powered-By 노출 |
| 민감 파일 | .git · .svn · .DS_Store · .env · Actuator env · heapdump(목록만 확인) · server-status · phpinfo · OpenAPI 문서 (본문 서명으로 판정) |
| CORS | 아무 출처나 그대로 허용하는지, 로그인 정보(쿠키)까지 허용하는지 |
| 메일 위조 방지 | SPF · DMARC |
./gradlew bootRun # 기본은 메모리 H2
./gradlew test
PostgreSQL: DATABASE_URL=jdbc:postgresql://... DATABASE_USERNAME=... DATABASE_PASSWORD=... ./gradlew bootRun
| 메서드 | 경로 | 설명 |
|---|---|---|
| POST | /api/domains | 도메인 등록, 인증용 TXT 레코드 안내 |
| POST | /api/domains/{id}/verify | 소유 인증 |
| POST | /api/domains/{id}/scans | 점검 요청 (인증된 도메인, 10분에 한 번) |
| GET | /api/scans/{id} | 점수 · 위험도순 결과 |
자세한 명세: docs/planning/07-api-spec.md
GET /actuator/prometheus (actuator는 health · prometheus만 연다)
| 지표 | 뜻 |
|---|---|
mundansok_check_duration_seconds{check, outcome} | 점검 항목별 실행 시간. outcome은 ok · failed(예외로 끝남 · 내부 주소 차단) |
mundansok_scan_rejected_total | 점검 풀이 가득 차 거절한 점검 요청 수 |
mundansok_scan_restart_cleaned_total | 시작 시 재시작 정리로 FAILED 처리한 점검 수 |
executor_active_threads · executor_queued_tasks · executor_queue_remaining_tasks {name="scanExecutor"} | 점검 풀(스레드 4 · 대기열 100) 상태. Spring Boot가 자동으로 붙인다 |
ApplicationReadyEvent) mundansok.scan.stale-after(기본 15분)보다 오래된 미완료 점검을
FAILED(error: 서버 재시작으로 점검이 중단됨)로 한 번에 바꾸고 WARN 로그를 남긴다. 기준보다 최근 것은 다른 서버가 돌리고 있을 수 있어 건드리지 않는다.503 SCAN_QUEUE_FULL로 거절하고, 방금 만든 QUEUED 기록은 지운다(쿨다운에 걸리지 않고 바로 다시 요청 가능).promtool check rules monitoring/prometheus-alerts.yml로 검증한다.팀 프로젝트 방식(이슈 · PR · 리뷰)으로 진행하기 위해 5인 팀 기준으로 작성했습니다 → docs/planning
Java 21 · Spring Boot 4.1 · Spring Data JPA · Flyway · PostgreSQL / Next.js (2단계)