Starchitect
커뮤니티 참여하기!
Starchitect-CloudGuard
Regula Tests
License: MIT
Discord
Starkit Demo
Starchitect-CloudGuard는 강력한 CLI를 갖춘 AI 기반 종합 보안 테스트 프레임워크입니다. 이 프레임워크를 사용하면 로컬 개발 중, 배포 전 CI/CD 파이프라인에서, 그리고 배포 후 라이브 클라우드 환경에 이르기까지 전체 개발 수명 주기(development lifecycle)에 걸쳐 동일한 일련의 보안 테스트를 실행할 수 있습니다.
주요 기능 (Key Features)
-
런타임 보안 검사 (Runtime Security Checks): 라이브 클라우드 인프라 유효성 검사
- 클라우드 환경에 대한 직접적인 보안 평가
- 현재 AWS 지원 (GCP, Azure 곧 지원 예정)
- 여러 로그 형식 지원: JSON, stdout (로그 버킷 통합, 예: s3는 곧 지원 예정)
- 병렬 및 동시 테스트 실행 기능
-
정적 분석 (Static Analysis, SAST): 배포 전 Infrastructure as Code(IaC) 분석
- 현재 AWS와 GCP의 Terraform 구성을 지원
- 확립된 보안 벤치마크에 대한 유효성 검사
- CI/CD 파이프라인과의 통합
- terraform provider로 사용 가능 여기
-
AI 기반 테스트 생성 (AI-Powered Test Generation): 고품질 보안 테스트 자동 생성
- 최첨단 AI 에이전트가 깊은 클라우드 보안 이해도를 바탕으로 테스트를 작성합니다.
- The Non-Functionional Co. 팀의 세심한 인간 검토 과정을 거칩니다.
- 신뢰할 수 있고 포괄적인 규정 준수 유효성 검사를 보장합니다.
이 프레임워크는 유연하고 확장 가능하도록 설계되었습니다. 현재 AWS 런타임 검사 및 Terraform 정적 분석에 중점을 두고 있지만, 추가 클라우드 제공업체(GCP, Azure 등)와 IaC 형식(Pulumi, Bicep, CloudFormation 등)에 대한 지원이 지속적으로 증가하고 있습니다. 특정 요구 사항이 있다면 GitHub 이슈를 열어주십시오. 저희 팀이 기꺼이 도움을 드리겠습니다.
설치 (Installation)
CLI를 시작하는 가장 빠른 방법은 Node.js 런타임을 이용하는 것이지만, 주요 플랫폼을 위한 Homebrew tap, deb/rpm 패키지, 그리고 독립형 바이너리도 제공합니다.
Starchitect CLI는 여러 방식으로 설치할 수 있습니다:
Homebrew 사용하기
brew tap nonfx/starkit
brew install starkit
npm 사용하기
추가 설치 플랫폼 및 옵션은 릴리스 섹션을 확인하세요.
벤치마크 테스트 실행하기
CLI를 사용하여 실제 AWS 환경에서 모든 벤치마크 테스트를 실행할 수 있습니다:
AWS 자격 증명 설정하기
테스트를 실행하기 전에 AWS 자격 증명을 구성해야 합니다. 두 가지 방법이 있습니다:
-
환경 변수 사용하기
터미널에서 다음 변수를 내보내세요:
export AWS_ACCESS_KEY_ID=<your-access-key>
export AWS_SECRET_ACCESS_KEY=<your-secret-key>
-
AWS CLI 사용하기 (권장)
먼저, 다음에서 AWS CLI를 설치하세요: https://aws.amazon.com/cli/
그런 다음 실행하세요:
aws configure
AWS Access Key ID: [your-access-key]
AWS Secret Access Key: [your-secret-key]
...
참고:
- 액세스 키 생성하기: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html
- AWS CLI 설정 가이드: https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html
## 보안 벤치마크 커버리지
| 벤치마크 | 상태 |
| :--- | :---: |
| CIS Amazon Web Services Foundations | ✅ |
| ... |
## 프로젝트 구조
저장소는 세 가지 주요 디렉터리로 구성되어 있습니다:
- `/runtime` - JavaScript로 작성된 모든 런타임 보안 테스트를 포함합니다.
- `/runtime/aws` - AWS 서비스별 테스트 (예: Lambda, CloudTrail, KMS)
- `/runtime/utils` - 런타임 테스트용 공유 유틸리티
- `/terraform` - [Fugue Regula](https://github.com/fugue/regula)를 사용한 정적 분석 테스트가 포함되어 있습니다.
- `/terraform/aws` - AWS 서비스별 Terraform 구성 파일
- `/terraform/gcp` - GCP 서비스별 Terraform 구성 파일
- `/cli` - 명령줄 인터페이스(Command-line interface) 구현
## 기여하기 (Contributing)
커뮤니티의 기여를 환영합니다! Starchitect-CloudGuard에 기여하려면 다음 단계를 따라주세요:
1. 레포지토리를 포크(Fork)하세요.
2. 기능 또는 수정 사항을 위한 새 브랜치를 만드세요.
3. 변경 사항을 적용하고 테스트를 작성하세요.
4. 풀 리퀘스트(Pull request)를 제출하세요.
5. 검토 및 승인을 기다리세요.
자세한 내용은 [기여 가이드](CONTRIBUTING.md)를 참조하세요.
Starchitect-CloudGuard 커뮤니티는 활발하고 협력적입니다. [Discord 서버](https://discord.gg/kDTtfpgFFq)에 참여하여 연결하고, 질문을 하고, 통찰력을 공유하며, 프로젝트에 기여하세요.
## 자주 묻는 질문 (FAQ)
1. 왜 커먼스 클로즈(Commons Clause) 라이선스를 사용하나요?
저희는 오픈 소스 가치와 지속 가능성 사이의 균형을 맞추기 위해 이 프로젝트에 [Commons Clause](https://commonsclause.com/) 라이선스를 사용하기로 결정했습니다. 저희의 목표는 소프트웨어가 모든 사람이 자유롭게 사용, 수정 및 공유할 수 있도록 보장하는 동시에, 프로젝트를 추가적으로 개발하고 유지 관리할 수 있는 능력을 보호하는 것입니다.
커먼스 클로즈는 Apache, MIT 또는 GPL과 같은 기존 오픈 소스 라이선스에 추가될 수 있는 라이선스 조건입니다. 적용될 때, 커먼스 클로즈는 소프트웨어의 자유로운 사용, 수정 및 공유를 허용하지만, 다른 사람이 해당 소프트웨어를 판매하거나 상업적 호스팅 서비스의 일부로 제공하는 것을 금지합니다.
저희는 이 접근 방식이 여러 가지 이점을 가진다고 믿습니다:
- **모든 사용자 무료 이용:** 이 소프트웨어는 개인이든, 비영리 단체이든, 스타트업이든, 대기업이든 관계없이 영구적으로 누구나 사용할 수 있습니다. 오픈 소스 라이선스 약관을 준수하는 한, 사용자의 자체 프로젝트에 활용하거나 필요에 맞게 수정하여 다른 사람들과 공유할 수 있습니다.
- **프로젝트 지속 가능성 보호:** 상업적 무단 재판매를 금지함으로써 Commons Clause는 원래 개발자와 유지보수자들이 프로젝트의 개발을 지속할 수 있도록 보장합니다. 이것이 없다면, 제3자가 소프트웨어를 가져가 재판매하여 기여 없이 가치를 독점할 위험이 있습니다.
- **상업적 라이선스 허용:** 소프트웨어를 상업적으로 판매하거나 유료 호스팅 서비스로 제공하고자 하는 기업의 경우, Commons Clause는 상업적 라이선스 협상을 가능하게 합니다. 이는 적절한 곳에서 프로젝트가 수익화되어 지속적인 개발 자금을 확보할 수 있도록 보장합니다.
저희는 일부 분들이 Commons Clause와 이것이 오픈 소스에 미치는 영향에 대해 우려하실 수 있다는 점을 이해합니다. 하지만 저희는 이 균형 잡힌 접근 방식이야말로 소프트웨어를 최대한 광범위하게 이용 가능하게 하면서도 프로젝트의 장기적인 지속 가능성과 성공을 보장하는 현재 최선의 방법이라고 믿습니다. Commons Clause는 이러한 약관을 강제할 법적 근거를 제공합니다.
라이선싱에 관해 다른 질문이나 우려 사항이 있으시면 주저하지 말고 문의해 주십시오. 저희는 라이선스 선택과 그것이 커뮤니티에 미치는 영향에 대해 완전히 투명하게 공개하는 것을 믿습니다. 우리의 목표는 사용자를 역량 강화하는 놀라운 소프트웨어를 만들면서도 지속 가능한 오픈 소스 프로젝트를 구축하는 것입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62