<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>位置 on DefectDojo Documentation</title><link>https://docs.defectdojo.com/zh-hans/asset_modelling/locations/</link><description>Recent content in 位置 on DefectDojo Documentation</description><generator>Hugo</generator><language>zh-hans</language><copyright>Copyright (c) 2020-2025 DefectDojo, Inc.</copyright><lastBuildDate>Mon, 01 Jan 0001 00:00:00 +0000</lastBuildDate><atom:link href="https://docs.defectdojo.com/zh-hans/asset_modelling/locations/index.xml" rel="self" type="application/rss+xml"/><item><title>位置概览</title><link>https://docs.defectdojo.com/zh-hans/asset_modelling/locations/pro__locations_overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.defectdojo.com/zh-hans/asset_modelling/locations/pro__locations_overview/</guid><description>&lt;p&gt;&lt;strong&gt;位置(Locations)&lt;/strong&gt; 是 DefectDojo Pro 中一项全新的资产建模工具。它们取代了旧有的 &lt;strong&gt;端点(Endpoints)&lt;/strong&gt; 模型,并吸收了此前的 &lt;strong&gt;组件(Components)&lt;/strong&gt;(库)数据,使 DefectDojo 拥有了一种统一的多态方式来描述发现项 &lt;em&gt;位于何处&lt;/em&gt; ——无论是一个 URL、来自 &lt;strong&gt;SBOM&lt;/strong&gt; 的软件依赖项,还是未来可能支持的 &lt;strong&gt;云资源 ID&lt;/strong&gt;、&lt;strong&gt;容器镜像&lt;/strong&gt; 或 &lt;strong&gt;代码仓库&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;在使用位置功能之前,必须先在您的实例上启用它。您可以自行通过&lt;a href="https://docs.defectdojo.com/admin/feature_flags/pro__feature_flags/"&gt;功能开关页面&lt;/a&gt;启用位置功能——无需提交支持请求。请注意,位置功能一旦启用,便无法再关闭。&lt;/p&gt;</description></item><item><title>从端点迁移</title><link>https://docs.defectdojo.com/zh-hans/asset_modelling/locations/pro__migrating_from_endpoints/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.defectdojo.com/zh-hans/asset_modelling/locations/pro__migrating_from_endpoints/</guid><description>&lt;p&gt;当您在现有的 DefectDojo Pro 实例上启用位置功能后，已存储为端点的数据需要迁移到新的位置模型中。本页介绍迁移过程、迁移会保留哪些内容，以及迁移完成后旧版端点 API 的行为方式。&lt;/p&gt;
&lt;p&gt;请注意，迁移是&lt;strong&gt;单向的&lt;/strong&gt;。目前没有自动化的回滚路径可以从位置反向重新创建端点。&lt;/p&gt;
&lt;h2 id="迁移会执行哪些操作"&gt;迁移会执行哪些操作&lt;/h2&gt;
&lt;p&gt;对于每个现有端点，迁移会：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;创建一个 URL 位置&lt;/strong&gt;（或复用已有的），使用该端点的 &lt;code&gt;protocol&lt;/code&gt;、&lt;code&gt;userinfo&lt;/code&gt;、&lt;code&gt;host&lt;/code&gt;、&lt;code&gt;port&lt;/code&gt;、&lt;code&gt;path&lt;/code&gt;、&lt;code&gt;query&lt;/code&gt; 和 &lt;code&gt;fragment&lt;/code&gt; 字段。新的 URL 会自动关联到一个父级 &lt;code&gt;Location&lt;/code&gt; 对象。&lt;/p&gt;</description></item><item><title>使用 URL</title><link>https://docs.defectdojo.com/zh-hans/asset_modelling/locations/pro__working_with_urls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.defectdojo.com/zh-hans/asset_modelling/locations/pro__working_with_urls/</guid><description>&lt;p&gt;URL 位置在功能上取代了旧版的端点模型。它们存储着您熟悉的相同 URL 结构字段——&lt;code&gt;protocol&lt;/code&gt;、&lt;code&gt;host&lt;/code&gt;、&lt;code&gt;port&lt;/code&gt;、&lt;code&gt;path&lt;/code&gt;、&lt;code&gt;query&lt;/code&gt;、&lt;code&gt;fragment&lt;/code&gt;——并发挥着相同的作用：标识某个 Web 应用发现项&lt;em&gt;位于何处&lt;/em&gt;。&lt;/p&gt;
&lt;p&gt;本页介绍在日常使用 URL 位置时会发生哪些变化、新增的界面入口，以及应使用哪些 API 端点来代替旧版端点 API。&lt;/p&gt;
&lt;h2 id="url-子类型"&gt;URL 子类型&lt;/h2&gt;
&lt;p&gt;每个 URL 都是一个位置。这意味着 URL 同时具备：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;结构化的 URL 字段（&lt;code&gt;protocol&lt;/code&gt;、&lt;code&gt;user_info&lt;/code&gt;、&lt;code&gt;host&lt;/code&gt;、&lt;code&gt;port&lt;/code&gt;、&lt;code&gt;path&lt;/code&gt;、&lt;code&gt;query&lt;/code&gt;、&lt;code&gt;fragment&lt;/code&gt;，以及用于去重的 &lt;code&gt;hash&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;共享的位置字段（&lt;code&gt;location_type=&amp;quot;url&amp;quot;&lt;/code&gt;、用于显示和搜索的规范 &lt;code&gt;location_value&lt;/code&gt; 字符串、标签、继承标签、元数据，以及指向资产和发现项的引用链接）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;当您创建或上传一个 URL 时，DefectDojo 会将其解析为结构化字段，并在一次事务中同时写入 URL 记录及其父级位置记录。URL 去重采用结构化字段的精确匹配——只有当所有组成部分都匹配时，两个 URL 才会被视为相同，同时会应用标准的默认端口归并规则（&lt;code&gt;http://example.com:80/&lt;/code&gt; 和 &lt;code&gt;http://example.com/&lt;/code&gt; 会解析为同一个 URL）。&lt;/p&gt;</description></item><item><title>使用 SBOM</title><link>https://docs.defectdojo.com/zh-hans/asset_modelling/locations/pro__working_with_sboms/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.defectdojo.com/zh-hans/asset_modelling/locations/pro__working_with_sboms/</guid><description>&lt;p&gt;DefectDojo Pro 将软件库建模为&lt;strong&gt;依赖位置&lt;/strong&gt;。依赖项是一种位置子类型，通过&lt;a href="https://github.com/package-url/purl-spec"&gt;软件包 URL（pURL）&lt;/a&gt;进行标识，用于表示单个库或软件包——例如 &lt;code&gt;org.apache.logging.log4j:log4j-core@2.17.0&lt;/code&gt;、&lt;code&gt;pypi/django@5.0.2&lt;/code&gt;、&lt;code&gt;npm/react@18.2.0&lt;/code&gt; 等。&lt;/p&gt;
&lt;p&gt;依赖项取代了此前仅能附加在发现项上的&lt;strong&gt;组件&lt;/strong&gt;模型。借助位置功能，库可以独立于任何漏洞而存在——您可以向某个资产上传 SBOM，随后在扫描结果不断导入时，让发现项自动关联到它们所引用的依赖项。&lt;/p&gt;
&lt;h2 id="依赖项包含哪些内容"&gt;依赖项包含哪些内容&lt;/h2&gt;
&lt;p&gt;每个依赖项都由一个 pURL 唯一标识，并分解为若干可供搜索和筛选的原子字段：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;字段&lt;/th&gt;
 &lt;th&gt;含义&lt;/th&gt;
 &lt;th&gt;示例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;purl_type&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;库生态系统&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;npm&lt;/code&gt;、&lt;code&gt;pypi&lt;/code&gt;、&lt;code&gt;maven&lt;/code&gt;、&lt;code&gt;cargo&lt;/code&gt;、&lt;code&gt;nuget&lt;/code&gt;、&lt;code&gt;gem&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;namespace&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;供应商或组织&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;org.apache.logging&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;库名称&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;log4j-core&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;version&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;具体版本&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;2.17.0&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;qualifiers&lt;/code&gt; &lt;em&gt;(可选)&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;实现细节&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;arch=amd64&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;subpath&lt;/code&gt; &lt;em&gt;(可选)&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;归档文件或 monorepo 内的路径&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;src/lib/foo&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;artifact_hashes&lt;/code&gt; &lt;em&gt;(可选)&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;指纹&lt;/td&gt;
 &lt;td&gt;SHA256 校验和&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;license_expression&lt;/code&gt; &lt;em&gt;(可选)&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;SPDX 许可证表达式&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;Apache-2.0&lt;/code&gt;、&lt;code&gt;MIT&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;file_path&lt;/code&gt; &lt;em&gt;(可选)&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;在项目中发现该库的位置&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;package-lock.json&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;正是这种原子化的拆分，使得基于 pURL 的搜索变得实用：您可以询问*“&lt;code&gt;django&lt;/code&gt; 命名空间下所有版本为 4.x 的 &lt;code&gt;pypi&lt;/code&gt; 软件包”*，DefectDojo 无需解析自由文本字符串即可给出答案。&lt;/p&gt;</description></item><item><title>源代码位置</title><link>https://docs.defectdojo.com/zh-hans/asset_modelling/locations/pro__source_code_locations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.defectdojo.com/zh-hans/asset_modelling/locations/pro__source_code_locations/</guid><description>&lt;p&gt;&lt;strong&gt;源代码位置&lt;/strong&gt;将位置模型扩展到了静态分析领域：除了 URL（DAST）和依赖项（SCA）之外，&lt;strong&gt;代码&lt;/strong&gt;位置用于描述某个 SAST 发现项在源代码中的位置——通过其&lt;strong&gt;文件路径和行号&lt;/strong&gt;来标识。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;源代码位置需要启用位置功能（测试版）。如需在您的实例上启用位置功能，请联系 &lt;script type="text/javascript" nonce="dXNlcj0iaGVsbG8iLGRvbWFpbj0iaGVua3ZlcmxpbmRlLmNvbSIsZG9jdW1lbnQud3JpdGUodXNlcisiQCIrZG9tYWluKTs="&gt;userName="support",domainName="defectdojo",domainExtension="com",document.write("&lt;a href='mailto:"+userName+"@"+domainName+"."+domainExtension+"'&gt;"+userName+"@"+domainName+"."+domainExtension+"&lt;/a&gt;");&lt;/script&gt;&lt;noscript&gt;support at defectdojo dot com&lt;/noscript&gt;

 。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="建模内容"&gt;建模内容&lt;/h2&gt;
