[G1-Sync] Manual knowledge update

This commit is contained in:
Antigravity Agent
2026-05-01 20:45:18 +09:00
parent e56d8c7cf9
commit 13f58a24de
40 changed files with 1577 additions and 23 deletions
@@ -0,0 +1,36 @@
---
id: P-REINFORCE-AUTO-WIKI-SEC-001
category: "10_Wiki/💡 Topics/Security & Reliability"
confidence_score: 0.95
tags: [security, dast, runtime-testing, automation, ci-cd, p-reinforce]
last_reinforced: 2026-05-01
---
# [[DAST (Dynamic Application Security Testing)]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> "애플리케이션이 실행되는 런타임 환경에서 해커의 공격을 모방하여 외부로부터의 위협을 검증함으로써, 배포 후(Post-deployment) 보안의 공백을 메우는 동적 보안 스캐닝 자동화 계층."
## 📖 구조화된 지식 (Synthesized Content)
DAST는 라이브 환경에서 애플리케이션의 보안 상태를 점검하는 핵심 기술입니다.
1. **런타임 보안 검증**:
* 소스 코드가 아닌 실행 중인 애플리케이션을 대상으로 외부 공격을 시뮬레이션합니다.
* 실제 운영 환경에서만 발견되는 설정 오류나 동적 취약점(예: 세션 하이재킹, 인프라 보안 등)을 포착합니다.
2. **CI/CD 파이프라인 통합**:
* 배포 단계에 자동화된 스캐너로 통합되어 알려진 취약점을 선제적으로 필터링합니다.
* 이를 통해 인간 리뷰어는 단순 패턴 탐색에서 벗어나 고차원적 로직 및 위협 모델링에 집중할 수 있습니다.
3. **지속적인 보안 커버리지**:
* SAST(정적 분석)가 배포 전 보안을 책임진다면, DAST는 배포 후의 동작을 지속적으로 감시하여 생명주기 전체의 보안 무결성을 유지합니다.
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **코드 연계의 한계**: DAST는 외부 공격 기반이므로 취약점이 발생한 소스 코드의 정확한 라인 번호를 지목하는 데 한계가 있습니다. 이를 보완하기 위해 IAST와의 결합이 권장됩니다.
- **부하 및 최적화**: 라이브 환경 테스트 시 시스템 부하 및 배포 지연(Bottleneck)이 발생할 수 있으므로, 스테이징 환경에서의 병렬 스캔 정책 수립이 필수적입니다.
## 🔗 지식 연결 (Graph)
- [[SAST (Static Application Security Testing)]]: 정적 분석과의 상호 보완성.
- [[IAST (Interactive Application Security Testing)]]: 런타임 데이터 흐름 분석과의 결합.
- [[Shift-Left Security]]: 보안 테스트의 조기 도입 전략.
- [[CI/CD Pipeline Integration]]: 자동화 워크플로우 내의 위치.
- [[Threat Modeling]]: 아키텍처 수준의 보안 설계.
---
@@ -0,0 +1,35 @@
---
id: P-REINFORCE-AUTO-WIKI-SEC-003
category: "10_Wiki/💡 Topics/Security & Reliability"
confidence_score: 0.95
tags: [security, iast, interactive-testing, runtime-monitoring, data-flow, p-reinforce]
last_reinforced: 2026-05-01
---
# [[IAST (Interactive Application Security Testing)]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> "애플리케이션의 내부 동작과 데이터 흐름을 실시간으로 감시하여, 정적 분석(SAST)의 라인 정밀도와 동적 분석(DAST)의 실행 컨텍스트를 동시에 확보하는 하이브리드 보안 테스트 엔진."
## 📖 구조화된 지식 (Synthesized Content)
IAST는 애플리케이션 실행 중에 내부에서 발생하는 보안 위협을 실시간으로 포착합니다.
1. **대화형 실시간 모니터링**:
* 사용자가 앱과 상호작용하는 동안 에이전트가 내부에서 데이터 흐름을 추적하여 보안 취약점을 탐지합니다.
* 단순히 외부에서 공격하는 DAST와 달리, 앱 내부의 실행 경로와 논리적 흐름을 인지합니다.
2. **배포 후(Post-deployment) 보안 강화**:
* 주로 배포 후 환경에 집중하며, 라이브 환경에서만 나타나는 예외 상황이나 설정 기반의 위협을 탐지하는 데 탁월합니다.
3. **지속적인 피드백 루프**:
* SAST 및 DAST와 결합되어 소프트웨어 수명 주기(SDLC) 전반의 보안 가시성을 극대화합니다.
* 탐지된 정보는 다시 개발 및 리뷰 프로세스로 피드백되어 코드 품질의 지속적 강화를 이끕니다.
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **성능 오버헤드**: 런타임에 에이전트를 삽입하여 감시하므로 애플리케이션 성능에 영향을 줄 수 있습니다. 성능 민감도가 높은 환경에서는 테스트 수준과 커버리지 사이의 정교한 밸런싱 정책이 필요합니다.
- **수동 검토와의 결합**: 자동화 도구가 발견한 문제는 언제나 '잠재적 위협'이며, 최종적인 비즈니스 로직상의 결함 여부는 인간 리뷰어의 심층 검사(Manual Review)를 통해 확정되어야 합니다.
## 🔗 지식 연결 (Graph)
- [[SAST (Static Application Security Testing)]]: 정적 분석과의 대비 및 보완.
- [[DAST (Dynamic Application Security Testing)]]: 외부 공격 방식과의 차별화.
- [[ASPM (Application Security Posture Management)]]: 전반적인 보안 태세 관리와의 연동.
- [[Shift-Left Security]]: 보안 조기 대응 전략과의 통합.
---
@@ -1,31 +1,35 @@
---
id: [[P-Reinforce]]-AI-050
category: "10_Wiki/💡 Topics/Security & [[Reliability]]"
confidence_score: 0.99
tags: [security, owasp, vulnerability, secure coding]
last_reinforced: 2026-06-XX
github_commit: "[P-Reinforce] Processed OWASP Top 10."
id: P-REINFORCE-AUTO-WIKI-SEC-005
category: "10_Wiki/💡 Topics/Security & Reliability"
confidence_score: 0.95
tags: [security, owasp-top-10, web-security, vulnerability-checklist, compliance, p-reinforce]
last_reinforced: 2026-05-01
---
# [[OWASP Top 10]] (웹 애플리케이션 보안 취약점)
# [[OWASP Top 10]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> 웹 애플리케이션 개발 시 가장 빈번하고 치명적인 상위 10가지 보안 위험 목록으로, 개발 초기 단계부터 '[[Shift]]-Left' 원칙에 따라 코딩과 테스트 전반에 걸쳐 방어 로직을 적용하는 것이 필수적이다.
> "웹 애플리케이션에서 발생하는 가장 치명적인 10대 보안 취약점의 표준 정의이자, 개발자와 리뷰어가 공유해야 할 최소한의 보안 안전장치이자 체크리스트."
## 📖 구조화된 지식 (Synthesized Content)
- **개념:** OWASP(Open Web Application Security Project)가 매년 발표하는 웹 보안 취약점 목록이며, 모든 개발 팀이 반드시 숙지해야 할 기본적인 '최소한의 방어선'을 정의한다.
- **주요 위험 요소 및 대응 원칙 (예시):**
1. **Injection (주입 공격):** 가장 흔하며 치명적이다. 사용자 입력을 신뢰하지 않고, 모든 입력에 대해 반드시 파라미터화된 쿼리(Prepared [[State]]ment)를 사용해야 한다.
2. **Broken Authentication:** 인증 메커니즘을 강력하게 관리해야 한다. 비밀번호 암호화는 최신 알고리즘(Argon2 등)과 복잡한 정책을 따라야 하며, 세션 관리에 주의한다.
3. **Cross-Site Scripting (XSS):** 사용자 생성 콘텐츠 출력 시 반드시 컨텍스트 기반 이스케이프(Contextual Escaping) 처리를 거쳐 악성 스크립트 실행을 막아야 한다.
4. **Security Misconfiguration:** 기본 설정값을 변경하지 않고 사용하는 실수를 최소화하며, 모든 컴포넌트는 최소 권한 원칙에 따라 운영되어야 한다.
OWASP Top 10은 안전한 소프트웨어 개발을 위한 범용적인 가이드라인입니다.
1. **보안 코드 리뷰의 표준**:
* 단순한 기능 점검을 넘어 "공격자가 이 데이터를 어떻게 조작할 수 있는가?"라는 관점을 제시합니다.
* 입력값 검증, 인증/인가, 민감 데이터 노출, 보안 설정 오류 등 핵심 영역을 아우르는 프레임워크를 제공합니다.
2. **주요 취약점 유형**:
* 인젝션(Injection), 취약한 인증(Broken Authentication), 민감 데이터 노출, 보안 오설정 등이 포함됩니다.
3. **자동화 도구와의 시너지**:
* SonarQube 등 SAST 도구의 규칙 엔진(Rule Engine)의 근간이 되며, 기계가 패턴을 선별하고 인간이 비즈니스 로직을 검토하는 협업 체계를 구축합니다.
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 보안은 단순히 패치를 적용하는 문제가 아니라, 개발 프로세스(SDLC) 전체에 걸쳐 '보안을 기본으로 생각하는' 문화적 접근이 필요하다.
- **정책 변화:** [[SAST]]/DAST 같은 자동화된 테스트 도구 활용 외에도, 설계 단계에서부터 보안 취약점 분석(Threat Modeling)을 의무화하고, 코드를 검토할 때마다 (Pull Request 기반의) 보안 체크리스트를 도입하는 것이 현대적 표준이다.
- **로직 결함의 사각지대**: OWASP Top 10은 패턴화된 취약점 탐지에는 뛰어나지만, 비즈니스 로직의 특수성에서 기인하는 설계 오류나 복잡한 접근 제어 결함은 인간의 심층 수동 리뷰(Manual Review)가 필수적입니다.
- **버전별 변화**: 웹 기술의 발전에 따라 Top 10의 순위와 항목은 주기적으로 업데이트되므로(예: 2017 -> 2021), 최신 가이드라인에 맞춘 체크리스트의 동적 갱신 정책이 중요합니다.
## 🔗 지식 연결 (Graph)
- Parent: [[DevSecOps]]
- Related: [[SAST (Static Application Security [[Testing]])]] , [[DAST (동적 애플리케이션 보안 테스트)]] , Security by Design
- [[SAST (Static Application Security Testing)]]: 자동화된 탐지 엔진과의 연동.
- [[Secure Code Review]]: 보안 중심의 코드 검토 방법론.
- [[Injection Flaws]]: 대표적인 취약점 패턴의 심화.
- [[CWE Top 25]]: 소프트웨어 약점 목록과의 교차 분석.
- [[Shift-Left Security]]: 보안 기준의 조기 적용 전략.
---
@@ -0,0 +1,35 @@
---
id: P-REINFORCE-AUTO-WIKI-SEC-002
category: "10_Wiki/💡 Topics/Security & Reliability"
confidence_score: 0.95
tags: [security, sast, static-analysis, shift-left, code-review, p-reinforce]
last_reinforced: 2026-05-01
---
# [[SAST (Static Application Security Testing)]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> "애플리케이션을 실행하지 않고 소스 코드 자체를 분석하여 결함을 찾아내는 첫 번째 방어선으로, 보안 결함 수정 비용을 최소화하는 '시프트 레프트(Shift-Left)' 전략의 핵심 엔진."
## 📖 구조화된 지식 (Synthesized Content)
SAST는 개발 초기 단계에서 보안 무결성을 확보하기 위한 정적 도구입니다.
1. **정적 분석 메커니즘**:
* 소스 코드의 구문(AST)과 논리 구조를 스캔하여 취약한 패턴(예: OWASP Top 10)을 식별합니다.
* 취약점의 정확한 라인 번호를 제공하여 개발자가 즉각적으로 대응할 수 있게 합니다.
2. **리뷰어의 인지 에너지 보존**:
* 인젝션 결함이나 기초적인 보안 실수를 기계가 선별함으로써, 인간 리뷰어는 아키텍처 의도와 비즈니스 로직 검토에 집중할 수 있습니다.
3. **조기 발견 (Shift-Left)**:
* 코드 작성 및 PR 단계에서 즉시 위협을 감지하여, 프로덕션 배포 후 발생하는 막대한 수정 비용을 예방합니다.
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **오탐(False Positives) 관리**: 패턴 매칭에 의존하므로 실제 위협이 아닌 코드도 위험으로 분류하는 노이즈가 발생할 수 있습니다. 이는 리뷰 팀의 주관적 검증(Validation) 정책으로 보완해야 합니다.
- **맥락 인지의 한계**: 비즈니스 로직이나 런타임 환경 설정(네트워크 등)에 의한 동적 취약점은 탐지할 수 없으므로 DAST/IAST와의 병행이 필수입니다.
## 🔗 지식 연결 (Graph)
- [[DAST (Dynamic Application Security Testing)]]: 동적 분석과의 보완적 관계.
- [[Shift-Left Security]]: 보안의 조기 도입 철학.
- [[CI/CD Pipeline Integration]]: 품질 게이트(Quality Gate)로서의 구현.
- [[Automated Code Analysis]]: 린팅 및 정적 분석 도구군.
- [[SCA (Software Composition Analysis)]]: 외부 라이브러리 보안 검증으로의 확장.
---
@@ -0,0 +1,38 @@
---
id: P-REINFORCE-AUTO-WIKI-SEC-007
category: "10_Wiki/💡 Topics/Security & Reliability"
confidence_score: 0.95
tags: [security, code-review, secure-coding, owasp, adversarial-mindset, p-reinforce]
last_reinforced: 2026-05-01
---
# [[Security-focused Code Review]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> "애플리케이션의 기능성을 넘어 '공격자가 시스템을 어떻게 악용할 수 있는가?'라는 적대적 관점(Adversarial Mindset)에서 코드를 감사하여, 치명적인 보안 결함을 배포 전 차단하는 품질의 최전선."
## 📖 구조화된 지식 (Synthesized Content)
보안 중심 코드 리뷰는 단순한 버그 탐지를 넘어 시스템의 신뢰 경계(Trust Boundary)를 보호하는 핵심 프로세스입니다.
1. **공격자 관점의 전환**:
* 기능적 단위 테스트를 통과한 코드라도 인가 우회, 인젝션 가능성 등을 의심하며 검토합니다.
* 조기 발견을 통해 프로덕션 사고 비용과 기술 부채를 기하급수적으로 절감합니다.
2. **핵심 체크리스트 (OWASP 기반)**:
* **입력값 검증**: 모든 외부 데이터를 위협으로 간주하고 살균(Sanitization) 및 허용 목록(Allow-list) 검증을 수행합니다.
* **인증 및 인가**: 최소 권한 원칙(Principle of Least Privilege) 준수 및 권한 검사 로직의 무결성을 확인합니다.
* **민감 정보 보호**: API 키나 토큰의 하드코딩 여부를 점검하고 암호화 알고리즘의 적절성을 평가합니다.
* **의존성 검증**: 서드파티 라이브러리의 알려진 취약점(CVE)을 감시합니다.
3. **하이브리드 접근**:
* SAST, DAST, SCA 등 자동화 도구로 기초 결함을 필터링하고, 인간 리뷰어는 복잡한 비즈니스 로직 우회 및 아키텍처 수준의 보안 취약점 검토에 집중합니다.
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **AI 생성 코드의 위협**: AI 코딩 어시스턴트가 생성한 코드는 사람이 짠 코드보다 취약점을 포함할 확률이 높으며, 환각(Hallucination)을 통한 악성 패키지 추천 위험이 있습니다. AI 생성 코드에 대해서는 더 엄격한 보안 검열이 요구됩니다.
- **검토 속도 vs 엄격성**: 모든 PR에 심층 보안 리뷰를 강제하면 병목이 발생합니다. 위험 기반 코드 리뷰(Risk-based review)를 통해 민감한 데이터를 다루는 핵심 로직에 리뷰 자원을 집중해야 합니다.
## 🔗 지식 연결 (Graph)
- [[OWASP Top 10]]: 보안 리뷰의 표준 체크리스트.
- [[Shift-Left & Supply Chain Security]]: 보안 리뷰를 앞당기는 전략.
- [[Automated Quality & Review]]: 보안 자동화 도구의 통합.
- [[Architecture Review]]: 설계 단계에서의 보안 검토.
- [[Principle of Least Privilege]]: 보안 설계의 대원칙.
---
@@ -0,0 +1,36 @@
---
id: P-REINFORCE-AUTO-WIKI-SEC-006
category: "10_Wiki/💡 Topics/Security & Reliability"
confidence_score: 0.95
tags: [security, shift-left, supply-chain-security, sca, sast, quality-gate, p-reinforce]
last_reinforced: 2026-05-01
---
# [[Shift-Left & Supply Chain Security]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> "보안 검증을 개발 생명주기의 가장 초기 단계(코드 작성 및 리뷰)로 전진 배치하고, 외부 의존성(Open Source)의 무결성을 검증하여 프로덕션 사고 비용을 기하급수적으로 절감하는 방어 전략."
## 📖 구조화된 지식 (Synthesized Content)
현대적 보안은 사후 대응이 아닌 사전 예방과 공급망 관리에 집중합니다.
1. **Shift-Left Security**:
* **조기 발견의 가치**: 보안 테스트를 SDLC의 마무리 단계가 아닌 코드 작성 및 PR 단계로 앞당깁니다. 운영 환경 도달 전에 결함을 제거하여 수정 비용과 기술 부채를 최소화합니다.
* **자동화 통합**: [[SAST (Static Application Security Testing)]] 및 린터를 CI/CD 파이프라인에 통합하여 인간 리뷰어에게 도달하기 전 1차 방어선을 구축합니다.
2. **Software Supply Chain Security**:
* **의존성 무결성**: 프로젝트에 포함된 오픈소스 라이브러리와 서드파티 패키지의 취약점(CVE) 및 라이선스 리스크를 [[SCA (Software Composition Analysis)]]를 통해 감시합니다.
* **타이포스쿼팅 및 환각 대응**: AI 생성 코드나 악의적인 패키지 주입(Typosquatting)으로부터 코드베이스를 보호하기 위한 검증 체계를 운영합니다.
3. **지속적인 거버넌스**:
* ASPM(Application Security Posture Management) 등을 통해 개발 전 과정의 보안 위협을 가시화하고 우선순위화하여 대응합니다.
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **민첩성 vs 보안**: 너무 촘촘한 보안 게이트는 개발 속도를 저하시킵니다. 리스크 기반의 적응형 보안 게이트(Adaptive Security Gate) 전략을 통해 속도와 안전의 균형을 찾아야 합니다.
- **오탐(False Positive) 관리**: 자동화 도구의 노이즈는 리뷰어의 피로도를 유발합니다. 문맥을 이해하는 인간 전문가의 검토와 도구의 정교한 룰셋 튜닝이 병행되어야 합니다.
## 🔗 지식 연결 (Graph)
- [[SAST (Static Application Security Testing)]]: 정적 분석을 통한 시프트 레프트 구현.
- [[SCA (Software Composition Analysis)]]: 공급망 보안의 핵심 도구.
- [[CI-CD Pipeline]]: 보안 자동화가 실현되는 인프라.
- [[Architecture Review]]: 가장 극단적인 형태의 시프트 레프트(설계 단계 보안).
- [[DevSecOps]]: 보안 중심의 개발 및 운영 철학.
---
@@ -0,0 +1,36 @@
---
id: P-REINFORCE-AUTO-WIKI-SEC-004
category: "10_Wiki/💡 Topics/Security & Reliability"
confidence_score: 0.95
tags: [security, sca, open-source, dependency-management, license-compliance, p-reinforce]
last_reinforced: 2026-05-01
---
# [[Software Composition Analysis (SCA)]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> "애플리케이션을 구성하는 외부 오픈소스 컴포넌트와 서드파티 의존성을 스캔하여, 알려진 보안 취약점(CVE)과 법적 라이선스 리스크를 사전에 차단하는 '공급망 보안(Supply Chain Security)'의 핵심 엔진."
## 📖 구조화된 지식 (Synthesized Content)
SCA는 프로젝트의 외부 의존성을 관리하고 보안 무결성을 검증합니다.
1. **의존성 및 취약점 스캔**:
* NPM, Maven, PyPI 등 프로젝트에 포함된 오픈소스 라이브러리를 스캔하여 CVE(알려진 취약점) 데이터베이스와 대조합니다.
* 취약한 버전의 라이브러리가 사용될 경우 경고를 보내고 안전한 버전으로의 업데이트를 제안합니다.
2. **라이선스 및 지적 재산권 보호**:
* 오픈소스 라이선스(예: AGPL vs MIT) 충돌을 감지하여 법적 리스크를 방어합니다.
* 특히 AI 생성 코드가 라이선스 보호 코드를 무단 복제하여 병합하는 상황을 식별하는 데 유용합니다.
3. **CI/CD 품질 게이트**:
* 코드 리뷰 이전 단계에서 취약한 패키지를 자동으로 차단하여, 인간 리뷰어의 검토 부담을 대폭 낮춥니다.
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **내부 로직 검증의 부재**: SCA는 '알려진 위협'을 찾는 도구입니다. 개발자가 직접 작성한 소스 코드 내부의 고유한 로직 오류나 제로데이 취약점은 탐지할 수 없으므로 SAST와의 병행이 필수적입니다.
- **도달 가능성(Reachability)의 문제**: 방대한 취약점 목록 중 실제 비즈니스 로직에서 호출되어 타격을 줄 수 있는 취약점을 우선순위화하는 정책이 운영 효율성을 결정짓는 핵심 업데이트가 될 것입니다.
## 🔗 지식 연결 (Graph)
- [[SAST (Static Application Security Testing)]]: 내부 소스 분석과의 상호 보완.
- [[CVE (Common Vulnerabilities and Exposures)]]: 취약점 표준 데이터베이스와의 연결.
- [[Shift-Left Security]]: 보안 관리의 조기 도입.
- [[Dependabot]]: 자동화된 패키지 업데이트 워크플로우.
- [[AI-Generated Code Security]]: AI 생성 코드의 보안 및 저작권 검증.
---