YoshKoz/win-audit
GitHub: YoshKoz/win-audit
一款纯 PowerShell 实现的 Windows 10/11 安全审计工具,通过 50 余项检查计算强化指数并生成多格式报告,同时提供安全分级的可选修复脚本。
Stars: 0 | Forks: 0
# 🛡️ Win-Audit
### 一款适用于 Windows 10 / 11 的 Lynis 风格安全审计工具 — 纯 PowerShell 实现,零依赖。
[](LICENSE)
[](https://learn.microsoft.com/powershell/)
[](#requirements)
[](CONTRIBUTING.md)
[](https://github.com/YoshKoz/win-audit/stargazers)
[](https://ko-fi.com/yoshkoz)
一个脚本即可跨 **30 多个类别**执行 **50 多项安全检查**,计算出一个
**强化指数 (0–100)**,并生成控制台 + 文本 + JSON + Markdown + HTML
报告。附带脚本提供带有预览功能的**安全分级修复**。
## 目录
- [功能](#-features)
- [运行示例](#-sample-run)
- [要求](#-requirements)
- [用法](#-usage)
- [修复](#-remediation-optional-changes-the-system)
- [输出](#-output)
- [准确性与局限性](#-accuracy--limitations)
- [贡献](#-contributing)
- [支持](#-support)
- [许可证](#-license)
## ✨ 功能
- **50 多项检查 / 30 多个类别** — Secure Boot、TPM、BitLocker、Defender、
防火墙、账户和密码策略、UAC、SMB、RDP、VBS/HVCI/Credential
Guard、漏洞利用缓解、事件日志大小设置、服务、计划任务、
开放端口、CIS 风格的抽查、AD/IIS/SQL(若不存在则自动跳过)等。
- **强化指数** — 一个 0–100 的单一分数(每项检查的贡献权重为:
OK = 100 / Suggestion = 50 / Warning = 20)。
- **丰富的发现结果** — 每个发现都包含一个稳定的发现 ID (Finding ID)、严重程度
(Critical → Info) 以及修复安全分级 (SafeAuto / ConfirmFirst / ManualOnly)。
- **5 种输出格式** — 彩色控制台、`.txt`、`.json` (包含 schema 版本)、
`.md` 以及带有样式的 `.html` 报告。
- **安全分级修复** — `Invoke-WinAuditRemediation.ps1` 会读取
JSON 报告,并根据分级仅应用经过严格审查的修复方案,同时支持 `-WhatIf`
预览和逐项确认。
- **默认只读** — 审计过程不会更改任何内容;只有修复
脚本(当你显式传递修复标志时)才会修改系统。
- **可移植** — 完全独立,自动提权,并在脚本所在目录生成报告。
在任何 PC 上运行它,你都能获得该机器的专属分数。
## 📟 运行示例
```
[+] Disk Encryption (BitLocker)
[OK ] C: BitLocker FullyEncrypted, Protection On
[+] Memory Integrity & Virtualization Security
[OK ] HVCI (Memory Integrity) Running
[OK ] Virtualization-Based Security Running
...
=================================================
Hardening Index: 94 / 100
Duration: 32 seconds
OK Findings: 105
Suggestions: 13
Warnings: 0
=================================================
```
HTML 报告会以带有评分卡、主要发现表格
和各进程监听端口视图的方式渲染相同的数据。
## 💻 要求
- Windows 10 或 11
- PowerShell 5.1+ (Windows PowerShell) 或 PowerShell 7+
- 管理员权限(脚本会自动提权;许多检查需要此权限)
## 🚀 用法
```
# 完整审计(自动提权,在脚本旁写入报告)
.\Win-Audit.ps1
# 更快的运行,跳过缓慢的 inventory/process 扫描
.\Win-Audit.ps1 -Fast
# 静默(仅文件)或仅显示摘要
.\Win-Audit.ps1 -Quiet
.\Win-Audit.ps1 -Summary
# 将报告发送到其他位置
.\Win-Audit.ps1 -OutputDir C:\Reports
```
如果脚本被阻止运行,请使用以下命令运行一次:
`powershell -ExecutionPolicy Bypass -File .\Win-Audit.ps1`
## 🔧 修复(可选,会更改系统)
```
# 查看哪些是可操作的,哪些修复是可自动化的
.\Invoke-WinAuditRemediation.ps1 -ListOnly
# 预览,然后应用低风险修复
.\Invoke-WinAuditRemediation.ps1 -FixSafeOnly -WhatIf
.\Invoke-WinAuditRemediation.ps1 -FixSafeOnly
# 应用高影响修复(逐项提示)
.\Invoke-WinAuditRemediation.ps1 -FixConfirmFirst
```
只有脚本注册表中具备经过审查的修复方案的发现才会被自动应用;
其他所有内容都将作为手动处理项进行报告。
## 📄 输出
| 文件 | 内容 |
|------|----------|
| `Win-Audit-Report.html` | 带样式的报告,包含评分卡、主要发现、端口 |
| `Win-Audit-Report.json` | 机器可读(schema 2);由修复脚本调用 |
| `Win-Audit-Report.md` | Markdown 摘要 |
| `Win-Audit-Report.txt` | 纯文本 |
| `Win-Audit-Remediation.txt` | 按优先级排序的修复指南 |
## 🎯 准确性与局限性
这是一款启发式审计工具,**灵感来源于** [Lynis](https://github.com/CISOfy/lynis)
和 CIS 基准 — 它**不是**官方的 CIS-CAT 或经过认证的合规
工具,其中的“CIS x.x”标签仅为非正式参考。一些发现
是特意设置为视上下文而定的(例如,当第三方 AV 是你的主要引擎时,
Windows Defender 会显示为“关闭”——这是预期行为,而非缺陷)。在采取行动之前,请务必根据权威来源核实任何重要信息。
## ⚖️ 免责声明
按“原样”提供,不提供任何保证(参见 [LICENSE](LICENSE))。修复
脚本会更改系统配置;请使用 `-WhatIf` 查看计划执行的操作,
并在应用前确保你已创建系统还原点/备份。你需对自己系统的更改负责。
## 📜 许可证
[MIT](LICENSE) © 2026 YoshKoz标签:AI合规, IPv6, Libemu, PowerShell, 关系图谱, 基线检查, 子域名枚举, 服务器监控, 系统加固, 系统安全