&lt;p&gt;每个报告了文件路径的静态发现项都会获得一个代码位置。该位置的规范值为 &lt;code&gt;path/to/file.py:42&lt;/code&gt;（如果工具未报告行号，则仅为文件路径）。与所有位置一样，代码位置是共享对象：位于同一文件同一行的两个发现项会引用同一个位置，该位置同时携带按发现项和按资产划分的引用状态。&lt;/p&gt;
&lt;p&gt;代码位置由&lt;strong&gt;扫描管理&lt;/strong&gt;：它们通过导入和重新导入创建和更新，而不是手动创建。系统没有“新建源代码位置”操作——扫描器才是代码发现项所在位置的权威数据来源。&lt;/p&gt;
&lt;h2 id="在哪里查看"&gt;在哪里查看&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;侧边栏中的&lt;strong&gt;所有源代码&lt;/strong&gt;会列出该实例中的每个代码位置，筛选和标签方式与 URL 及依赖项相同。&lt;/li&gt;
&lt;li&gt;资产的位置菜单中的&lt;strong&gt;查看源代码&lt;/strong&gt;会将列表范围限定为单个资产。&lt;/li&gt;
&lt;li&gt;发现项页面会显示其当前的代码位置，如果该发现项发生过移动，还会显示其&lt;strong&gt;位置历史&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="变动历史"&gt;变动历史&lt;/h2&gt;
&lt;p&gt;源代码会不断变动：提交会改变行号，重构会重命名文件。当为某个工具启用了&lt;a href="https://docs.defectdojo.com/triage_findings/finding_deduplication/pro__location_drift_matching/"&gt;位置漂移匹配&lt;/a&gt;后，发生移动的发现项会保留其身份标识，其代码位置引用会记录变动轨迹：&lt;/p&gt;</description></item></channel></rss>