ubercylon8/f0_library
GitHub: ubercylon8/f0_library
面向 AV/EDR 能力评估的开源安全测试框架,将真实攻击技术映射到 MITRE ATT&CK,并自动生成多格式检测规则与防御加固指南。
Stars: 5 | Forks: 0
# f0_library — 安全测试框架
[](https://github.com/ubercylon8/f0_library/actions/workflows/build.yml)
[](https://github.com/ubercylon8/f0_library/actions/workflows/security.yml)
[](https://opensource.org/licenses/Apache-2.0)
[](https://www.shellcheck.net/)
一个全面的安全测试框架,用于评估端点检测与响应 (EDR) 能力应对映射到 MITRE ATT&CK 框架的真实攻击技术。
## 概述
`f0_library` 是一个专业的开源安全测试框架,旨在评估端点检测与响应 (EDR) 解决方案的有效性。通过模拟映射到 MITRE ATT&CK 框架的真实攻击技术,它为安全团队提供了一种标准化的方法来验证其防御能力。
## 目的
- **安全验证**:测试并验证安全解决方案的检测和防御能力
- **MITRE ATT&CK 对齐**:所有测试均映射到特定的 MITRE ATT&CK 技术,用于标准化的威胁评估
- **自动化测试**:提供一种结构化的安全测试方法,并附带一致的结果代码
- **研究与开发**:使安全团队能够了解其防御态势中的空白
- **合规支持**:符合 DORA/TIBER-EU 标准的测试,以满足监管合规性
## 主要功能
- **51 项安全测试**,分为 3 个类别,涵盖攻击模拟和配置验证
- **跨平台支持**:Windows(主要)、Linux 和 macOS 测试目标
- **Agent 驱动的测试生成**:协调器 + 专门的 Agent,用于根据威胁情报自动创建测试
- **5 种检测规则格式**:为每个测试生成 KQL、YARA、Sigma、Elastic EQL 和 LimaCharlie D&R 规则
- **防御指南**:加固脚本 和事件响应剧本
- **标准化的测试结构**:带有 Elasticsearch 分析的 Schema v2.0 日志记录
- **真实性优先评分 (Rubric v2.1)**:分层的安全/真实性/结构评分,将测试质量与租户防御姿态解耦 (参见 [测试质量评分](#test-quality-scoring))
- **多组织支持**:基于 UUID 的组织跟踪,用于企业部署
- **LimaCharlie 集成**:用于检测规则和证书部署的基础设施即代码
- **Elasticsearch 分析**:预构建的仪表板和丰富管道
- **代码签名支持**:集成的 Windows 可执行文件签名,具有用于绕过 ASR 的双重签名
- **测试来源**:使用 `_references.md` 文件进行引用跟踪,将测试链接到源情报
## 测试分类
| 分类 | 测试数 | 描述 |
|----------|-------|-------------|
| [**intel-driven**](tests_source/intel-driven/) | 33 | 基于 APT 报告、勒索软件分析和 CVE 漏洞利用的威胁情报测试 |
| [**mitre-top10**](tests_source/mitre-top10/) | 10 | MITRE 十大勒索软件技术测试套件 |
| [**cyber-hygiene**](tests_source/cyber-hygiene/) | 8 | 针对端点、身份和租户安全的配置验证测试 |
## Agent 架构
`f0_library` 使用解耦的 Agent 架构,根据威胁情报生成完整的测试包。`sectest-builder` 协调器在一个 4 阶段执行模型中协调专门的技能和子 Agent。
```
flowchart LR
TI[Threat Intel
article/report/CVE] --> SB[sectest-builder
orchestrator] SB --> P1{Phase 1
sequential} P1 --> SA[source-analysis] SA --> IM[implementation] IM --> BS[build-sign] BS --> P2{Phase 2
parallel} P2 --> DOC[documentation] P2 --> DET[detection-rules] P2 --> DEF[defense-guidance] P2 --> KC[kill-chain-diagram] DOC & DET & DEF & KC --> P3{Phase 3
validation} P3 --> VF[file verify] VF --> SC[score consistency] SC --> ES[ES catalog sync] ES --> GC[git commit] GC --> P3b{Phase 3b
deployment} P3b --> SSH[SSH deploy] SSH --> EX[execute on target] EX --> CR[capture results] ``` ### 执行阶段 1. **阶段 1 — 顺序技能** (共享上下文):来源分析 → Go 实现 → 构建与签名 2. **阶段 2 — 并行 Agent** (独立):文档、检测规则、防御指南、杀伤链图表 3. **阶段 3 — 验证** (共享上下文):文件验证、评分一致性、ES 目录同步、git commit 4. **阶段 3b — 部署** (共享上下文):通过 SSH 部署到目标端点,执行并捕获结果 ### Agent 选择 | 需求 | Agent | |------|-------| | 根据威胁情报创建测试 | `@sectest-builder` (协调一切) | | 验证 TIBER-EU 阶段就绪情况 | `@pentest-readiness-builder` | | 可视化攻击流 | `@attack-flow-diagram-builder` | | 可视化杀伤链 | `@kill-chain-diagram-builder` | | 生成检测规则 | `@sectest-detection-rules` | | 生成防御指南 | `@sectest-defense-guidance` | | 在端点上部署和执行测试 | `@sectest-deploy-test` | 有关详细的架构文档,请参阅 [docs/SECTEST_BUILDER_ARCHITECTURE.md](docs/SECTEST_BUILDER_ARCHITECTURE.md)。 ## 项目结构 ``` f0_library/ ├── .claude/ # Claude Code agent and skill definitions │ ├── agents/ # 9 specialized agents (orchestrator + sub-agents) │ └── skills/ # 6 skills (analysis, implementation, build, validation, deploy) ├── .github/ # GitHub workflows and templates │ ├── ISSUE_TEMPLATE/ # Issue templates for bugs and features │ ├── workflows/ # CI/CD workflows (build, security, Claude review) │ └── pull_request_template.md ├── docs/ # Documentation (20 files) │ ├── ARCHITECTURE.md # System architecture (multi-binary bundles) │ ├── CHANGELOG.md # Version history │ ├── DEVELOPMENT.md # Developer setup guide │ ├── DUAL_SIGNING_STRATEGY.md # Code signing details │ ├── F0RT1KA_SCORING_METHODOLOGY.md # Test scoring methodology │ ├── MULTISTAGE_QUICK_REFERENCE.md # Multi-stage build reference │ ├── SECTEST_BUILDER_ARCHITECTURE.md # Agent architecture │ ├── TEST_RESULTS_SCHEMA_GUIDE.md # Schema v2.0 guide │ ├── ELASTICSEARCH_EXPORT_QUICKSTART.md # ES export guide │ └── ... # Additional docs ├── limacharlie-iac/ # LimaCharlie Infrastructure as Code │ ├── elasticsearch/ # Elasticsearch index templates │ ├── payloads/ # PowerShell scripts and payloads │ ├── rules/ # Detection & Response rules │ ├── scripts/ # Deployment automation │ └── README.md # LimaCharlie deployment guide ├── sample_tests/ # Reference test implementations │ └── multistage_template/ # Multi-stage test reference ├── tech-reports/ # Threat intelligence research documents ├── tests_source/ # Active test development directory │ ├── intel-driven/ # Threat intelligence-based tests (28) │ ├── mitre-top10/ # MITRE Top 10 Ransomware tests (10) │ └── cyber-hygiene/ # Configuration validation tests (8) ├── utils/ # Build, signing, and analysis utilities │ ├── gobuild # Cross-platform test builder │ ├── codesign # Code signing utility │ ├── f0_collector # Test result collector │ ├── validate # Test validation suite │ ├── validate_test_results.py # Schema v2.0 validator │ ├── validate-score-format.sh # Score format checker │ ├── validate-reference-urls.py # Reference URL validator │ ├── sync-test-catalog-to-elasticsearch.py │ ├── analyze_test_results.py # Test result analyzer │ ├── combine_test_results.py # Result combiner │ ├── get_tests.py # Test catalog lister │ ├── create-kibana-dashboard.py # Kibana dashboard generator │ ├── defender_alert_query.py # Defender alert querying │ ├── lc_events_query.py # LimaCharlie event querying │ ├── generate-synthetic-test-data.py # Synthetic test data │ ├── Check-DefenderProtection.ps1 │ ├── Monitor-RegistryChanges.ps1 │ └── README.md # Utility documentation ├── rules/ # Development guidelines ├── signing-certs/ # Code signing certificates ├── preludeorg-libraries/ # Prelude testing framework (setup required) ├── CONTRIBUTING.md # Contribution guidelines ├── CODE_OF_CONDUCT.md # Community standards ├── SECURITY.md # Security policy ├── LICENSE # MIT License └── README.md # This file ``` ## 入门指南 ### 前置条件 - **Go 1.21+**:构建测试所需 - **Python 3.7+**:实用程序和 ES 同步脚本所需 - **支持的平台**:Windows(主要)、Linux、macOS - **Prelude Libraries**:必须在 `preludeorg-libraries/` 目录中配置 - **管理员权限**:部分测试需要提升的权限 - **osslsigncode** (可选):用于对 Windows 可执行文件进行代码签名 ### 快速开始 1. **克隆仓库**: ``` git clone https://github.com/ubercylon8/f0_library.git cd f0_library ``` 2. **设置 Python 虚拟环境** (用于实用程序): ``` python3 -m venv .venv source .venv/bin/activate pip install -r utils/requirements.txt # Core deps; also install elasticsearch for ES sync ``` 3. **阅读文档**: - [开发指南](docs/DEVELOPMENT.md) - 完整的设置说明 - [架构概述](docs/ARCHITECTURE.md) - 系统设计 - [贡献指南](CONTRIBUTING.md) - 如何贡献 4. **设置 Prelude libraries** (编译测试所需): 将 [Prelude OpenSource](https://github.com/preludeorg/libraries) 树放置在 `preludeorg-libraries/` 目录下,以便测试 `go.mod` 文件能够解析 `github.com/preludeorg/libraries/go/tests/endpoint`。有关 `utils/gobuild` 使用的确切目录布局,请参阅 [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md)。 5. **安装依赖** (可选): ``` # macOS brew install osslsigncode # Ubuntu/Debian sudo apt-get install osslsigncode # Windows winget install Microsoft.WindowsSDK ``` ### 构建测试 使用提供的 `gobuild` 实用程序进行跨平台编译: ``` # 构建特定测试(默认为 Windows/amd64) ./utils/gobuild build tests_source/intel-driven//
# 构建分类中的所有测试
for dir in tests_source/intel-driven/*/; do
./utils/gobuild build "$dir"
done
# 构建所有测试
./utils/gobuild build-all
# 列出可用测试
./utils/gobuild list
```
### 跨平台构建
```
# Windows(默认)
GOOS=windows GOARCH=amd64 go build -o test.exe main.go test_logger.go test_logger_windows.go org_resolver.go
# Linux
GOOS=linux GOARCH=amd64 go build -o test main.go test_logger.go test_logger_linux.go org_resolver.go
# macOS (Apple Silicon)
GOOS=darwin GOARCH=arm64 go build -o test main.go test_logger.go test_logger_darwin.go org_resolver.go
```
### 代码签名
使用 `codesign` 实用程序对 Windows 可执行文件进行签名:
```
# 签名特定二进制文件
./utils/codesign sign build//.exe
# 使用组织证书双重签名(用于绕过 ASR)
./utils/codesign sign-nested build//.exe --org sb
# 签名构建目录中的所有二进制文件
./utils/codesign sign-all
# 验证签名
./utils/codesign verify build//.exe
```
### 运行测试
在目标系统上部署和执行测试:
```
# 将测试二进制文件复制到目标
scp build//.exe user@target:c:/F0/
# 在目标上执行
ssh user@target "c:/F0/.exe"
# 检查结果
cat c:/F0/test_execution_log.json
```
## 跨平台支持
测试可以针对 Windows、Linux 或 macOS。平台由所模拟的威胁决定。
| 平台 | `LOG_DIR` | `ARTIFACT_DIR` | 二进制文件扩展名 |
|----------|-----------|----------------|-----------------|
| Windows | `C:\F0` | `c:\Users\fortika-test` | `.exe` |
| Linux | `/tmp/F0` | `/home/fortika-test` | (无) |
| macOS | `/tmp/F0` | `/Users/fortika-test` | (无) |
平台特定的日志文件(`test_logger_windows.go`、`test_logger_linux.go`、`test_logger_darwin.go`)定义了这些常量。创建新测试时,请从 `sample_tests/multistage_template/` 复制共享的 `test_logger.go` **以及**相应的平台文件。
## 检测与防御产物
每个测试都会生成 5 种格式的检测规则以及全面的防御指南:
### 检测规则
| 格式 | 文件 | 目标平台 |
|--------|------|-----------------|
| KQL | `_detections.kql` | Microsoft Sentinel / Defender |
| YARA | `_rules.yar` | 基于文件的扫描 |
| Sigma | `_sigma_rules.yml` | 供应商无关的 SIEM |
| Elastic EQL | `_elastic_rules.ndjson` | Elastic SIEM |
| LimaCharlie D&R | `_dr_rules.yaml` | LimaCharlie |
### 防御指南
| 产物 | 文件 | 目的 |
|----------|------|---------|
| 防御指南 | `_DEFENSE_GUIDANCE.md` | 综合检测 + 加固 |
| Windows 加固 | `_hardening.ps1` | PowerShell 加固脚本 |
| Linux 加固 | `_hardening_linux.sh` | Bash 加固脚本 |
| macOS 加固 | `_hardening_macos.sh` | macOS 加固脚本 |
## 测试开发
### 测试结果代码
| 代码 | 名称 | 描述 |
|------|------|-------------|
| 101 | `Unprotected` | 攻击成功 - 系统未受保护 |
| 105 | `FileQuarantinedOnExtraction` | 文件被 AV/EDR 隔离 |
| 126 | `ExecutionPrevented` | 执行被安全解决方案阻止 |
| 999 | `UnexpectedTestError` | 未满足测试前提条件 |
### 路径约定
| 产物类型 | 路径 | 原因 |
|--------------|------|--------|
| 测试二进制文件 | `c:\F0` | 已列入白名单 - 允许执行 |
| 嵌入式工具 | `c:\F0` | 同上 |
| 日志文件 | `c:\F0` | 标准位置 |
| 模拟产物 | `c:\Users\fortika-test` | 未列入白名单 - EDR 会检测 |
### 测试质量评分
`f0_library` 测试在 **Rubric v2.1**(自 2026-04-25 起生效)下进行评分,这是一个分层的真实性优先模型,它将测试属性的质量与租户防御姿态区分开来:
| 层级 | 权重 | 评分内容 |
|------|--------|----------------|
| **安全门** | 通过/失败 | 可逆性、范围控制、对目标主机无破坏性副作用 |
| **真实性** | 0–7 | API 保真度 (2.5) + 标识符保真度 (1.5) + 遥测信号质量 (2.0) + 执行上下文保真度 (1.0) |
| **结构** | 0–3 | Schema v2.0 (1.0) + 文档 (1.0) + 日志记录 (0.5) + 运维规范 (0.5) |
真实性标准 2c(遥测信号质量)**在没有实验室证据的情况下上限为 1.5** —— 测试必须证明所有阶段都达到了触发点,或者按照 Lab-Bound Observability schema 记录了无法到达的阶段。
测试 `TestMetadata` 中的 `RubricVersion` 字段指示了对其进行评分的 rubric:`v2.1`(当前)、`v2`(旧版真实性优先)或 `v1`(旧版同等 5 维度)。现有测试保留其原始 rubric 评分 —— 不进行追溯性重新评分。
完整提案:[`docs/PROPOSED_RUBRIC_V2.1_SIGNAL_QUALITY.md`](docs/PROPOSED_RUBRIC_V2.1_SIGNAL_QUALITY.md)。方法论概述:[`docs/F0RT1KA_SCORING_METHODOLOGY.md`](docs/F0RT1KA_SCORING_METHODOLOGY.md)。
### Schema v2.0 日志记录
所有测试均实现符合 Schema v2.0 的日志记录以进行分析:
```
// Required metadata
metadata := TestMetadata{
Version: "1.0.0",
Category: "defense_evasion",
Severity: "high",
Techniques: []string{"T1562.001"},
Tactics: []string{"defense-evasion"},
Score: 8.5,
}
// Execution context with organization UUID
executionContext := ExecutionContext{
ExecutionID: uuid.New().String(),
Organization: orgInfo.UUID, // From org_resolver.go
Environment: "lab",
}
InitLogger(testID, testName, metadata, executionContext)
```
### 创建新测试
1. 为您的测试生成一个 UUID(小写格式)
2. 选择合适的类别:
- `intel-driven/` - 用于基于威胁情报的测试
- `mitre-top10/` - 用于 MITRE ATT&CK 顶级技术测试
- `cyber-hygiene/` - 用于配置验证测试
3. 创建测试目录结构:
```
mkdir tests_source///
```
4. 从 `sample_tests/multistage_template/` 复制所需文件:
- `test_logger.go` - Schema v2.0 日志记录
- `test_logger_.go` - 平台常量
- `org_resolver.go` - 组织 UUID 解析
5. 按照标准模式实现测试
6. 创建文档:
- `README.md` - 附带评分的简短测试概述
- `_info.md` - 详细的信息卡
- `_references.md` - 来源出处和参考
或者使用自动化构建器:`@sectest-builder <威胁情报文章>`
## LimaCharlie 集成
`f0_library` 包含用于 LimaCharlie 的基础设施即代码:
```
# 部署证书安装程序
./limacharlie-iac/scripts/deploy-cert-installer.sh
# 部署检测规则
limacharlie config push --config limacharlie-iac/f0rtika-org-template.yaml
# 将测试目录同步到 Elasticsearch
source .venv/bin/activate
python3 utils/sync-test-catalog-to-elasticsearch.py
```
有关完整的部署指南,请参阅 [limacharlie-iac/README.md](limacharlie-iac/README.md)。
## CI/CD 与自动化
### 持续集成
- **构建工作流**:在 Ubuntu 和 macOS 上测试实用程序,验证 Go 编译
- **安全工作流**:Gitleaks TruffleHog 密钥扫描、ShellCheck、PSScriptAnalyzer
- **Claude 代码审查**:具有特定领域安全测试知识的自动化 PR 审查
- **Claude 代码 Action**:通过 `@claude` 提及提供交互式 issue/PR 协助
### 安全扫描
- **Gitleaks**:检测 git 历史中的密钥和凭证
- **TruffleHog**:经过验证的密钥检测,减少误报
- **ShellCheck**:Shell 脚本的静态分析
- **PSScriptAnalyzer**:PowerShell 脚本安全分析
- **每周扫描**:每周一自动进行安全检查
## 安全注意事项
**警告**:本框架包含并执行真实的攻击技术。仅在具有适当授权的隔离、受控环境中使用。
- **需要授权**:仅在您拥有或获得明确测试许可的系统上使用
- **隔离环境**:切勿在生产系统或网络上运行
- **监控**:所有测试执行都应被记录和监控
- **负责任的使用**:遵循道德黑客原则和当地法律法规
有关更多详细信息,请参阅我们的[安全政策](SECURITY.md)。
## 贡献
我们欢迎来自安全社区的贡献!在开始之前,请阅读我们的[贡献指南](CONTRIBUTING.md)和[行为准则](CODE_OF_CONDUCT.md)。
### 快速贡献清单
1. 阅读 [CONTRIBUTING.md](CONTRIBUTING.md) 获取详细指南
2. 遵循既定的测试结构模式
3. 将所有测试映射到 MITRE ATT&CK 技术
4. 包含带有测试分数的全面文档
5. 在隔离环境中进行全面测试
6. 使用我们的 [PR 模板](.github/pull_request_template.md) 提交 Pull Request
## 文档
- [架构概述](docs/ARCHITECTURE.md) - 系统设计和多二进制捆绑包
- [Agent 架构](docs/SECTEST_BUILDER_ARCHITECTURE.md) - 协调器和 Agent 设计
- [开发指南](docs/DEVELOPMENT.md) - 完整的设置和开发
- [Schema v2.0 指南](docs/TEST_RESULTS_SCHEMA_GUIDE.md) - 测试结果 schema
- [多阶段参考](docs/MULTISTAGE_QUICK_REFERENCE.md) - 多阶段构建模式
- [双重签名策略](docs/DUAL_SIGNING_STRATEGY.md) - 代码签名详情
- [评分方法论](docs/F0RT1KA_SCORING_METHODOLOGY.md) - 测试评分标准
- [ES 导出快速入门](docs/ELASTICSEARCH_EXPORT_QUICKSTART.md) - Elasticsearch 导出设置
- [Windows SSH 设置](docs/windows-ssh-setup.md) - SSH 部署到 Windows 目标
- [安全政策](SECURITY.md) - 漏洞披露和最佳实践
- [贡献指南](CONTRIBUTING.md) - 如何有效贡献
- [更新日志](docs/CHANGELOG.md) - 版本历史和更改
- [LimaCharlie IaC](limacharlie-iac/README.md) - 检测基础设施部署
## 许可证
本项目基于 **Apache License, Version 2.0** 授权 —— 有关全文和贡献者信息,请参阅 [LICENSE](LICENSE) 和 [NOTICE](NOTICE) 文件。
`f0_library` 于 2026-04-25 从 MIT 重新授权为 Apache 2.0,以与上游 [ProjectAchilles](https://projectachilles.io/) 生态系统保持一致。在该日期之前接受的贡献仍可根据 MIT 条款使用;此后的所有贡献均为 Apache 2.0。有关完整的过渡声明,请参阅 `NOTICE`。
**附加声明**:本软件专为安全测试和评估目的而设计。用户有责任确保在进行任何安全测试之前已获得适当的授权。
## 支持与社区
- **Bug 报告**:使用我们的 [issue 模板](.github/ISSUE_TEMPLATE/)
- **功能请求**:通过 GitHub issues 提交
- **安全问题**:遵循我们的[披露政策](SECURITY.md)
- **问题**:使用 GitHub Discussions 提出一般性问题
**道德使用声明**:本框架仅用于授权的安全测试。在测试任何系统之前,请始终确保您已获得明确的许可。
article/report/CVE] --> SB[sectest-builder
orchestrator] SB --> P1{Phase 1
sequential} P1 --> SA[source-analysis] SA --> IM[implementation] IM --> BS[build-sign] BS --> P2{Phase 2
parallel} P2 --> DOC[documentation] P2 --> DET[detection-rules] P2 --> DEF[defense-guidance] P2 --> KC[kill-chain-diagram] DOC & DET & DEF & KC --> P3{Phase 3
validation} P3 --> VF[file verify] VF --> SC[score consistency] SC --> ES[ES catalog sync] ES --> GC[git commit] GC --> P3b{Phase 3b
deployment} P3b --> SSH[SSH deploy] SSH --> EX[execute on target] EX --> CR[capture results] ``` ### 执行阶段 1. **阶段 1 — 顺序技能** (共享上下文):来源分析 → Go 实现 → 构建与签名 2. **阶段 2 — 并行 Agent** (独立):文档、检测规则、防御指南、杀伤链图表 3. **阶段 3 — 验证** (共享上下文):文件验证、评分一致性、ES 目录同步、git commit 4. **阶段 3b — 部署** (共享上下文):通过 SSH 部署到目标端点,执行并捕获结果 ### Agent 选择 | 需求 | Agent | |------|-------| | 根据威胁情报创建测试 | `@sectest-builder` (协调一切) | | 验证 TIBER-EU 阶段就绪情况 | `@pentest-readiness-builder` | | 可视化攻击流 | `@attack-flow-diagram-builder` | | 可视化杀伤链 | `@kill-chain-diagram-builder` | | 生成检测规则 | `@sectest-detection-rules` | | 生成防御指南 | `@sectest-defense-guidance` | | 在端点上部署和执行测试 | `@sectest-deploy-test` | 有关详细的架构文档,请参阅 [docs/SECTEST_BUILDER_ARCHITECTURE.md](docs/SECTEST_BUILDER_ARCHITECTURE.md)。 ## 项目结构 ``` f0_library/ ├── .claude/ # Claude Code agent and skill definitions │ ├── agents/ # 9 specialized agents (orchestrator + sub-agents) │ └── skills/ # 6 skills (analysis, implementation, build, validation, deploy) ├── .github/ # GitHub workflows and templates │ ├── ISSUE_TEMPLATE/ # Issue templates for bugs and features │ ├── workflows/ # CI/CD workflows (build, security, Claude review) │ └── pull_request_template.md ├── docs/ # Documentation (20 files) │ ├── ARCHITECTURE.md # System architecture (multi-binary bundles) │ ├── CHANGELOG.md # Version history │ ├── DEVELOPMENT.md # Developer setup guide │ ├── DUAL_SIGNING_STRATEGY.md # Code signing details │ ├── F0RT1KA_SCORING_METHODOLOGY.md # Test scoring methodology │ ├── MULTISTAGE_QUICK_REFERENCE.md # Multi-stage build reference │ ├── SECTEST_BUILDER_ARCHITECTURE.md # Agent architecture │ ├── TEST_RESULTS_SCHEMA_GUIDE.md # Schema v2.0 guide │ ├── ELASTICSEARCH_EXPORT_QUICKSTART.md # ES export guide │ └── ... # Additional docs ├── limacharlie-iac/ # LimaCharlie Infrastructure as Code │ ├── elasticsearch/ # Elasticsearch index templates │ ├── payloads/ # PowerShell scripts and payloads │ ├── rules/ # Detection & Response rules │ ├── scripts/ # Deployment automation │ └── README.md # LimaCharlie deployment guide ├── sample_tests/ # Reference test implementations │ └── multistage_template/ # Multi-stage test reference ├── tech-reports/ # Threat intelligence research documents ├── tests_source/ # Active test development directory │ ├── intel-driven/ # Threat intelligence-based tests (28) │ ├── mitre-top10/ # MITRE Top 10 Ransomware tests (10) │ └── cyber-hygiene/ # Configuration validation tests (8) ├── utils/ # Build, signing, and analysis utilities │ ├── gobuild # Cross-platform test builder │ ├── codesign # Code signing utility │ ├── f0_collector # Test result collector │ ├── validate # Test validation suite │ ├── validate_test_results.py # Schema v2.0 validator │ ├── validate-score-format.sh # Score format checker │ ├── validate-reference-urls.py # Reference URL validator │ ├── sync-test-catalog-to-elasticsearch.py │ ├── analyze_test_results.py # Test result analyzer │ ├── combine_test_results.py # Result combiner │ ├── get_tests.py # Test catalog lister │ ├── create-kibana-dashboard.py # Kibana dashboard generator │ ├── defender_alert_query.py # Defender alert querying │ ├── lc_events_query.py # LimaCharlie event querying │ ├── generate-synthetic-test-data.py # Synthetic test data │ ├── Check-DefenderProtection.ps1 │ ├── Monitor-RegistryChanges.ps1 │ └── README.md # Utility documentation ├── rules/ # Development guidelines ├── signing-certs/ # Code signing certificates ├── preludeorg-libraries/ # Prelude testing framework (setup required) ├── CONTRIBUTING.md # Contribution guidelines ├── CODE_OF_CONDUCT.md # Community standards ├── SECURITY.md # Security policy ├── LICENSE # MIT License └── README.md # This file ``` ## 入门指南 ### 前置条件 - **Go 1.21+**:构建测试所需 - **Python 3.7+**:实用程序和 ES 同步脚本所需 - **支持的平台**:Windows(主要)、Linux、macOS - **Prelude Libraries**:必须在 `preludeorg-libraries/` 目录中配置 - **管理员权限**:部分测试需要提升的权限 - **osslsigncode** (可选):用于对 Windows 可执行文件进行代码签名 ### 快速开始 1. **克隆仓库**: ``` git clone https://github.com/ubercylon8/f0_library.git cd f0_library ``` 2. **设置 Python 虚拟环境** (用于实用程序): ``` python3 -m venv .venv source .venv/bin/activate pip install -r utils/requirements.txt # Core deps; also install elasticsearch for ES sync ``` 3. **阅读文档**: - [开发指南](docs/DEVELOPMENT.md) - 完整的设置说明 - [架构概述](docs/ARCHITECTURE.md) - 系统设计 - [贡献指南](CONTRIBUTING.md) - 如何贡献 4. **设置 Prelude libraries** (编译测试所需): 将 [Prelude OpenSource](https://github.com/preludeorg/libraries) 树放置在 `preludeorg-libraries/` 目录下,以便测试 `go.mod` 文件能够解析 `github.com/preludeorg/libraries/go/tests/endpoint`。有关 `utils/gobuild` 使用的确切目录布局,请参阅 [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md)。 5. **安装依赖** (可选): ``` # macOS brew install osslsigncode # Ubuntu/Debian sudo apt-get install osslsigncode # Windows winget install Microsoft.WindowsSDK ``` ### 构建测试 使用提供的 `gobuild` 实用程序进行跨平台编译: ``` # 构建特定测试(默认为 Windows/amd64) ./utils/gobuild build tests_source/intel-driven/
标签:AI合规, API接口, ATT&CK框架, AV/EDR评估, Beacon Object File, Cloudflare, Conpot, DNS 反向解析, DNS 解析, DORA合规, EQL, EVTX分析, FTP漏洞扫描, HTTP工具, IP 地址批量处理, KQL, LC, macOS安全, MITRE ATT&CK, Modbus, Mr. Robot, StruQ, TIBER-EU, Windows安全, YARA, 云资产可视化, 合规测试, 后渗透, 多语言支持, 子域名变形, 安全测试框架, 安全编排, 应用安全, 开源安全工具, 插件系统, 攻击模拟, 数据包嗅探, 数据展示, 无线安全, 日志审计, 检测规则生成, 模拟器, 流量嗅探, 端点安全, 端点检测与响应, 紫队, 红队, 网络安全, 网络安全审计, 脱壳工具, 补丁管理, 越狱测试, 跨平台支持, 逆向工具, 逆向工程平台, 防御绕过, 隐私保护, 驱动签名利用