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 매개 변수
| Name | In(다음 안에) | 필수 | 형식 | Description |
|---|---|---|---|---|
|
organization
|
path | True |
string |
Azure DevOps 조직의 이름입니다. |
|
project
|
path | True |
string |
프로젝트 ID 또는 프로젝트 이름 |
|
repository
|
path | True |
string |
리포지토리의 이름 또는 ID |
|
api-version
|
query | True |
string |
사용할 API의 버전입니다. 이 버전의 API를 사용하려면 '7.2-preview.1'로 설정해야 합니다. |
|
continuation
|
query |
string |
반환할 수 있는 것보다 많은 경고가 있는 경우 연속 토큰이 "x-ms-continuationtoken" 헤더에 배치됩니다. 여기에서 해당 토큰을 사용하여 경고의 다음 페이지를 가져옵니다. |
|
|
criteria.
|
query |
integer[] |
제공된 경우 ID가 지정된 경고만 반환합니다. |
|
|
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 |
제공된 경우 이 참조에 대한 경고만 포함합니다. |
|
|
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" 또는 "심각도" 기본값이 "id"여야 합니다. |
|
|
top
|
query |
integer (int32) |
반환할 최대 경고 수 |
응답
| Name | 형식 | 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
범위
| Name | Description |
|---|---|
| vso.advsec | 경고, 결과 인스턴스, 분석 결과 인스턴스를 읽을 수 있는 기능을 부여합니다. |
정의
| Name | 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
| Name | 형식 | 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입니다. Expand 매개 변수가 ValidationFingerprint로 설정된 Get API에서 요청 시만 반환됨(List API에서 반환되지 않음) |
|
| validityDetails |
경고의 유효성 세부 정보입니다. 현재 비밀 경고에만 적용됩니다. 비밀 경고의 경우 유효성 검사 결과에서 경고와 관련된 유효성 검사 지문을 확인하여 유효성 상태 및 시간을 계산합니다. |
AlertListExpandOption
| 값 | Description |
|---|---|
| none |
확장이 없습니다. |
| minimal |
경고의 최소 표현을 반환합니다. |
AlertType
경고의 유형입니다. 예: 비밀, 코드 등
| 값 | Description |
|---|---|
| unknown |
코드에 지정되지 않은 취약성 유형이 있습니다. |
| dependency |
이 코드는 알려진 취약성이 있는 종속성을 사용합니다. |
| secret |
코드에는 이제 손상되어 해지해야 하는 비밀이 포함되어 있습니다. |
| code |
코드에는 정적 분석에 의해 결정되는 약점이 포함되어 있습니다. |
AlertValidityInfo
경고 API 및 UI의 일부가 될 경고의 유효성 데이터입니다.
| Name | 형식 | Description |
|---|---|---|
| validityLastCheckedDate |
string (date-time) |
|
| validityStatus |
AlertValidityStatus
| 값 | Description |
|---|---|
| none |
경고에 연결된 유효성 검사 지문이 없는 경우 |
| unknown |
경고와 연결된 유효성 검사 지문에 대한 유효성 검사가 결정적이지 않은 경우 |
| active |
경고와 연결된 하나 이상의 유효성 검사 지문을 악용할 수 있는 경우 |
| inactive |
경고와 연결된 모든 유효성 검사 지문을 악용할 수 없는 경우 |
Confidence
경고의 신뢰 수준입니다.
| 값 | Description |
|---|---|
| high |
경고에 대한 높은 신뢰 수준 |
| other |
경고에 대한 기타 신뢰 수준 |
DependencyKind
이 논리 위치의 종속성 종류입니다.
| 값 | Description |
|---|---|
| unknown | |
| rootDependency |
루트 종속성으로 인해 경고되는 구성 요소가 도입되었습니다. |
| component |
경고를 받는 구성 요소입니다. |
| vulnerableDependency |
취약한 종속성입니다. 이 값은 더 이상 사용되지 않습니다. 대신 구성 요소를 사용합니다. |
Dismissal
경고 해제에 대한 정보
| Name | 형식 | Description |
|---|---|---|
| dismissalId |
integer (int64) |
이 해제에 대한 고유 ID |
| dismissalType |
해고 이유 |
|
| message |
string |
해고에 첨부된 정보 메시지 |
| stateChangedBy |
string (uuid) |
경고를 해제한 ID |
| stateChangedByIdentity |
경고를 해제한 ID |
DismissalType
해고 이유
| 값 | Description |
|---|---|
| unknown |
해제 유형을 알 수 없음 |
| fixed |
경고가 수정되었음을 나타내는 해고 |
| acceptedRisk |
사용자가 경고에 대한 위험을 수락하고 있음을 나타내는 해고 |
| falsePositive |
경고를 나타내는 해고는 가양성이며 수정되지 않을 가능성이 높습니다. |
| agreedToGuidance |
사용자가 라이선스 지침을 따르기로 동의함을 나타내는 해고입니다. |
| toolUpgrade |
백 엔드 검색 도구가 업그레이드되었으며 새 버전의 도구에서 경고가 검색되지 않음을 나타내는 해제입니다. |
| notDistributed |
영향을 받는 종속성이 최종 사용자에게 배포되지 않음을 나타내는 해고입니다. |
IdentityRef
| Name | 형식 | Description |
|---|---|---|
| _links |
이 필드에는 그래프 제목에 대한 0개 이상의 흥미로운 링크가 포함되어 있습니다. 이러한 링크를 호출하여 이 그래프 제목에 대한 추가 관계 또는 자세한 정보를 얻을 수 있습니다. |
|
| descriptor |
string |
설명자는 시스템이 실행되는 동안 그래프 제목을 참조하는 기본 방법입니다. 이 필드는 계정과 조직 모두에서 동일한 그래프 제목을 고유하게 식별합니다. |
| directoryAlias |
string |
사용되지 않음 - IdentityRef "_links" 사전의 "자체" 항목에서 참조된 Graph 사용자를 쿼리하여 검색할 수 있습니다. |
| displayName |
string |
그래프 주체의 고유하지 않은 표시 이름입니다. 이 필드를 변경하려면 원본 공급자에서 해당 값을 변경해야 합니다. |
| id |
string |
|
| imageUrl |
string |
사용되지 않음 - IdentityRef "_links" 사전의 "아바타" 항목에서 사용할 수 있습니다. |
| 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
종속성에 대한 라이선스 정보
| Name | 형식 | Description |
|---|---|---|
| name |
string |
라이선스 이름 |
| state |
라이선스 상태 |
|
| type |
라이선스 유형 |
|
| url |
string |
라이선스 정보의 URL |
LicenseState
라이선스 상태
| 값 | Description |
|---|---|
| unknown |
명확하게 정의된 라이선스 정보가 수집되지 않았습니다. |
| notHarvested |
명확하게 정의된 라이선스 정보가 수집되지 않았습니다. |
| harvested |
명확하게 정의된 라이선스 정보가 수집되었습니다. |
LicenseType
라이선스 유형
| 값 | Description |
|---|---|
| unknown |
라이선스 유형을 알 수 없거나 지정하지 않았습니다. |
| permissive |
허용되는 라이선스를 사용하면 최소한의 제한으로 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있습니다. 예: MIT, Apache 2.0. |
| weakCopyleft |
약한 copyleft 라이선스는 동일한 라이선스에 따라 소프트웨어를 수정해야 하지만 소프트웨어를 포함하는 대규모 작업에는 제한을 두지 않습니다. 예: LGPL. |
| strongCopyleft |
강력한 copyleft 라이선스를 사용하려면 소프트웨어를 포함하는 파생 작업 또는 더 큰 작업도 동일한 라이선스로 배포해야 합니다. 예: GPL. |
| networkCopyleft |
네트워크 copyleft 라이선스는 copyleft 요구 사항을 네트워크를 통해 액세스하는 소프트웨어로 확장하므로 소스 코드를 사용할 수 있어야 합니다. 예: AGPL. |
| other |
표준 범주에 맞지 않거나 사용자 지정 정의 라이선스입니다. CG에서는 상업용 라이선스를 나타냅니다. |
| noAssertion |
라이선스 유형에 대한 어설션이 없으므로 지정되지 않은 상태로 둡니다. |
LogicalLocation
| Name | 형식 | Description |
|---|---|---|
| fullyQualifiedName |
string |
|
| kind |
이 논리 위치의 종속성 종류입니다. |
|
| license |
종속성에 대한 라이선스 정보는 종류가 "구성 요소"이고 이 위치가 있는 경고의 alertType이 라이선스인 경우에만 적용됩니다. |
PhysicalLocation
문제가 발견된 소스 제어 시스템의 위치
| Name | 형식 | Description |
|---|---|---|
| filePath |
string |
문제가 발견된 파일의 경로 |
| region |
코드 조각을 포함하여 문제가 발견된 위치에 대한 세부 정보 |
|
| versionControl |
위치에 대한 소스 제어 시스템별 정보 |
ReferenceLinks
REST 참조 링크의 컬렉션을 나타내는 클래스입니다.
| Name | 형식 | Description |
|---|---|---|
| links |
object |
링크의 읽기 전용 보기입니다. 참조 링크는 읽기 전용이므로 읽기 전용으로만 노출하려고 합니다. |
Region
| Name | 형식 | Description |
|---|---|---|
| columnEnd |
integer (int32) |
코드 조각이 끝나는 열 |
| columnStart |
integer (int32) |
코드 조각이 시작되는 열 |
| lineEnd |
integer (int32) |
코드 조각이 끝나는 줄 번호 |
| lineStart |
integer (int32) |
코드 조각이 시작되는 줄 번호 |
RelationMetadata
경고와 연결할 메타데이터입니다.
| Name | 형식 | Description |
|---|---|---|
| attributes |
object |
메타데이터의 추가 특성입니다. |
| rel |
string |
메타데이터의 형식입니다. |
| url |
string |
메타데이터의 URL입니다. |
Rule
경고를 발생시킨 분석 규칙입니다.
| Name | 형식 | Description |
|---|---|---|
| additionalProperties |
object |
규칙 유형에 따라 이 규칙의 추가 속성이 적용됩니다. 예를 들어 종속성 규칙은 CVE ID를 사용할 수 있는 경우 포함할 수 있습니다. |
| 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
보안 경고를 생성할 수 있는 분석 도구
| Name | 형식 | Description |
|---|---|---|
| name |
string |
도구의 이름 |
| rules |
Rule[] |
도구에서 정의하는 규칙 |
ValidationFingerprint
| Name | 형식 | Description |
|---|---|---|
| assetFingerprint |
object |
자산 지문의 키 값 표현입니다. |
| validationFingerprintHash |
string |
비밀에 연결된 해시입니다. |
| validationFingerprintJson |
string |
비밀의 JSON 표현입니다. 이 필드에 암호화되지 않은 형식의 비밀이 포함될 수 있습니다. 이 필드를 사용할 때는 주의하세요. |
| validityLastUpdatedDate |
string (date-time) |
유효성이 마지막으로 업데이트된 날짜입니다. |
| validityResult |
유효성 검사의 결과입니다. |
ValidationResult
유효성 검사의 결과입니다.
| 값 | Description |
|---|---|
| none |
기본값으로, 비밀에 대한 정보는 이 정보에서 유추할 수 없습니다. |
| exploitable |
리소스에 연결하는 데 사용할 수 있는 비밀을 나타냅니다. |
| notExploitable |
리소스에 연결하는 데 사용할 수 없는 비밀을 나타냅니다. |
| inconclusive |
악용 가능성에 대한 결정을 내릴 수 없는 비밀을 나타냅니다. |
| validationNotSupported |
유효성을 검사할 수 없는 비밀(예: 동적 유효성 검사기가 누락됨)을 나타냅니다. |
| transientError |
일시적인 오류(예: 네트워크 문제)로 인해 유효성 검사 프로세스가 실패한 비밀을 나타냅니다. 이 결과는 유효성 검사 프로세스를 다시 시도해야 했음을 나타냅니다. |
VersionControlDetails
소스 제어 시스템에서 파일을 찾기 위한 정보
| Name | 형식 | Description |
|---|---|---|
| commitHash |
string |
|
| itemUrl |
string |