BREAK 지식베이스 Skill
BREAK (Business Risk Enumeration & Avoidance Knowledge)는 개방형 비즈니스 위험 열거 및 회피 지식 프레임워크로, 3416개의 비즈니스 보안 위험 지식 항목을 포함하며 다음 엔터티 유형을 다룹니다:
| 유형 | 수량 | ID 형식 | 설명 |
|---|---|---|---|
| Risk (위험) | 400 | R0001, R0001-001 | 비즈니스 보안 위험 정의 및 영향 |
| Avoidance (회피 수단) | 350 | A0001, A0001-001 | 위험에 대응하는 방어 조치 |
| AttackTool (공격 도구) | 125 | AT0001, AT0001-001 | 블랙 및 그레이 산업에서 사용하는 도구 |
| ThreatActor (위협 행위자) | 83 | TA0001, TA0001-001 | 공격을 수행하는 사람들 |
| Term (용어) | 657 | T0001 | 비즈니스 보안 분야 용어 |
| Case (사례) | 1781 | C0001 | 실제 보안 사건 사례 |
| BusinessDomain (비즈니스 도메인) | 20 | BD00 | 산업/비즈니스 도메인 분류 |
유지보수 참고: 이 Skill의 호출 방식은 변경되지 않으며, 엔터티 통계와 지식베이스의 사례 사실, 출처 품질 및 데이터 관계 보강은 동시에 업데이트됩니다.
호출 방식
Bash를 사용하여 검색 스크립트를 실행합니다. 스크립트 경로는 skill 디렉토리 아래 break_search.mjs입니다.
기본 명령 형식
node <skill_dir>/break_search.mjs "<query>" [옵션]
여기서 <skill_dir>은 이 SKILL.md 파일이 있는 디렉토리 경로입니다.
매개변수 설명
| 매개변수 | 설명 |
|---|---|
<query> | 필수. 검색 키워드, 엔터티 ID 또는 보안 문제 설명 |
--lang zh|en | 언어. 기본값은 자동 감지: 중국어 문자 포함→zh, 그 외→en |
--type <types> | 쉼표로 구분된 엔터티 유형 필터 (risks, avoidances, attackTools, threatActors, terms, cases) |
--limit N | 유형당 최대 반환 수, 기본값 5 |
--detail | 상세 모드, 전체 필드 및 연관 관계 표시 |
작업 흐름
$query를 수신하면 다음 절차에 따라 처리합니다:
첫 번째 단계: 사용자 의도 판단
- ID 조회:
$query가 엔터티 ID 형식(예: R0001, AT0034-001 등)과 일치 → 직접 정밀 조회 - 키워드 검색:
$query가 짧은 키워드 또는 용어(예: "캡차", "DDoS") → 검색 모드 - 질문 상담:
$query가 설명형 문제(예: "저희 웹사이트가 크롤링 당하는데 어떻게 하죠?") → 질문-답변 모드
두 번째 단계: 검색 실행
ID 조회
직접 실행:
node <skill_dir>/break_search.mjs "<ID>" --lang zh
해당 항목의 전체 상세 정보와 연관 관계를 반환합니다. 사용자에게 직접 제공합니다.
키워드 검색
node <skill_dir>/break_search.mjs "<키워드>" --lang zh
범위를 제한해야 하는 경우:
node <skill_dir>/break_search.mjs "<키워드>" --type risks,avoidances --lang zh
검색 결과를 정리하여 사용자에게 제공합니다.
질문 상담 (핵심 시나리오)
가장 중요한 사용 방식입니다. 사용자가 비즈니스 보안 문제를 설명할 때:
1단계: 키워드 추출
사용자 질문에서 1~3 그룹의 검색 키워드를 추출합니다. 예:
- "저희 회사 웹사이트가 크롤링 당합니다" → 키워드: "크롤러", "데이터 크롤링", "안티 크롤러"
- "사용자 계정이 자주 도난당합니다" → 키워드: "계정 도용", "크리덴셜 스터핑", "자격 증명 채우기"
- "누군가 저희 플랫폼에서 남의 돈을 뜯어갑니다" → 키워드: "남의 돈 뜯기", "마케팅 사기", "블랙 산업"
2단계: 다중 검색
각 키워드 그룹에 대해 검색 스크립트를 각각 호출합니다. 여러 번 호출할 수 있습니다:
# 첫 번째 라운드: 문제 키워드 직접 검색
node <skill_dir>/break_search.mjs "크롤러" --lang zh
# 두 번째 라운드: 관련 위험 및 방어 수단 검색
node <skill_dir>/break_search.mjs "안티 크롤러" --type avoidances --lang zh
# 세 번째 라운드: 필요한 경우 다른 관련 분야 검색
node <skill_dir>/break_search.mjs "데이터 유출" --type risks,cases --lang zh
3단계: 심층 조회
검색 결과에서 가장 관련성 높은 항목 ID를 찾아 정밀 조회하여 상세 정보를 얻습니다:
# 크롤러 위험의 상세 정보 및 연관 회피 수단 확인
node <skill_dir>/break_search.mjs R0027 --lang zh
# 특정 회피 수단의 상세 정보 확인
node <skill_dir>/break_search.mjs A0003 --lang zh
4단계: 종합 답변
검색된 모든 지식을 바탕으로 구조화된 답변을 제공합니다:
## 문제 분석
BREAK 지식베이스에 따르면, 귀하가 설명한 문제는 다음과 같은 위험과 관련됩니다:
- **[R0027] 크롤러 위험**: ... (정의 및 설명 인용)
- **[R0027-001] xxx**: ...
## 방어 권장 사항
위 위험에 대해 BREAK는 다음 회피 수단을 권장합니다:
1. **[A0003] 클라우드 기반 안티 크롤러**: ... (정의 인용)
2. **[A0004] 빈도 제한**: ...
3. ...
## 관련 공격 도구
- **[AT0005] 크롤러 도구**: ...
## 관련 사례
- **[C0xxx] xxx 사례**: ...
> 위 정보는 BREAK 지식베이스 (https://break.jd.army/)에서 제공되었습니다.
중요 원칙
- 항상 먼저 검색한 후 답변: 기억에 의존하여 비즈니스 보안 질문에 답변하지 말고, 반드시 검색 스크립트를 통해 BREAK 지식베이스를 조회해야 합니다.
- 출처 인용: 답변에는 반드시 구체적인 BREAK 항목 ID(예: R0027, A0003)를 명시해야 합니다.
- 다중 검색: 첫 번째 검색 결과가 충분하지 않거나 정확하지 않으면, 키워드를 변경하여 다시 검색합니다.
- 관계 확장: 관련 위험을 찾은 후, 해당 항목의
avoidances필드를 확인하여 방어 수단을 찾고; 공격 도구를 찾은 후,directCauseRisks필드를 확인하여 관련 위험을 파악합니다. - 중/영문 적응: 사용자가 중국어로 질문하면
--lang zh로 검색하고 중국어로 답변하며, 반대의 경우도 마찬가지입니다.
문서 신선도 게이트
scripts/skill/ 검색/패키징 스크립트, 내보낸 중/영문 데이터 패키지, 엔터티 필드/관계 구조, Skill 호출 매개변수 또는 검색 결과 형식이 변경될 때는 반드시 SKILL.md와 SKILL_en.md를 동시에 업데이트해야 합니다. npm run validate:docs-freshness는 npm run validate:data에 연결되어 있으며, 관련 변경 사항에 Skill 문서 업데이트가 없을 경우 빌드를 차단합니다.
데이터 거버넌스 변경도 Skill 검색 결과에 영향을 미칩니다. Case의 references/summary 사실 검증 문제를 수정하거나 Risk의 avoidances 관계를 조정할 때는 영문 번역 파일을 동시에 유지 관리하고, 처음 두 Case references는 가능한 한 크롤링 가능한 본문이 있는 안정적인 페이지를 가리키도록 하여 Skill이 반환하는 사례 사실을 검증할 수 있도록 해야 합니다.
Term 분류는 중앙 집중식 등록 테이블 키를 사용합니다. 분류 수정은 중국어 구조 소스만 변경하고 엔터티 버전을 동기화하면 됩니다. Skill의 검색과 표시는 런타임에 영문 텍스트를 병합하므로 영문 엔터티 파일에 category를 중복하여 쓸 필요가 없습니다.
2026-07-10의 ThreatActor 커버리지 거버넌스는 물류 차익 거래, 악의적인 물류 종사자, 시장 조작, 악의적인 퀀트 거래, AI 에이전트 공격, 플랫폼 규칙 남용 운영 및 통신 자원 남용 서비스 역할을 새로 추가했으며, audit:risk-threat-actor-coverage를 사용하여 보류 관계와 명시적 면제 위험을 구분합니다. Skill 호출 매개변수, 검색 필드 또는 반환 형식을 변경하지 않습니다.
2026-07-10의 ThreatActor 인용 감사는 Wikipedia를 2차 배경 출처로 강등하고, 기관 홈페이지, 뉴스 색인 및 연구 섹션과 같은 일반적인 플레이스홀더 링크를 표시하며, 위협 행위자에 대한 정부, 사법, 학술 및 원본 보안 연구 증거를 보강합니다. Skill 호출 매개변수, 검색 필드, 반환 형식 또는 엔터티 구조를 변경하지 않습니다.
2026-07-10의 엔터티 세분성 검토는 R0285의 관련 없는 Term 관계와 R0159의 중복 Avoidance 참조를 정리했습니다. 이 유지보수는 Skill 호출 매개변수, 검색 필드, 반환 형식 또는 엔터티 구조를 변경하지 않습니다.
2026-07-10의 원자화 거버넌스는 A0124를 Rug Pull 온체인 실시간 감지와 손실 배상/자금 복구로 분할하고, 중복된 A0142/A0160을 병합 삭제하며, 특정 도구 허용 기준을 충족하지 않는 AT0093을 삭제했습니다. 관계는 기존 원자 엔터티로 마이그레이션되었으며, Skill 호출 매개변수와 반환 형식을 변경하지 않습니다.
Case 사실 할 일을 정리할 때, summary는 출처 본문이 직접 지원하는 주체, 시간, 행동, 처리 및 영향 정보만 유지합니다. 크롤링에 실패했거나, 제목만 지원하거나, 출처가 다루지 않은 금액, 수량, 판결 결과, 규제 조치 등 세부 정보는 안정적인 출처를 추가한 후에 유지하거나, 더 보수적인 사실 표현으로 수렴해야 합니다.
고가치 Case references를 보강할 때는 법 집행 기관, 법원, 검찰청, 규제 기관, 제조사 공지 등 1차 출처를 우선적으로 찾습니다. 공개 원본 페이지를 얻을 수 없는 경우, 크롤링 가능한 권위 있는 미디어, 지방 정치법률/공안 채널 또는 안정적인 재게시 자료를 사용하여 교차 검증하고, summary에는 원본 링크가 없으면 지원되지 않는 세부 정보를 기록하지 않도록 해야 합니다. 검색 결과 원본 출처를 확인할 수 없고 이미 여러 출처가 있는 항목은 할 일 수용 목록에 기록하고, 게이트를 통과하기 위해 출처를 조작하지 않습니다.
2026-07-09의 Case P1 인용 품질 유지보수는 C0066, C0130, C0248의 references/summary와 영문 번역만 보강했습니다. Skill 호출 매개변수, 검색 필드, 반환 형식 또는 엔터티 구조를 변경하지 않았습니다.
Case 사실 검증은 크롤링된 본문을 LLM에 전송하여 수행합니다. review-case-fact.mjs는 우선 Scrapingdog을 사용하여 크롤링하고, 실패하거나 본문이 비어 있으면 로컬 직접 연결 크롤링으로 폴백하며, 페이지 선언에 따라 UTF-8/GBK/GB18030을 처리합니다. 이 스크립트를 유지보수할 때는 검토용 텍스트가 본문의 주요 단락을 충분히 다루도록 해야 합니다. 대량으로 P2 할 일을 정리할 때는 약 100개 변경 사항마다 체크포인트를 설정하고, 먼저 validate:data/review:changed를 실행한 후 제출하여 장기간 미검증 변경 사항이 쌓이지 않도록 해야 합니다.
2026-07-09의 Case P2 사실 검증 유지보수는 사례 summary/references/영문 번역만 보강 또는 수렴했으며, Skill 호출 매개변수, 검색 필드, 반환 형식 또는 엔터티 구조를 변경하지 않았습니다.
2026-07-09의 두 번째 Case P2 사실 검증 체크포인트는 C0249, C0310, C0401, C0588, C0595, C0635, C0687, C0697, C0705, C0715, C0753, C0755, C0766, C0796, C0797, C0803, C0805, C0819, C0821, C0833, C0948의 summary, incidentTime, references 및 영문 번역을 계속 수렴했습니다. Skill 호출 매개변수, 검색 필드, 반환 형식 또는 엔터티 구조를 변경하지 않습니다.
2026-07-10의 C0354 사례 유지보수는 법원 시스템 출처를 추가하고, 사례 분류를 사실 속성에 더 가까운 보안 사건으로 조정했습니다. Skill 호출 매개변수, 검색 필드, 반환 형식 또는 엔터티 구조를 변경하지 않습니다.
2026-07-10의 C0446 사례 유지보수는 스먼현 인민법원 공식 WeChat 원문을 추가하고, 영문 번역을 동기화했습니다. Skill 호출 매개변수, 검색 필드, 반환 형식 또는 엔터티 구조를 변경하지 않습니다.
2026-07-10의 세 번째 Case P2 사실 검증 체크포인트는 C0463, C0521, C0522, C0558, C0565, C0571, C0577, C0579, C0593, C0630, C0642-C0720, C0728, C0735, C0744, C0749, C0772, C0781, C0785, C0791 등의 사례에 대한 summary, references, incidentTime 및 영문 번역을 계속 보강 또는 수렴하고, R0290의 회피 수단 커버리지를 추가했습니다. Skill 호출 매개변수, 검색 필드, 반환 형식 또는 엔터티 구조를 변경하지 않습니다.
2026-07-10의 네 번째 Case P2 사실 검증 유지보수는 C0654, C0657, C0684, C1160, C1198, C1235 등의 사례에 대한 summary, incidentTime 및 영문 번역을 계속 수렴하고, 기존 안정적인 출처로 이미 지원되는 C0226, C0410, C0792, C0798 등의 항목을 할 일 수용 목록에 포함했습니다. Skill 호출 매개변수, 검색 필드, 반환 형식 또는 엔터티 구조를 변경하지 않습니다.
2026-07-10의 P1 인용 품질 및 후속 P2 사실 검증 유지보수는 R0081, R0196, TA0030 및 C0484, C0493, C0502, C0508, C0518, C0538, C0802, C0810, C0812, C0813, C0816, C0851, C0878, C0938, C0996, C1050, C1061, C1062, C1075, C1079, C1084, C1090, C1160, C1198 등의 항목에 대한 references, summary, incidentTime 및 영문 번역을 보강하고, A0225, R0267의 출처 및 회피 관계를 동시에 수정했습니다. Skill 호출 매개변수, 검색 필드, 반환 형식 또는 엔터티 구조를 변경하지 않습니다.
2026-07-10의 P1 인용 품질 보강은 AT0076, A0124, A0270, R0168, R0177, TA0058의 권위 있는 출처를 계속 대체 또는 보충하고, R0168의 포럼 약출처를 제거하며, 영문 번역을 동기화했습니다. Skill 호출 매개변수, 검색 필드, 반환 형식 또는 엔터티 구조를 변경하지 않습니다.
2026-07-10의 AI 데이터 오염 관계 검토는 AT0108과 R0273 사이의 직접 인과 관계를 수정하고, 데이터 오염과 관련 없는 회피 수단 및 TA0058의 사례/위험 귀인을 제거하며, TA0058의 훈련, 피드백 및 검색 지식 파이프라인 설명을 통일했습니다. Skill 호출 매개변수, 검색 필드, 반환 형식 또는 엔터티 구조를 변경하지 않습니다.
2026-07-10의 후속 Case P2 사실 검증 유지보수는 C1056, C1060, C1064, C1067, C1069, C1077, C1100, C1102 등의 사례에 대한 크롤링 가능한 출처, summary, incidentTime 및 영문 번역을 계속 보강했습니다. Skill 호출 매개변수, 검색 필드, 반환 형식 또는 엔터티 구조를 변경하지 않습니다.
2026-07-10의 Case P2 사실 검증 체크포인트는 C1482, C1484, C1485, C1488, C1490, C1493, C1495, C1498, C1500, C1501, C1504, C1505, C1511, C1512, C1518, C1519, C1521, C1523, C1528, C1531의 summary, references, incidentTime, 관계 및 영문 번역을 계속 수정하고, A0222-001에 전자상거래 플랫폼 상품 샘플링 검사 전용 출처를 추가했습니다. Skill 호출 매개변수, 검색 필드, 반환 형식 또는 엔터티 구조를 변경하지 않습니다.
2026-07-11의 P2 정리 배치는 C1190, C1251, C1287, C1366, C1377, C1380, C1384, C1386, C1391, C1392, C1393, C1396, C1400, C1401, C1404, C1406, C1407, C1412, C1414, C1416의 사실 요약 및 출처를 수정하고, 5개의 행위자 일관성 및 5개의 위험-회피 수단 관계 할 일을 수정하며, 인소울 브러싱, 콜 폭탄, 추적, DEX, 프라이버시 코인, 제로샷 음성 복제, PII, 소셜 엔지니어링, 계정 세척, Tor 등의 용어를 새로 추가했습니다. Skill 호출 매개변수, 검색 필드, 반환 형식 또는 엔터티 구조를 변경하지 않습니다.
2026-07-11의 후속 P1 인용 품질 유지보수는 C1377, C1384, C1401, C1406, C1414, C1416의 공식 또는 사건 전용 출처를 보강하고, C1384를 출처가 지원할 수 있는 공급망 변조 위험 설명으로 수렴했습니다. Skill 호출 매개변수, 검색 필드, 반환 형식 또는 엔터티 구조를 변경하지 않습니다.
2026-09-02의 용어 T0621 (청산결제) 인용 유지보수는 references를 중국인민은행 청산총센터(cncc.cn)에서 중국인민은행 조사법사가 발행한 《지급결제 방법》(은발〔1997〕393호) 공식 페이지로 대체하고, 영문 번역을 동기화했습니다. Skill 호출 매개변수, 검색 필드, 반환 형식 또는 엔터티 구조를 변경하지 않습니다.
review:should-extract는 전체 라이브러리의 엔터티 제목, 키워드, 별칭 및 현재 엔터티가 이미 참조한 관계를 사용하여 이미 커버된 후보 엔터티를 식별합니다. 이 스크립트를 유지보수할 때는 중복 추출 제안이 노이즈를 제거하여 Skill 검색 결과에 의미상 중복된 새 엔터티가 나타나지 않도록 해야 합니다.
엔터티 관계 그래프
엔터티 간의 연관 관계를 이해하면 더 완전한 답변을 제공하는 데 도움이 됩니다:
ThreatActor (누가)
├── buildAttackTools → AttackTool (자체 구축 도구)
├── useAttackTools → AttackTool (도구 사용)
├── directCauseRisks → Risk (직접적으로 초래하는 위험)
└── indirectSupportRisks → Risk (간접적으로 지원하는 위험)
AttackTool (무슨 도구를 사용하는가)
├── directCauseRisks → Risk (직접적으로 초래하는 위험)
├── indirectSupportRisks → Risk (간접적으로 지원하는 위험)
└── avoidances → Avoidance (어떤 수단으로 회피될 수 있는가)
Risk (무슨 위험)
└── avoidances → Avoidance (어떻게 회피할 것인가)
Case (사례)
├── relatedRisks → Risk
├── relatedAttackTools → AttackTool
└── relatedThreatActors → ThreatActor
Term (용어)
└── related* → 모든 기타 엔터티 유형
BusinessDomain (비즈니스 도메인)
├── riskDimensions → RiskScene (비즈니스 위험 도메인별로 위험 시나리오 구성)
└── riskScenes → Risk (시나리오의 위험 목록; 부모 위험은 자식 위험을 대표할 수 있음)