amjad489/tiaki

GitHub: amjad489/tiaki

Tiaki 是一款用 Go 编写的 AWS 只读安全扫描器,专门评估云环境是否符合 NZISM 和 PSR 信息安全控制要求。

Stars: 0 | Forks: 0

# Tiaki **针对选定 NZISM 和 PSR 信息安全控制项的 AWS 只读技术就绪状态扫描器** *Tiaki* — 毛利语:*守护、保护、照看。* [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/39/39faa54be350a1dab8afd3b2fb8c1c83e4d9cff84abfef2374d19a18053687c4.svg)](https://github.com/amjad489/tiaki/actions/workflows/ci.yml) [![Go Report Card](https://goreportcard.com/badge/github.com/amjad489/tiaki)](https://goreportcard.com/report/github.com/amjad489/tiaki) [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE) [![Go Version](https://img.shields.io/badge/go-1.24%2B-00ADD8.svg)](go.mod)
## 功能简介 Tiaki 使用 **只读** 凭证连接到 AWS 账户,并评估一系列精选的技术控制项,这些控制项摘自 **新西兰信息安全手册 (NZISM)** 和 **保护性安全要求 (PSR)**。它会生成结构化的报告,格式支持 **JSON、终端或 HTML**。每项发现都说明了其证据、修复建议、映射的控制项,并且至关重要的是,**说明了该自动化检查无法验证的内容**。 - 🔒 **只读,无凭证留存。** 没有 mutating API 调用;绝不存储任何凭证。Tiaki 使用标准的 AWS 凭证链 (env / shared config / SSO / IMDS)。 - 📦 **单一静态二进制文件。** 无需安装 runtime — 直接将其放入任何 shell 或 CI pipeline 中即可。 - 🧾 **带版本号的映射控制项。** 每个报告都会记录所使用的 NZISM/PSR 映射修订版本。 - 🧪 **设计诚实。** 报错的检查绝不会被计为通过;每项发现都附有明确的限制说明和误报提示。 ## 快速开始 ``` # 从源代码构建 (Go 1.24+) git clone https://github.com/amjad489/tiaki.git cd tiaki make build # produces ./bin/tiaki # 以常规方式配置只读 AWS credentials,然后: ./bin/tiaki scan --region ap-southeast-2 --format terminal ./bin/tiaki scan --region ap-southeast-2 --format json --output report.json ./bin/tiaki scan --region ap-southeast-2 --format html --output report.html # 检查 control catalog / mappings ./bin/tiaki controls ./bin/tiaki controls --validate # CI guard: every check maps to a known control ``` 无需连接 AWS 即可查看完全渲染的示例:[`examples/sample-report.json`](examples/sample-report.json) 和 [`examples/sample-report.html`](examples/sample-report.html) (合成数据 — 账户 `000000000000`)。 ## 最小权限 IAM Tiaki 仅需要 read/describe/list 权限。您可以附加 AWS 托管的 **`SecurityAudit`** 策略,或使用 [`docs/iam-policy.json`](docs/iam-policy.json) 中更严格的自定义策略。Tiaki 的任何调用都 无法修改您的账户。 ## 检查内容 (MVP) | Check ID | 领域 | 严重程度 | 映射至 | |---|---|---|---| | `iam-root-mfa` | Root 账户已启用 MFA | Critical | NZISM-16.6, PSR-INFOSEC-4 | | `iam-root-access-keys` | 无 root access keys | Critical | NZISM-16.3, PSR-INFOSEC-4 | | `iam-access-key-age` | IAM 密钥轮换 ≤ 90 天 | Medium | NZISM-16.1, PSR-INFOSEC-4 | | `iam-password-policy` | 密码策略 ≥ 14 个字符 | Medium | NZISM-16.1, PSR-INFOSEC-4 | | `s3-public-access-block` | Bucket 阻止公开访问 | High | NZISM-18.1, PSR-INFOSEC-1 | | `s3-default-encryption` | Bucket 已进行静态加密 | Medium | NZISM-17.1, PSR-INFOSEC-2 | | `ec2-ebs-default-encryption` | EBS 默认开启加密 | Medium | NZISM-17.1, PSR-INFOSEC-2 | | `ec2-sg-open-sensitive-ports` | 没有面向 `0.0.0.0/0` 开放的敏感端口 | High | NZISM-18.4, PSR-INFOSEC-2 | | `cloudtrail-multi-region` | 多区域 trail 日志记录 | High | NZISM-23.1, PSR-INFOSEC-2 | | `guardduty-enabled` | 已启用 GuardDuty 威胁检测 | Medium | NZISM-23.1, PSR-GOV-5 | 完整的检查参考文档位于 [`docs/checks.md`](docs/checks.md)。计划中的检查项 (AWS Config, Security Hub, RDS/backups, VPC Flow Logs, KMS rotation, CloudWatch retention, Secrets Manager, 多账户治理) 已在 [`docs/roadmap.md`](docs/roadmap.md) 中跟进 — Tiaki **不会** 默默声称其具备实际上并未实现的覆盖范围。 ## 发现结果结构 每项发现都会准确报告以下字段: ``` Finding Root account has MFA enabled Severity CRITICAL Status FAIL Affected resource account:123456789012 Observed evidence IAM account summary reports AccountMFAEnabled=0 Recommended fix Register a hardware/virtual MFA device on the root user Relevant control NZISM-16.6, PSR-INFOSEC-4 Automated limit Detects MFA registration only; cannot verify the device is held securely or that root login is genuinely avoided ``` ## 🧭 范围与限制 Tiaki 仅评估 **AWS 技术配置**。它 **无法** 评估: - 书面政策、程序或员工安全实践 - 数据分类和处理决策 - 物理和人员安全 (PSR PERSEC/PHYSEC 领域) - 法律或法规合规性 (例如《2020年隐私法》) - 架构对于其风险环境的 *正确性* 控制项映射是 **指示性** 的,并非权威的法律解释,并且 **带有版本号** (`nzism-psr-map-x.y.z`),因此历史报告仍可复现。`PASS` 仅意味着观察到了特定的技术 设置 — 并不代表底层的控制目标已完全满足。请将 Tiaki 的输出视为 **待审查的证据**, 绝不能直接视为最终验收。 ## 文档 - [架构设计](docs/architecture.md) — 设计、数据流和图表 - [检查项参考](docs/checks.md) — 每个检查项的逻辑及其限制 - [IAM 策略](docs/iam-policy.json) — 最小权限的只读权限 - [路线图](docs/roadmap.md) — 计划的检查项和配置文件 - [安全政策](SECURITY.md) — 负责任的披露 - [贡献指南](CONTRIBUTING.md) — 如何添加检查项 ## 贡献 欢迎提供新的检查项 — 每个检查项都是单个自注册文件。请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 许可证 采用 [Apache License 2.0](LICENSE) 授权。Tiaki 是一个独立的开源项目, **不隶属于、不受认可,也不是** 新西兰政府、GCSB 或 PSR 的官方产品。"NZISM" 和 "PSR" 指代公开发布的框架,此处仅作描述性使用。
标签:AWS, DPI, EVTX分析, Go, Ruby工具, 关系图谱, 合规扫描, 图探索, 基线检查, 日志审计, 聊天机器人