Alerts - List
取得存放庫的警示
GET https://advsec.dev.azure.com/{organization}/{project}/_apis/alert/repositories/{repository}/alerts?api-version=7.2-preview.1
GET https://advsec.dev.azure.com/{organization}/{project}/_apis/alert/repositories/{repository}/alerts?top={top}&orderBy={orderBy}&criteria.alertIds={criteria.alertIds}&criteria.alertType={criteria.alertType}&criteria.confidenceLevels={criteria.confidenceLevels}&criteria.dependencyName={criteria.dependencyName}&criteria.fromDate={criteria.fromDate}&criteria.hasLinkedWorkItems={criteria.hasLinkedWorkItems}&criteria.keywords={criteria.keywords}&criteria.licenseName={criteria.licenseName}&criteria.modifiedSince={criteria.modifiedSince}&criteria.onlyDefaultBranch={criteria.onlyDefaultBranch}&criteria.phaseId={criteria.phaseId}&criteria.phaseName={criteria.phaseName}&criteria.pipelineName={criteria.pipelineName}&criteria.ref={criteria.ref}&criteria.ruleId={criteria.ruleId}&criteria.ruleName={criteria.ruleName}&criteria.severities={criteria.severities}&criteria.states={criteria.states}&criteria.toDate={criteria.toDate}&criteria.toolName={criteria.toolName}&criteria.validity={criteria.validity}&expand={expand}&continuationToken={continuationToken}&api-version=7.2-preview.1
URI 參數
| 名稱 | 位於 | 必要 | 類型 | Description |
|---|---|---|---|---|
|
organization
|
path | True |
string |
Azure DevOps 組織的名稱。 |
|
project
|
path | True |
string |
項目識別碼或項目名稱 |
|
repository
|
path | True |
string |
存放庫的名稱或標識碼 |
|
api-version
|
query | True |
string |
要使用的 API 版本。 這應該設定為 『7.2-preview.1』 以使用此版本的 API。 |
|
continuation
|
query |
string |
如果警示超過可以傳回的警示,接續令牌會放在 「x-ms-continuationtoken」 標頭中。 在這裡使用該令牌來取得下一頁的警示 |
|
|
criteria.
|
query |
integer[] |
如果提供,則只會傳回具有指定標識碼的警示。 |
|
|
criteria.
|
query |
如果提供,則只會傳回此類型的警示。 否則,傳回所有類型的警示。 |
||
|
criteria.
|
query |
string[] |
如果提供,則只會傳回這些信賴等級的警示。 |
|
|
criteria.
|
query |
string |
如果提供,只會傳回此相依性警示。 |
|
|
criteria.
|
query |
string (date-time) |
如果提供,則只會傳回上次在此日期之後看到的警示。 |
|
|
criteria.
|
query |
boolean |
如果提供,則會根據警示是否具有連結的工作專案來篩選警示。 |
|
|
criteria.
|
query |
string |
如果提供,則只會傳回標題符合此模式的警示。 |
|
|
criteria.
|
query |
string |
如果提供,只會傳回針對具有此授權之相依性而建立的警示。 |
|
|
criteria.
|
query |
string (date-time) |
如果提供,則只會傳回自此日期以來已修改的警示。 |
|
|
criteria.
|
query |
boolean |
如果為 true 或未設定,則只會傳回存放庫預設分支上找到的警示。 |
|
|
criteria.
|
query |
string (uuid) |
如果提供pipelineName,則只會傳回在此管線階段偵測到的警示 |
|
|
criteria.
|
query |
string |
如果提供pipelineName,則只會傳回在此管線階段偵測到的警示 |
|
|
criteria.
|
query |
string |
如果提供,則只會傳回在此管線中偵測到的警示。 |
|
|
criteria.
|
query |
string |
如果提供,則只包含此 ref 的警示。 |
|
|
criteria.
|
query |
string |
如果提供,則只會傳回此規則的警示。 |
|
|
criteria.
|
query |
string |
如果提供,則只會傳回此規則的警示。 |
|
|
criteria.
|
query |
string[] |
如果提供,則只會傳回這些嚴重性警示。 |
|
|
criteria.
|
query |
string[] |
如果提供,則只會傳回這些狀態中的警示。 |
|
|
criteria.
|
query |
string (date-time) |
如果提供,則只會傳回上次在此日期之前看到的警示。 |
|
|
criteria.
|
query |
string |
如果提供 toolName,則只會傳回此工具偵測到的警示。 |
|
|
criteria.
|
query |
string[] |
如果提供,則只會傳回具有此處指定之有效性的警示。 如果有效性狀態為 [未知],則擷取所有有效結果的警示。 |
|
|
expand
|
query | |||
|
order
|
query |
string |
必須是 “id” “firstSeen” “lastSeen” “fixedOn” 或 “severity” 預設值為 “id” |
|
|
top
|
query |
integer (int32) |
要傳回的警示數目上限 |
回應
| 名稱 | 類型 | Description |
|---|---|---|
| 200 OK |
Alert[] |
成功運營 |
安全性
oauth2
類型:
oauth2
Flow:
accessCode
授權 URL:
https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
權杖 URL:
https://app.vssps.visualstudio.com/oauth2/token?client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer
範圍
| 名稱 | Description |
|---|---|
| vso.advsec | 授與讀取警示、結果實例、分析結果實例的能力 |
定義
| 名稱 | Description |
|---|---|
| Alert | |
|
Alert |
|
|
Alert |
警示的類型。 例如秘密、程序代碼等。 |
|
Alert |
警示的有效性數據,該警示將屬於警示 API 和 UI 的一部分。 |
|
Alert |
|
| Confidence |
警示的信賴等級。 |
|
Dependency |
此邏輯位置的相依性種類。 |
| Dismissal |
警示關閉的相關信息 |
|
Dismissal |
解僱的原因 |
|
Identity |
|
| License |
相依性的授權資訊 |
|
License |
授權狀態 |
|
License |
授權類型 |
|
Logical |
|
|
Physical |
找到問題的原始檔控制系統中的位置 |
|
Reference |
表示 REST 參考連結集合的類別。 |
| Region | |
|
Relation |
要與警示相關聯的元數據。 |
| Rule |
造成警示的分析規則。 |
| Severity |
警示的嚴重性。 |
| State |
這個值是由服務計算和傳回。 它是以所有分析組態的結果為基礎的值。 |
| Tool |
可產生安全性警示的分析工具 |
|
Validation |
|
|
Validation |
驗證的結果。 |
|
Version |
在原始檔控制系統中尋找檔案的資訊 |
Alert
| 名稱 | 類型 | Description |
|---|---|---|
| additionalProperties |
object |
此警示的其他屬性。 |
| alertId |
integer (int64) |
警示的標識碼。 它在 Azure DevOps 組織中是唯一的。 |
| alertType |
警示的類型。 例如秘密、程序代碼等。 |
|
| confidence |
警示的信賴等級。 |
|
| dismissal |
如果警示已關閉,則包含警示關閉的資訊。 |
|
| firstSeenDate |
string (date-time) |
這個值是由服務計算和傳回。 此值表示服務第一次在分析實例中回報此問題。 |
| fixedDate |
string (date-time) |
這個值是由服務計算和傳回。 如果問題已修正,這個值表示服務在分析實例中已修正此問題的時間。 |
| gitRef |
string |
git 對象的參考,例如分支參考。 |
| introducedDate |
string (date-time) |
這個值是由服務計算和傳回。 此值表示第一次引進弱點。 |
| lastSeenDate |
string (date-time) |
這個值是由服務計算和傳回。 此值代表服務在分析實例中回報此問題的最後一次。 |
| logicalLocations |
警示的邏輯位置。 這個值是由服務計算和傳回。 它是以所有分析組態的結果為基礎的值。 邏輯位置的範例是元件。 |
|
| physicalLocations |
這個值是由服務計算和傳回。 它是以所有分析組態的結果為基礎的值。 實體位置的範例是檔案位置。 |
|
| projectId |
string (uuid) |
偵測到警示的專案識別碼。 |
| relations |
警示與其他成品之間的關係。 |
|
| repositoryId |
string |
偵測到警示的儲存庫識別碼。 |
| repositoryUrl |
string |
偵測到警示的存放庫 URL。 |
| severity |
警示的嚴重性。 |
|
| state |
這個值是由服務計算和傳回。 它是以所有分析組態的結果為基礎的值。 |
|
| title |
string |
標題只會轉譯為文字,且不支援 Markdown 格式設定。 最大字元限制為 256。 |
| tools |
Tool[] |
偵測到此問題的工具。 |
| truncatedSecret |
string |
與警示相關的秘密截斷/模糊化版本(如果適用的話)。 |
| validationFingerprints |
秘密活躍度檢查的 ValidationFingerprints。 只有在 Get API 中視需要傳回 Expand 參數設為 ValidationFingerprint (未在清單 API 中傳回) |
|
| validityDetails |
警示的有效性詳細數據。 目前,這隻適用於秘密警示。 如果是秘密警示,則會藉由查看與警示相關聯之驗證指紋的活躍度結果,來計算有效狀態和時間。 |
AlertListExpandOption
| 值 | Description |
|---|---|
| none |
沒有展開。 |
| minimal |
傳回警示的最小表示法。 |
AlertType
警示的類型。 例如秘密、程序代碼等。
| 值 | Description |
|---|---|
| unknown |
程序代碼具有未指定的弱點類型 |
| dependency |
程序代碼會使用具有已知弱點的相依性。 |
| secret |
程式代碼包含已遭入侵且必須撤銷的秘密。 |
| code |
程式代碼包含靜態分析所決定的弱點。 |
AlertValidityInfo
警示的有效性數據,該警示將屬於警示 API 和 UI 的一部分。
| 名稱 | 類型 | Description |
|---|---|---|
| validityLastCheckedDate |
string (date-time) |
|
| validityStatus |
AlertValidityStatus
| 值 | Description |
|---|---|
| none |
沒有附加至警示的驗證指紋時。 |
| unknown |
當驗證指紋與警示相關聯的驗證尚未獲得決定性時。 |
| active |
當至少一個與警示相關聯的驗證指紋可供惡意探索時。 |
| inactive |
當與警示相關聯的所有驗證指紋都無法利用時。 |
Confidence
警示的信賴等級。
| 值 | Description |
|---|---|
| high |
警示的高信賴等級 |
| other |
警示的其他信賴等級 |
DependencyKind
此邏輯位置的相依性種類。
| 值 | Description |
|---|---|
| unknown | |
| rootDependency |
根相依性引進了要警示的元件。 |
| component |
正在警示的元件。 |
| vulnerableDependency |
易受攻擊的依賴性。 取代此值。 請改用 Component。 |
Dismissal
警示關閉的相關信息
| 名稱 | 類型 | Description |
|---|---|---|
| dismissalId |
integer (int64) |
此解除處理的唯一標識符 |
| dismissalType |
解僱的原因 |
|
| message |
string |
附加至關閉的資訊訊息 |
| stateChangedBy |
string (uuid) |
關閉警示的身分識別 |
| stateChangedByIdentity |
關閉警示的身分識別 |
DismissalType
解僱的原因
| 值 | Description |
|---|---|
| unknown |
關閉類型未知 |
| fixed |
已修正指出警示的關閉 |
| acceptedRisk |
關閉,指出使用者接受警示的風險 |
| falsePositive |
表示警示為誤判且可能不會修正的關閉。 |
| agreedToGuidance |
關閉,指出使用者同意遵循授權指引。 |
| toolUpgrade |
表示後端偵測工具已升級且新版工具未偵測警示的關閉。 |
| notDistributed |
表示受影響的相依性未散發給終端使用者的關閉。 |
IdentityRef
| 名稱 | 類型 | Description |
|---|---|---|
| _links |
此欄位包含圖表主旨的相關零或更多有趣連結。 您可以叫用這些連結,以取得此圖表主題的其他關聯性或更詳細的資訊。 |
|
| descriptor |
string |
描述元是在系統執行時參考圖表主旨的主要方式。 此欄位會唯一識別帳戶和組織之間的相同圖表主題。 |
| directoryAlias |
string |
已淘汰 - 查詢 IdentityRef “_links” 字典中參考的 Graph 使用者,即可擷取 |
| displayName |
string |
這是圖形主體的非唯一顯示名稱。 若要變更此欄位,您必須在來源提供者中變更其值。 |
| id |
string |
|
| imageUrl |
string |
已淘汰 - 可在 IdentityRef “_links” 字典的 “avatar” 專案中取得 |
| inactive |
boolean |
已淘汰 - 可藉由查詢 GraphUser “_links” 字典的 “membershipState” 專案中參考的 Graph 成員資格狀態來擷取 |
| isAadIdentity |
boolean |
已淘汰 - 可以從描述元的主體類型推斷 (Descriptor.IsAadUserType/Descriptor.IsAadGroupType) |
| isContainer |
boolean |
已淘汰 - 可以從描述元的主體類型推斷 (Descriptor.IsGroupType) |
| isDeletedInOrigin |
boolean |
|
| profileUrl |
string |
已淘汰 - 未在 ToIdentityRef 的大部分預先存在實作中使用 |
| uniqueName |
string |
已淘汰 - 請改用 Domain+PrincipalName |
| url |
string |
此 URL 是此圖表主體來源資源的完整路由。 |
License
相依性的授權資訊
| 名稱 | 類型 | Description |
|---|---|---|
| name |
string |
授權名稱 |
| state |
授權狀態 |
|
| type |
授權類型 |
|
| url |
string |
授權資訊的 URL |
LicenseState
授權狀態
| 值 | Description |
|---|---|
| unknown |
ClearlyDefined 尚未收集授權的資訊 |
| notHarvested |
ClearlyDefined 尚未收集授權的資訊 |
| harvested |
已由 ClearlyDefined 收集授權的資訊 |
LicenseType
授權類型
| 值 | Description |
|---|---|
| unknown |
授權類型未知或未指定。 |
| permissive |
寬鬆的授權可讓軟體以最少的限制自由使用、修改和散發。 範例:MIT、Apache 2.0。 |
| weakCopyleft |
弱式 copyleft 授權需要修改軟體,才能在相同的授權下共用軟體,但不會對包含軟體的較大型工作施加限制。 範例:LGPL。 |
| strongCopyleft |
強式 copyleft 授權要求任何衍生作品或包含軟體的較大型作品也必須以相同的授權散發。 範例:GPL。 |
| networkCopyleft |
網路 copyleft 授權會將 copyleft 需求延伸至透過網路存取的軟體,而需要提供原始程式碼。 範例:AGPL。 |
| other |
不符合標準類別或自定義定義的授權。 在 CG 中,它表示商業授權。 |
| noAssertion |
沒有關於授權類型的判斷提示,因此不會指定。 |
LogicalLocation
| 名稱 | 類型 | Description |
|---|---|---|
| fullyQualifiedName |
string |
|
| kind |
此邏輯位置的相依性種類。 |
|
| license |
只有在 Kind 為 「Component」 且具有此位置之警示的 alertType 為 License 時,才適用相依性授權的授權資訊 |
PhysicalLocation
找到問題的原始檔控制系統中的位置
| 名稱 | 類型 | Description |
|---|---|---|
| filePath |
string |
找到問題的檔案路徑 |
| region |
找到問題所在位置的詳細數據,包括代碼段 |
|
| versionControl |
來源控制系統有關位置的特定資訊 |
ReferenceLinks
表示 REST 參考連結集合的類別。
| 名稱 | 類型 | Description |
|---|---|---|
| links |
object |
連結的只讀檢視。 因為參考連結是只讀的,所以我們只想要將其公開為只讀。 |
Region
| 名稱 | 類型 | Description |
|---|---|---|
| columnEnd |
integer (int32) |
代碼段結束的數據行 |
| columnStart |
integer (int32) |
代碼段開始所在的數據行 |
| lineEnd |
integer (int32) |
代碼段結束的行號 |
| lineStart |
integer (int32) |
代碼段開始的行號 |
RelationMetadata
要與警示相關聯的元數據。
| 名稱 | 類型 | Description |
|---|---|---|
| attributes |
object |
元數據的任何其他屬性。 |
| rel |
string |
元數據的類型。 |
| url |
string |
元數據的 URL。 |
Rule
造成警示的分析規則。
| 名稱 | 類型 | Description |
|---|---|---|
| additionalProperties |
object |
此規則的其他屬性取決於規則類型。 例如,如果可以使用,相依性規則可能會包含 CVE 識別符。 |
| description |
string |
此規則偵測到的內容描述 |
| friendlyName |
string |
純文字規則標識碼 |
| helpMessage |
string |
此規則的其他資訊 |
| opaqueId |
string |
工具特定的規則識別碼 |
| resources |
string |
Markdown 格式化的資源清單,以深入了解規則。 在某些情況下,會改用 RuleInfo.AdditionalProperties.advisoryUrls。 |
| tags |
string[] |
此規則的分類標籤 |
Severity
警示的嚴重性。
| 值 | Description |
|---|---|
| low | |
| medium | |
| high | |
| critical | |
| note | |
| warning | |
| error | |
| undefined |
State
這個值是由服務計算和傳回。 它是以所有分析組態的結果為基礎的值。
| 值 | Description |
|---|---|
| unknown |
警示處於不確定狀態 |
| active |
程式代碼中偵測到警示 |
| dismissed |
使用者已關閉警示 |
| fixed |
程序代碼中不再偵測到問題 |
| autoDismissed |
此工具已判斷問題不再是風險 |
Tool
可產生安全性警示的分析工具
| 名稱 | 類型 | Description |
|---|---|---|
| name |
string |
工具的名稱 |
| rules |
Rule[] |
工具所定義的規則 |
ValidationFingerprint
| 名稱 | 類型 | Description |
|---|---|---|
| assetFingerprint |
object |
資產指紋的索引鍵值表示法。 |
| validationFingerprintHash |
string |
與秘密相關聯的哈希。 |
| validationFingerprintJson |
string |
秘密的 JSON 表示法。 請注意,此欄位可能包含其未加密形式的秘密。 請使用此欄位時請小心。 |
| validityLastUpdatedDate |
string (date-time) |
上次更新有效性的日期。 |
| validityResult |
驗證的結果。 |
ValidationResult
驗證的結果。
| 值 | Description |
|---|---|
| none |
默認值,無法從這個推斷秘密的相關信息。 |
| exploitable |
表示可用來連線到資源的秘密。 |
| notExploitable |
表示無法用來連線到資源的秘密。 |
| inconclusive |
表示無法判斷其惡意探索性的秘密。 |
| validationNotSupported |
代表無法驗證的秘密,例如遺失動態驗證程式。 |
| transientError |
代表驗證程式因暫時性錯誤(例如網路問題)而失敗的秘密。 此結果表示應該重試驗證程式。 |
VersionControlDetails
在原始檔控制系統中尋找檔案的資訊
| 名稱 | 類型 | Description |
|---|---|---|
| commitHash |
string |
|
| itemUrl |
string |