MVulcansTrace/VulcansTrace_Linux_Edition

GitHub: MVulcansTrace/VulcansTrace_Linux_Edition

一款离线 Linux 防火墙日志取证分析器,解析 iptables/nftables 日志并检测多类威胁行为,导出签名证据包用于事件调查。

Stars: 0 | Forks: 0

# VulcansTrace Linux 版 [![CI](https://github.com/MVulcansTrace/VulcansTrace_Linux_Edition/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/MVulcansTrace/VulcansTrace_Linux_Edition/actions/workflows/ci.yml?query=branch%3Amain) [![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](LICENSE) ![.NET 9.0](https://img.shields.io/badge/.NET-9.0-512BD4?logo=dotnet&logoColor=white) ![Avalonia 11.3.17](https://img.shields.io/badge/Avalonia-11.3.17-8B44AC) ![Platform: Linux](https://img.shields.io/badge/Platform-Linux-FCC624?logo=linux&logoColor=black) ![Tests: 3247 passing](https://img.shields.io/badge/Tests-3247%20passing-2E7D32) ![Offline: 100% local](https://img.shields.io/badge/Offline-100%25%20local-2E7D32) ![Evidence: HMAC-SHA256](https://img.shields.io/badge/Evidence-HMAC--SHA256-0B7285) VulcansTrace Linux Edition 是一款用于 Linux 防火墙日志的离线桌面取证分析器。它能够解析 iptables 和 nftables 日志文本,将其标准化为共享的事件 schema,运行多层威胁检测器,关联相关发现,并导出经过签名的证据包,以便进行调查和交接。 离线策略:该应用程序不会将日志、遥测数据、分析结果或发现发送到任何地方。日志均在本地内存中处理,证据包仅写入用户指定的文件。 ## 演示预览 **完整检测 pipeline:** 粘贴日志、分析、追踪攻击链、获取修复步骤。 ![VulcansTrace hero demo: full detection pipeline with Timeline and Incident Story](https://raw.githubusercontent.com/MVulcansTrace/VulcansTrace_Linux_Edition/main/portfolio-hero.gif) **分析深度:** 跨越 6 个威胁类别的 9 项发现,包含覆盖率、合规性和风险计分卡。 ![VulcansTrace dashboard demo: findings, coverage, compliance, and risk grade](https://raw.githubusercontent.com/MVulcansTrace/VulcansTrace_Linux_Edition/main/portfolio-dashboard.gif) **全面控制:** 为每个检测器提供可调整的检测阈值,外加用于实时监控的实时流。 ![VulcansTrace advanced config demo: threshold tuning and live stream](https://raw.githubusercontent.com/MVulcansTrace/VulcansTrace_Linux_Edition/main/portfolio-advanced.gif) **AI 驱动的调查:** 具备审计类别、修复导出和交互式分析功能的 Security Agent。 ![VulcansTrace Security Agent demo: AI-powered investigation and remediation](https://raw.githubusercontent.com/MVulcansTrace/VulcansTrace_Linux_Edition/main/portfolio-agent.gif) ## 目录 - [演示预览](#demo-preview) - [功能说明](#what-it-does) - [检测覆盖范围](#detection-coverage) - [快速开始](#quick-start) - [证据包](#evidence-bundles) - [项目结构](#project-layout) - [文档指南](#documentation-guide) - [深度案例解析](#portfolio-deep-dives) - [开发说明](#development) - [安全说明](#security-notes) - [许可证](#license) ## 功能说明 VulcansTrace 专为本地调查 Linux 防火墙遥测数据而设计: - 接收 iptables 内核日志和 nftables `nf_tables:` 条目。 - 通过对每一行进行单独分类,处理混合格式的日志输入。 - 将原始日志行转换为包含共享字段和 Linux 特定元数据的 `UnifiedEvent` 记录。 - 运行基准、Linux 特定和高级威胁检测器。 - 当在同一源主机上出现相关行为时,提升严重级别。 - 保留解析错误、跳过的行、警告和检测器输出,供分析师审查。 - 导出 CSV、JSON、STIX 2.1、HTML、Markdown 和签名清单格式的报告 —— 每次导出都包含针对发现和规则的 MITRE ATT&CK 技术映射。 - 提供本地 Security Agent,它使用实时主机扫描器、确定性规则、感知角色的本地策略、双层 CIS Benchmark 映射(CIS Controls v8 + CIS Ubuntu 24.04 LTS 技术控制)以及用于审计合规性追溯的 **MITRE ATT&CK 技术映射**来回答纯英文的安全态势问题 —— 包括针对单项发现的交互式、逐步引导的修复,包含安全分类命令、显示预期更改的紧凑影响预览、回滚路径、验证命令、执行前后风险、命令数量、回滚可用性、重启影响及每次应用步骤前的锁定风险、回滚可见性、带有证据链接的会话备注,以及用于无头修复的带预演预览的批量自动修复。 - 文件权限审计 —— 检查 `/etc/shadow`、`/etc/passwd`、SSH 主机私钥、用户及 root 的 SSH 目录、cron 目录以及 `/etc/crontab` 是否存在权限过于宽松或所有权不正确的问题。 - 文件系统审计 —— 广泛搜寻预期路径之外的全局可写文件、意外的 SUID/SGID 二进制文件、无主文件、没有 sticky bit 的全局可写目录,以及 `/tmp` 挂载强化(`noexec`、`nosuid`、`nodev`)。 - 用户与账户审计 —— 检查 root 之外 UID 为 0 的账户、空密码哈希、源自 `/etc/login.defs` 和 shadow 条目的密码时效、PAM 密码复杂性、非活动账户、重复的 UID、缺失的主目录、PAM faillock / 账户锁定配置、详细的密码质量要求(`minlen`、`minclass`、credits)以及 PAM auth stack 排序(`required` 位于 `sufficient` 之前)。 - Cron 作业审计 —— 检查 cron 条目中是否存在可疑命令(反弹 shell、网络下载器、临时路径)、全局可写或设置了 setuid/setgid 的 cron 脚本,以及引用非 root 用户目录的 root 作业。 - 容器安全审计 —— 检查正在运行的容器是否处于特权模式、是否使用了 `latest` 镜像 tag、Docker socket 暴露/挂载情况、已知有风险的基础镜像提示,以及 containerd namespace 隔离。 - Kubernetes 安全审计 —— 检查 Kubernetes pod 的安全态势,包括特权容器、hostNetwork/hostPID/hostIPC 共享、root 容器以及缺失的安全上下文(特权提升、readOnlyRootFilesystem、丢弃 capabilities、受限的 seccomp)。 - 配置基线与漂移检测 —— 快照“已知良好”的基线,并持续监控配置漂移。 - **定期审计调度** —— 通过标准的 Linux `cron` 配置自动定期审计(每日、每周等)。仅当出现**新**的关键发现时,才会通过对以往审计历史记录进行感知指纹的比对来发送通知。 - **自主漂移响应** —— 计划任务审计可以自动检测基线漂移,并通过桌面、电子邮件或 webhook 渠道发送经 HMAC-SHA256 签名的警报。警报内容丰富,绑定了调度身份、每条警报的 nonce、漂移发现、攻击链、主动回归警报,以及经人工批准的修复方案。 - **人工批准的计划修复** —— 漂移警报可包含修复计划,但只有在操作员通过 CLI(`vulcanstrace schedule remediate`)或 Avalonia UI 明确确认后才会执行命令。规则前缀范围限制确保范围限定为 `FW` 的调度不会触及 `SSH`、`KERN` 或其他规则族。 - **无头 CLI** —— 从命令行运行审计和管理调度,无需启动桌面 UI。 - **CIS 合规性计分卡** —— 每个控制族的正式通过/失败/警告、总体百分比得分和随时间变化的趋势,管理人员和审计员可在 10 秒内读取。包含在 Avalonia UI 和证据导出中。 - **风险计分卡** —— 根据所有与风险相关的发现推导出的汇总字母等级(A–F)和数字得分(0–100),并按严重程度和 CIS 控制重要性进行加权。按扣分显示主要风险类别,并包含在 Avalonia UI、Agent 聊天和证据导出中。 - **Security Agent 叙述生成** —— 确定性的 NLG 引擎,将审计发现、跨类别的安全态势关联、有关联支撑的 kill-chain 攻击路径、主动回归警报、系统轨迹、修复智慧和每条规则的记忆交织成多段分析师风格的行文。每一个论断都可追溯到某条规则、关联或记忆条目;未使用任何外部 LLM。 - **跨类别安全态势关联** —— 声明式 pattern 引擎,用于标记危险的发现组合(例如,防火墙允许来自任意位置的 SSH + 启用了 PasswordAuthentication),并将其在叙述和建议中展示出来。 - **每条规则的记忆与连续性** —— Agent 会跟踪每条规则的严重性历史记录、首次/最后一次出现的时间戳、修复尝试、验证修复的时间戳,以及跨越重启的完整修复周期(尝试 → 验证修复 → 再次出现),从而能够实现诸如“FW-001 在两周前首次发现,目前仍然存在”的跟进,并在验证过的修复发生回归时发出主动警报。 - **自适应解释深度** —— 单一规则的解释会根据规则的历史记录而加深。首次发现保持简洁的结构化解释;重复出现的规则会附加特定类别的根本原因指导;情况恶化的规则会添加严重性时间轴和“发生了什么变化”的措辞。无需 LLM 推理 —— 深度是历史记录长度、已关闭的修复周期和趋势的确定性函数。 - **自适应步骤结果报告** —— 在引导式修复会话期间,用平实的英文(`step 1 worked`、`step 2 failed with permission denied`、`it didn't work`)报告每个手动步骤的结果。Agent 会更新会话时间轴,对失败类别进行分类,并返回具有确定性的、感知命令的指导,例如使用 `sudo` 重试、安装缺失的依赖项,或者检查是否有配置管理工具在不断重新应用不安全的设置。无需 LLM。 - **按需溯源** —— 输入 `prove FW-002`、`show evidence for it` 或 `what triggered FW-002?` 即可获取任何已缓存发现的确定性证据链:扫描器源/命令、原始证据信号、跨扫描器验证、规则依据、CIS/MITRE 映射、攻击链成员身份和每条规则的历史记录。如果已知的规则 ID 未被缓存,Agent 可以运行该单条规则以刷新证据。无需 LLM。 - **审计历史记录瘦身** —— 默认持久化最近 50 次审计快照,保留最新的 5 次完整详细信息,并将较旧的条目替换为保留计数、发现、指纹和计分卡的精简摘要。保持 `audit-history.json` 大小有界,同时保留差异对比和合规性趋势图表。 - **基于 Frame 的 NLU** —— 在关键词解析之上进行确定性实体提取:从松散的自然语言输入中提取规则 ID、类别、会话 ID、严重性过滤器、时间窗口和修复动词。 - **主动、状态触发的建议** —— 跟进标签建议一起修复相关联的问题对,优先处理陈旧/恶化的发现,并在验证后处理相关的发现。 - **长跨度类别覆盖追踪** —— Agent 会记住跨会话已检查的 17 个审计类别中有哪些已被检查,在部分审计后以叙述性覆盖说明揭示盲点,并提供诸如“检查文件系统安全”等一键式标签以完成审查。覆盖范围在重启后依然存在,并通过漂移检查、验证重新审计和类别过滤回退予以保留。 - **Trace Map / 事件图** —— 在时间轴画布上的交互式攻击链可视化。相关的发现通过有向边连接(升级、时间顺序、同主机关联)。点击任何发现即可突出显示其连接的链条,并阅读叙述性攻击故事。支持基于类别或基于主机的分组。当检测到超过 100 条边时,性能防护机制会抑制渲染。 - **自动化事件响应剧本** —— 当 `TraceMapCorrelator` 检测到关键攻击链(同一主机上的 Beaconing → LateralMovement → PrivilegeEscalation)时,系统会自动生成主动防御措施:使用 `iptables`/`ip6tables` DROP 规则阻断攻击者的 C2 IP,并生成带有 tag 的 `auditd` 连接遥测数据供分析师关联。防御措施首先经过预演预览,然后需要分析师明确确认后才能进行实时部署。无效的攻击者 IP 将被拒绝,重复项将被去重,验证使用精确规则匹配。 - **多渠道通知** —— 用于关键发现警报的桌面(`notify-send`)、电子邮件(SMTP)和 Webhook(HTTP POST)渠道。 - **日志差异模式** —— 比较两份防火墙日志文件(基线与事件)以检测新增、已移除或已更改的连接模式和发现。事件通过流量模式 key(源 IP、目的 IP、目的端口、协议;源 IP 使用通配符)进行匹配,并计算计数差异和主要动作变化。发现通过稳定的指纹进行匹配。生成叙述性摘要、模式对应的差异状态(`Unchanged`、`Added`、`Removed`、`Changed`)以及 Avalonia UI 中的颜色编码 DataGrid 可视化。CLI diff 结果可导出为 JSON/HTML,或包含在带有 Markdown 和 HTML 报告的签名证据包中。 - **实时流 / 实时内核遥测** —— 通过带有经典 BPF socket 过滤的 `AF_PACKET` 或 `AF_NETLINK` NFLOG 从内核捕获实时网络事件,将它们缓存在滚动窗口中,并使用专用的 `SentryAnalyzer` 实例实时运行检测 pipeline。完成的分析结果通过有界的 `DropOldest` channel 发布,确保 UI 绝不会因陈旧的更新而停顿。包含用于零权限测试的合成演示源。桌面 UI 显示实时指标,并在检测到增量发现时将其显示出来;发现结果被接入共享发现网格中。 - **Doctor — 数据源自诊断** —— 快速探测每一个本地 Security Agent 扫描器,并报告哪些数据源可用、不可用、受权限限制或未检查。可通过 CLI(`vulcanstrace doctor`)和 Avalonia UI 中专用的 **Doctor** 选项卡进行操作。结果包含与审计期间使用的相同的确定性能力报告,外加针对扫描器权限或命令失败的警告横幅。 - **有针对性的审计扫描器选择** —— Agent 审计从每条规则的实际数据依赖项(`IRule.RequiredDataFields`)推导所需的扫描器集合,因此像 `/threatintel` 或 `/network` 这样的定向检查不会在不知不觉中缺乏数据支持。完整审计仍会运行每个扫描器。 - **重新设计的 Agent UI** —— Security Agent 现在是一个一流的 Avalonia 视图,带有 `/` 斜杠命令面板、快捷操作标签、Markdown 渲染的消息、可复制的命令行以及集中的 `VtDesignTokens.axaml` 设计系统。 桌面应用程序使用 Avalonia 实现,目标框架为 .NET 9.0。 ## 检测覆盖范围 基准网络检测器: - 端口扫描检测 - Flood / 拒绝服务突发检测 - 横向移动检测 - Beaconing 检测 - 策略违规检测 - 异常新颖性检测 Linux 深度检测器: - TCP 标志异常检测 - MAC 欺骗检测 - 内核模块 / 防火墙能力指标 - 接口跳变检测 - 异常数据包大小检测 高级检测器和关联: - C2 通道检测 - 源于可疑管理端口访问的权限提升指标 - 针对相关发现的风险升级,例如 Beaconing + LateralMovement、FlagAnomaly + PortScan 和 MacSpoofing + InterfaceHopping - Trace Map 关联引擎基于主机分组、时间临近性和已知的 kill-chain 对,发现跨发现的定向攻击链 ## 快速开始 前置条件: - .NET 9.0 SDK - 用于运行 Avalonia UI 的 Linux 桌面环境 构建解决方案: ``` dotnet build ``` 运行桌面应用: ``` dotnet run --project VulcansTrace.Linux.Avalonia ``` 运行测试套件: ``` dotnet test ``` 针对示例日志运行可选的 CLI 分析工具: ``` dotnet run --project tools/TestAnalysis -- VulcansTrace.Linux.Tests/Data/Real/Samples/iptables-attack.log ``` 运行性能工具: ``` dotnet run --project VulcansTrace.Linux.PerformanceConsole dotnet run --project VulcansTrace.Linux.PerformanceConsole -- profile ``` 通过 CLI 运行无头审计: ``` dotnet run --project VulcansTrace.Linux.Cli -- audit --intent FullAudit --role Server ``` 在修复后验证特定发现: ``` dotnet run --project VulcansTrace.Linux.Cli -- verify-finding FW-001 ``` 导出 MITRE ATT&CK Navigator 层以进行可视化覆盖分析: ``` dotnet run --project VulcansTrace.Linux.Cli -- audit --intent FullAudit --role Server --output-mitre mitre-layer.json ``` 预览并应用审计后的自动修复: ``` # 试运行:查看将要进行的更改而不实际执行 dotnet run --project VulcansTrace.Linux.Cli -- audit --intent FullAudit --auto-fix --dry-run # 应用安全修复并确认 dotnet run --project VulcansTrace.Linux.Cli -- audit --intent FullAudit --auto-fix --yes # 同时允许服务重启和包操作 dotnet run --project VulcansTrace.Linux.Cli -- audit --intent FullAudit --auto-fix --yes --allow-restart --allow-packages ``` 通过 CLI 管理周期性调度: ``` dotnet run --project VulcansTrace.Linux.Cli -- schedule list dotnet run --project VulcansTrace.Linux.Cli -- schedule add --name "Daily Full Audit" --intent FullAudit --cron "0 6 * * *" --role Server --notify-on-critical --channel Desktop # 添加一个计划,包含自主漂移响应、签名警报,以及限定于防火墙规则且经人工批准的修复 dotnet run --project VulcansTrace.Linux.Cli -- schedule add --name "Firewall Drift Check" --intent FirewallCheck --cron "0 7 * * *" \ --role Server --channel Webhook --autonomous-drift-response --autonomous-drift-threshold High \ --require-signed-alerts --allow-remediate --remediation-prefixes FW # 审查并执行某个计划的修复(需要人工批准) dotnet run --project VulcansTrace.Linux.Cli -- schedule remediate --id --dry-run dotnet run --project VulcansTrace.Linux.Cli -- schedule remediate --id --yes ``` 运行 Doctor 自诊断以验证扫描器数据源可见性: ``` dotnet run --project VulcansTrace.Linux.Cli -- doctor ``` 将 Doctor 结果导出为 JSON 以供检查或 CI 检查: ``` dotnet run --project VulcansTrace.Linux.Cli -- doctor --output-json /tmp/vt-doctor.json ``` 构建自包含的 CLI 二进制文件: ``` ./scripts/publish-cli.sh ``` 通过 CLI 比较两份防火墙日志以检测差异: ``` dotnet run --project VulcansTrace.Linux.Cli -- diff --baseline baseline.log --incident incident.log --intensity Medium --output-evidence diff-evidence.zip ``` 在桌面 UI 中启动实时流捕获(内核源需要 root 权限;合成演示无需权限即可运行): ``` dotnet run --project VulcansTrace.Linux.Avalonia # 选择“Live Stream”标签页,选择一个源(Synthetic Demo、Packet Capture 或 NFLOG),然后点击 Start。 ``` 有关引导式的产品演练,请参阅 [docs/DEMO.md](docs/DEMO.md)。 有关实时流架构和错误修复详情,请参阅 [docs/LIVE_STREAM.md](docs/LIVE_STREAM.md)。 ## 证据包 签名的 ZIP 证据包可包含: | 文件 | 用途 | | --- | --- | | `findings.csv` | 适合电子表格的发现列表 | | `findings.json` | 用于工具处理和审查的结构化 JSON 输出 | | `findings.stix.json` | 包含观察到的数据和备注的 STIX 2.1 包 | | `report.html` | 人类可读的 HTML 报告 | | `summary.md` | Markdown 调查摘要 | | `log.txt` | 原始日志文本 | | `suppressions.csv` | 激活的已接受风险抑制项(如果存在) | | `manifest.json` | 文件哈希、解析元数据、跳过的行和证据包元数据 | | `manifest.hmac` | 针对 manifest 的 HMAC-SHA256 签名 | | `compliance-scorecard.html` | 面向管理人员的 HTML 合规性计分卡(每个 CIS 系列的 Pass/Warn/Fail、总体得分、趋势) | | `compliance-scorecard.md` | 用于基于 Git 的工作流的 Markdown 合规性计分卡 | | `risk-scorecard.html` | 面向管理人员的 HTML 风险计分卡(等级徽章、数字得分、按类别细分的明细) | | `risk-scorecard.md` | 用于基于 Git 的工作流的 Markdown 风险计分卡 | | `incident-story.md` | 流畅的事件叙述,包含时间轴节点、可能的链条摘要,以及存在发现时的推荐响应措施 | | `trace-map.md` | 检测到相关发现时的技术边列表 Markdown | | `trace-map.json` | 兼容 Cytoscape.js 的 JSON 图,包含发现和关联边 | | `mitre-navigator-layer.json` | 显示技术覆盖范围和发现密度的 MITRE ATT&CK Navigator 层(JSON) | | `log-diff.md` | 使用日志差异模式时的 Markdown 差异报告(基线与事件对比) | | `log-diff.html` | 使用日志差异模式时的深色主题 HTML 差异报告 | 签名密钥在每次完成分析会话时生成,并默认在 UI 中进行掩码显示。重新运行分析会创建一个新密钥;对同一结果重复导出会重用会话密钥。如果以后需要验证,请将复制的密钥与案件记录放在一起保存。 对于 CLI `diff --output-evidence`,请提供 `--signing-key ` 或保存命令打印出的生成密钥。 可选的 CLI 运行器可以使用该密钥验证导出的证据包: ``` dotnet run --project tools/TestAnalysis -- --verify evidence.zip --key <64-character-hex-key> ``` 证据文档: - [HMAC 证据签名密钥流程](docs/HMAC_EVIDENCE.md) - [证据打包案例集](docs/portfolio/09-Evidence-Packaging/README.md) - [安全和离线策略](docs/SECURITY.md) ## 项目结构 | 路径 | 描述 | | --- | --- | | `VulcansTrace.Linux.Core` | 领域模型、`UnifiedEvent`、日志标准化、iptables/nftables 解析器和日志抽象 | | `VulcansTrace.Linux.Engine` | 检测器实现、强度配置文件、`SentryAnalyzer` 和风险升级 | | `VulcansTrace.Linux.Evidence` | 证据包生成以及 CSV、JSON、STIX、HTML 和 Markdown 格式化程序 | | `VulcansTrace.Linux.Agent` | 本地 Security Agent、扫描器、安全态势规则、感知角色的策略、解释和 Agent 报告适配器 | | `VulcansTrace.Linux.Avalonia` | 桌面 UI、ViewModel、命令和对话框服务 | | `VulcansTrace.Linux.Cli` | 用于审计、调度管理和 cron 集成的无头 CLI | | `VulcansTrace.Linux.Tests` | xUnit 单元、集成、检测器、证据、UI 和性能测试 | | `VulcansTrace.Linux.Performance` | 基准测试和分析辅助工具 | | `VulcansTrace.Linux.PerformanceConsole` | 用于基准测试和分析工作流的控制台运行器 | | `tools/TestAnalysis` | 用于直接进行日志文件分析和证据导出检查的可选 CLI 运行器 | | `docs` | 架构、使用、安全、开发、演示和案例集文档 | | `scripts` | 开发者和内部构建支持脚本 | ## 文档指南 根据您的需求从这里开始: | 文档 | 用途 | | --- | --- | | [docs/USAGE.md](docs/USAGE.md) | 如何运行应用程序、分析日志、审查发现和导出证据 | | [docs/DEMO.md](docs/DEMO.md) | 使用示例防火墙日志的引导式演练 | | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | 系统层、数据流、检测器组和领域类型 | | [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) | 构建/测试工作流、项目结构、检测器扩展步骤和构建策略 | | [docs/SECURITY.md](docs/SECURITY.md) | 离线策略、本地数据处理、证据完整性和防御性解析 | | [docs/SECURITY_AGENT.md](docs/SECURITY_AGENT.md) | 本地 Security Agent 功能、扫描器 pipeline、规则、限制和路线图 | | [docs/HMAC_EVIDENCE.md](docs/HMAC_EVIDENCE.md) | 会话签名密钥如何生成、复制和用于验证 | | [docs/CHANGES_AND_PROFILES.md](docs/CHANGES_AND_PROFILES.md) | 实施更改摘要和 Low/Medium/High 配置文件功能 | | [docs/LIVE_STREAM.md](docs/LIVE_STREAM.md) | 实时内核遥测:架构、来源、错误修复和强化 | | [docs/portfolio/README.md](docs/portfolio/README.md) | 面向 GitHub 的完整技术案例集索引 | 推荐审查路径: - 用法:[用法](docs/USAGE.md) -> [演示](docs/DEMO.md) -> [证据签名](docs/HMAC_EVIDENCE.md) - 架构:[架构](docs/ARCHITECTURE.md) -> [日志标准化](docs/portfolio/01-Log-Normalization/README.md) -> [强度配置文件](docs/portfolio/10-Intensity-Profiles/README.md) - 检测工程:[端口扫描检测](docs/portfolio/02-Port-Scan-Detection/README.md) -> [Beaconing 检测](docs/portfolio/03-Beaconing-Detection/README.md) -> [C2 通道检测](docs/portfolio/13-C2-Channel-Detection/README.md) - 威胁框架覆盖:[证据打包](docs/portfolio/09-Evidence-Packaging/README.md) -> [Security Agent](docs/portfolio/16-Security-Agent/README.md) -> [自动化测试](docs/portfolio/11-Automated-Tests/README.md) - 调查工作流:[风险升级](docs/portfolio/08-Risk-Escalation/README.md) -> [证据打包](docs/portfolio/09-Evidence-Packaging/README.md) -> [Avalonia UI](docs/portfolio/12-Avalonia-UI/README.md) - 本地助手工作流:[Security Agent](docs/SECURITY_AGENT.md) -> [Security Agent 案例集](docs/portfolio/16-Security-Agent/README.md) -> [Avalonia UI](docs/portfolio/12-Avalonia-UI/README.md) - 调度和自动化:[用法](docs/USAGE.md) -> [变更](docs/CHANGES_AND_PROFILES.md) -> [安全](docs/SECURITY.md) - 实时内核遥测:[实时流](docs/LIVE_STREAM.md) -> [实时流案例集](docs/portfolio/17-Live-Stream/README.md) -> [架构](docs/ARCHITECTURE.md) - 验证:[自动化测试](docs/portfolio/11-Automated-Tests/README.md) -> [开发](docs/DEVELOPMENT.md) -> [安全](docs/SECURITY.md) ## 深度案例解析 `docs/portfolio` 文件夹包含 16 个以实现为核心的案例研究。每个主题都包含一个 `README.md`、简洁的摘要材料,以及更深入的技术笔记,如算法、设计决策、规避限制、相关的 MITRE ATT&CK 映射和代码模式演练。 | 主题 | 描述 | | --- | --- | | [01 - 日志标准化](docs/portfolio/01-Log-Normalization/README.md) | iptables/nftables 解析、时间戳处理、schema 标准化和日志管理权衡 | | [02 - 端口扫描检测](docs/portfolio/02-Port-Scan-Detection/README.md) | 不同端口扫描检测、阈值、分组和检测器行为 | | [03 - Beaconing 检测](docs/portfolio/03-Beaconing-Detection/README.md) | 周期性通信分析和基于间隔的信号检测 | | [04 - 横向移动检测](docs/portfolio/04-Lateral-Movement-Detection/README.md) | 跨主机和端口的内部移动模式 | | [05 - Flood 检测](docs/portfolio/05-Flood-Detection/README.md) | 针对 flood 和 DoS 类行为的高容量突发检测 | | [06 - 策略违规检测](docs/portfolio/06-Policy-Violation-Detection/README.md) | 不允许的服务和策略边界检测 | | [07 - 异常新颖性检测](docs/portfolio/07-Novelty-Detection/README.md) | 罕见或意外的连接模式检测 | | [08 - 风险升级](docs/portfolio/08-Risk-Escalation/README.md) | 当相关发现同时出现时提升严重级别的关联规则 | | [09 - 证据打包](docs/portfolio/09-Evidence-Packaging/README.md) | 签名包、报告格式、清单哈希和完整性工作流 | | [10 - 强度配置文件](docs/portfolio/10-Intensity-Profiles/README.md) | Low、Medium 和 High 配置文件阈值、检测器启用和调整权衡 | | [11 - 自动化测试](docs/portfolio/11-Automated-Tests/README.md) | 单元、集成、夹具、取消、性能和证据验证覆盖率 | | [12 - Avalonia UI](docs/portfolio/12-Avalonia-UI/README.md) | 桌面分析师工作流、ViewModel 结构、命令、选项卡和导出用户体验 | | [13 - C2 通道检测](docs/portfolio/13-C2-Channel-Detection/README.md) | 周期性命令与控制通道检测和分组行为 | | [14 - 权限提升检测](docs/portfolio/14-Privilege-Escalation-Detection/README.md) | 作为权限提升指标的管理端口激增和扫描 | | [15 - Linux 深度检测](docs/portfolio/15-Linux-Deep-Inspection/README.md) | 包含标志、MAC、内核模块、接口和数据包大小的 Linux 特定信号 | | [16 - Security Agent](docs/portfolio/16-Security-Agent/README.md) | 用于实时 Linux 安全态势问题的本地基于规则的助手、感知角色的策略、扫描器编排、解释、按需溯源、审计历史记录瘦身、交互式修复以及配置基线 / 漂移检测 | ## 开发说明 常用命令: ``` dotnet restore VulcansTrace.Linux.sln dotnet build VulcansTrace.Linux.sln --configuration Release dotnet test VulcansTrace.Linux.sln --configuration Release ``` GitHub Actions 会运行 restore、Release 构建和确定性测试集(2 143 项测试)。标记为 `Category=Performance` 或 `Category=Timing` 的测试被排除在托管 CI 之外,因为基准阈值和毫秒级的取消竞争对运行器环境很敏感;在验证性能更改时,请在本地运行完整的测试套件。 要添加检测器,请实现 `IDetector`,在 analyzer composition root 注册它,添加集中的检测器测试,如果需要,更新配置文件阈值,并在相关案例部分记录其行为。有关详细的清单,请参阅 [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md)。 ## 安全说明 - 该应用程序没有用于日志分析、遥测或报告的内置网络调用。 - `nuget.config` 指向公共的 nuget.org 源以进行 restore。 - 日志输入上限为 100,000,000 个字符。 - 保留的解析错误设有上限,以确保分析输出大小有界。 - 证据文件受 SHA-256 哈希和 HMAC-SHA256 清单签名保护。 有关完整的安全模型,请参阅 [docs/SECURITY.md](docs/SECURITY.md)。 ## 许可证 本仓库根据 [LICENSE](LICENSE) 中的条款进行许可。额外的归属和声明信息可在 [NOTICE](NOTICE) 中获取。
标签:AMSI绕过, IP 地址批量处理, PE 加载器, Web报告查看器, 威胁检测, 插件系统, 数字取证, 网络安全, 自动化脚本, 隐私保护