참고
2022년 12월 31일부터 MSCA(Microsoft Security 코드 분석) 확장이 만료됩니다. MSCA는 Microsoft Security DevOps Azure DevOps 확장으로 바뀝니다. 확장을 설치하고 구성하려면 구성의 지침을 따릅니다.
이 문서에서는 각 빌드 작업에서 사용할 수 있는 모든 YAML 구성 옵션을 나열합니다. 이 문서는 보안 코드 분석 도구에 대한 작업으로 시작하여 후처리 작업으로 끝납니다.
맬웨어 방지 스캐너 작업
| InputType | 유형 | 적용 가능 | 필수 | 기본값 | 옵션(picklist용) | 설명 |
|---|---|---|---|---|---|---|
| 입력 유형 | 선택 목록 | 항상 | 참 | 기본 | 기본, 맞춤형 | |
| 스캔 유형 | 선택 목록 | 입력형식 = 기본 | 참 | 커스텀스캔 | 맞춤형 스캔, 전체 시스템 스캔, 빠른 스캔, 사용자 설정 스캔 | 맬웨어 방지 검색에 사용할 검색 유형입니다. |
| FileDirPath | 파일 경로 (filePath) | ScanType = CustomScan | 참 | $(Build.StagingDirectory) | 검색할 파일 또는 디렉터리를 나타냅니다. | |
| 복구 비활성화 | 불리언 | ScanType = CustomScan | 거짓 | 참 | 체크될 경우: 1) 파일 제외가 무시됩니다. 2) 보관 파일이 스캔됩니다. 3) 감지 후에 조치가 적용되지 않습니다. 4) 검사 후 이벤트 로그 항목이 기록되지 않습니다. 5) 사용자 지정 검색의 검출 항목이 사용자 인터페이스에 표시되지 않습니다. 6) 콘솔 출력에 사용자 정의 스캔의 탐지 항목 목록이 표시됩니다. | |
| 부트섹터 스캔 | 부울 | ScanType = CustomScan | 거짓 | 거짓 | 선택하는 경우 부팅 섹터 검색을 사용하도록 설정합니다. | |
| 논쟁 | string | InputType = Custom | 참 | -Scan -ScanType 3 -DisableRemediation -File $(Build.StagingDirectory) | 명령줄 인수입니다. 여기서 -File에 대한 인수는 절대 경로이거나 빌드 에이전트에 미리 정의된 $(Build.StagingDirectory)에 대한 상대 경로입니다. 참고: -File에 대한 인수를 마지막 인수로 제공하지 않으면 기본값으로 $(Build.StagingDirectory)가 설정됩니다. MpCmdRun.exe 도구에서 허용하는 고유한 인수를 제공할 수도 있습니다. 이 도구의 명령줄 인수에 대한 자세한 내용을 보려면 인수 필드에 -h 또는 -?를 입력하고 빌드 작업을 실행하세요. |
|
| EnableServices | 불리언 | 항상 | 참 | 거짓 | 선택하면 필요한 경우 Windows Update 서비스를 활성화하려고 시도합니다(비활성화된 경우). 참고: 그룹 정책에서 서비스를 사용하도록 설정했는지, 이 빌드를 실행하는 계정에 관리자 권한이 있는지 확인하세요. |
|
| 지원로그온오류 | 부울 값 | 항상 | 참 | 거짓 | 선택하면 오류가 발생했을 때 진단용 지원 파일을 수집합니다. 이 작업은 몇 분 정도 걸릴 수 있습니다. 참고: 이 빌드가 실행되는 계정에 관리자 권한이 있는지 확인하세요. |
|
| 서명 업데이트 실패 처리 방법 | 선택 목록 | 항상 | 참 | 경고 | 오류, 표준, 경고 | 런타임에 서명을 업데이트할 수 없는 경우 사용되는 로그 수준입니다. Error로 설정하는 경우 서명 업데이트에 실패하면 빌드 작업이 실패합니다. 서명이 상대적으로 최신(3시간 미만)인 경우에도 호스트된 빌드 에이전트에서 서명 업데이트가 실패하는 것이 일반적입니다. |
| 시그니처 신선도 | 선택 목록 | 항상 | 참 | UpToDate | 하루, 3일, 2일, 최신 상태 | 맬웨어 방지 서명에 허용되는 최대 경과 기간입니다. 서명이 업데이트될 수 없고 이 값보다 오래된 경우 빌드 작업은 서명 경과 기간 확인 필드에서 선택한 값에 따라 동작합니다. 참고: Up-To-Date를 선택하는 경우 서명은 최대 3시간까지 허용됩니다. |
| 오래된 서명을 간주하기 | 선택 목록 | 항상 | 참 | 오류 | 오류, 표준, 경고 | 서명 경과 기간이 선택한 맬웨어 방지 서명 경과 기간보다 오래된 경우 사용되는 로그 수준입니다. 맬웨어 방지 검색을 계속하도록 오래된 서명을 경고 또는 정보 제공으로 처리할 수 있지만 이 방법은 사용하지 않는 것이 좋습니다. |
BinSkim 작업
| InputType | 유형 | 적용 가능 | 필수 | 기본값 | 옵션(picklist용) | 설명 |
|---|---|---|---|---|---|---|
| 입력 유형 | 선택 목록 | 항상 | 참 | 기본 | 기본, 명령줄 | |
| 논쟁 | 문자열 | 입력유형 = 명령줄 | 참 | 실행할 표준 BinSkim 명령줄 인수입니다. 출력 경로가 제거되고 바뀝니다. 이 도구의 명령줄 인수에 대한 자세한 내용을 보려면 인수 필드에 help를 입력하고 빌드 작업을 실행하세요. |
||
| 기능 | 선택 목록 | 입력형식 = 기본 | 참 | 분석 | 분석, 덤프, exportConfig, exportRules | |
| 분석대상 | 파일 경로 (filePath) | InputType = Basic && Function = 분석 | 참 | $(Build.ArtifactStagingDirectory)*.dll; $(Build.ArtifactStagingDirectory)*.exe |
파일, 디렉터리, 또는 필터 패턴에 대한 하나 이상의 지정자가 있으며, 이는 분석할 하나 이상의 바이너리 파일로 해석됩니다. (';'로 구분된 목록) | |
| AnalyzeSymPath | string | 입력유형 = 기본 && 기능 = 분석 | 거짓 | 대상에 대한 기호 파일의 경로입니다. | ||
| 분석설정경로 | 문자열 | InputType = 기본 && Function = 분석 | 거짓 | 기본값 | 분석을 구성하는 데 사용될 정책 파일의 경로입니다. 기본 제공 설정을 사용하려면 'default' 값을 전달합니다. | |
| 플러그인 경로 분석 | 문자열 | InputType = Basic && Function = analyze | 거짓 | 분석 집합의 모든 대상에 대해 호출되는 플러그 인의 경로입니다. | ||
| AnalyzeRecurse (분석 재귀) | 불리언 | 입력유형 = 기본 && 기능 = 분석 | 거짓 | 참 | 파일 지정자 인수를 평가할 때 하위 디렉터리로 재귀됩니다. | |
| AnalyzeVerbose | 부울 | 입력유형 = Basic && 기능 = analyze | 거짓 | 거짓 | 자세한 정보를 출력합니다. 결과로 생성되는 포괄적인 보고서는 규정 준수 시나리오에 대한 적절한 증거를 제공하도록 설계되었습니다. | |
| 해시 분석 | 불리언 | 입력유형 = 기본 && 기능 = 분석 | 거짓 | 거짓 | SARIF 보고서를 내보낼 때 분석 대상의 SHA-256 해시를 출력합니다. | |
| 통계 분석 | 부울린 | 입력유형 = 기본 && 기능 = 분석 | 거짓 | 거짓 | 분석 세션에 대한 타이밍 및 기타 통계를 생성합니다. | |
| AnalyzeEnvironment | 불리언 | 입력유형 = 기본 && 기능 = 분석 | 거짓 | 거짓 | 실행의 컴퓨터 환경 세부 정보를 출력 파일에 기록합니다. 경고: 이 옵션은 모든 환경 변수 값과 같은 잠재적으로 중요한 정보를 내보낸 로그에 기록합니다. | |
| 내보내기 규칙 출력 형식 | 선택 목록 | 입력 유형 = Basic && 기능 = exportRules | 거짓 | SARIF | SARIF, SonarQube | 출력할 규칙 설명자 파일의 유형입니다. 이는 Publish Security Analysis Logs 빌드 작업에서 게시한 BinSkim logs 폴더에 포함됩니다. |
| 덤프타겟 | 파일 경로 (filePath) | 입력 유형 = 기본 && 기능 = 덤프 | 참 | $(Build.ArtifactStagingDirectory) | 파일, 디렉터리, 또는 필터 패턴에 대한 하나 이상의 지정자가 있으며, 이는 분석할 하나 이상의 바이너리 파일로 해석됩니다. (';'로 구분된 목록) | |
| DumpRecurse | 부울 값 | 입력 유형 = 기본 && 기능 = 덤프 | 거짓 | 참 | 파일 지정자 인수를 평가할 때 하위 디렉터리로 재귀됩니다. | |
| DumpVerbose | 부울 값 | 입력 유형 = 기본 && 기능 = 덤프 | 거짓 | 참 | 자세한 정보를 출력합니다. 결과로 생성되는 포괄적인 보고서는 규정 준수 시나리오에 대한 적절한 증거를 제공하도록 설계되었습니다. | |
| 툴 버전 | 선택 목록 | 항상 | 거짓 | 최신 | 1.5.0, 최신, 최신 프리릴리즈 | 실행할 도구의 버전입니다. |
자격 증명 스캐너 작업
| InputType | 유형 | 적용 가능 | 필수 | 기본값 | 옵션(picklist용) | 설명 |
|---|---|---|---|---|---|---|
| 출력 형식 | 선택 목록 | 항상 | 거짓 | 이전 | csv, pre, tsv | Credential Scanner 결과 파일의 출력 형식입니다. |
| 툴 버전 | 선택 목록 | 항상 | 거짓 | 최신 | 1.27.7, 최신, 최신사전릴리스 | 실행할 도구의 버전입니다. |
| 폴더 스캔 | 파일 경로 (filePath) | 항상 | 거짓 | $(Build.SourcesDirectory) | 자격 증명을 검색할 리포지토리의 폴더입니다. | |
| 검색자파일유형 | 선택 목록 | 항상 | 거짓 | 기본값 | 사용자 정의, 기본값, 기본값 및 사용자 정의 | 검색에 사용되는 searchers 파일을 찾기 위한 옵션입니다. |
| 검색자파일 | 파일 경로 (filePath) | searchersFileType == Custom OR searchersFileType == DefaultAndCustom | 거짓 | Credential Scanner searchers의 실행할 검사 구성 파일입니다. Credential Scanner searchers 파일에 대한 쉼표로 구분된 경로 목록을 제공하여 여러 값을 포함하고 사용할 수 있습니다. | ||
| 억제파일 | 파일 경로 (filePath) | 항상 | 거짓 | 문제 억제를 위해 출력 로그에서 사용할 Credential Scanner 억제 파일입니다. | ||
| suppressAsError | 불리언 | 항상 | 거짓 | 거짓 | 배제된 일치 항목은 기본 배제된 출력 파일 [-O]-suppressed.[-f] 대신 출력 파일 [-O]-matches.[-f]로 출력됩니다. (기본값은 'False') | |
| 상세 출력 (verboseOutput) | 블리언 | 항상 | 거짓 | 거짓 | 버보스 정보를 출력합니다. | |
| 배치 크기 | string | 항상 | 거짓 | Credential Scanner를 병렬로 실행하는 데 사용되는 동시 스레드 수입니다. (기본값은 20) 값은 1에서 2147483647 사이의 범위 내에 있어야 합니다. |
||
| regexMatchTimeoutInSeconds | string | 항상 | 거짓 | 검사를 중단하기 전에 검색자 일치를 시도하는 데 소요되는 시간(초)입니다.-Co RegexMatchTimeoutInSeconds=<Value>를 명령줄에 추가합니다. |
||
| 파일스캔읽기버퍼크기 | 문자열 | 항상 | 거짓 | 콘텐츠를 읽는 동안 버퍼 크기(바이트)입니다. (기본값은 524288)-Co FileScanReadBufferSize=<Value>를 명령줄에 추가합니다. |
||
| maxFileScanReadBytes | 문자열 | 항상 | 거짓 | 콘텐츠 분석 중 지정된 파일에서 읽을 최대 바이트 수입니다. (기본값은 104857600)-Co MaxFileScanReadBytes=<Value>를 명령줄에 추가합니다. |
Roslyn 분석기 작업
| InputType | 유형 | 적용 가능 | 필수 | 기본값 | 옵션(picklist용) | 설명 |
|---|---|---|---|---|---|---|
| 사용자제공빌드정보 | 선택 목록 | 항상 | 참 | 자동 | auto, msBuildInfo | 사용자가 Roslyn 분석을 위한 MSBuild 버전, MSBuild 아키텍처 및 명령줄 빌드를 제공하기 위한 옵션입니다. 자동을 선택하는 경우 이 작업은 동일한 파이프라인의 이전 MSBuild, VSBuild 및/또는 .NET Core(빌드의 경우) 작업에서 빌드 정보를 검색합니다. |
| msBuildVersion | 선택 목록 | userProvideBuildInfo == msBuildInfo | 참 | 16.0 | 15.0, 16.0 | MSBuild 버전입니다. |
| msBuildArchitecture | 선택 목록 | 사용자 제공 빌드 정보 == msBuildInfo | 참 | x86 | DotNetCore, x64, x86 | MSBuild 아키텍처입니다. 참고: 빌드 명령줄이 dotnet.exe 빌드를 호출하는 경우 Via .NET Core 옵션을 선택합니다. |
| msBuild 명령줄 | string | userProvideBuildInfo == msBuildInfo | 참 | 솔루션 또는 프로젝트를 컴파일하기 위한 전체 빌드 명령줄입니다. 참고: 명령줄은 MSBuild.exe 또는 dotnet.exe에 대한 전체 경로로 시작해야 합니다. 명령은 $(Build.SourcesDirectory)를 작업 디렉터리로 사용하여 실행됩니다. |
||
| rulesetName | 선택 목록 | 항상 | 거짓 | 권장 | 사용자 정의, 없음, 권장, 필수 | 사용할 명명된 규칙 집합입니다.Ruleset Configured In Your Visual Studio Project File(s)를 선택하는 경우 VS 프로젝트 파일에 미리 구성된 규칙 집합이 사용됩니다.
Custom을 선택하는 경우 사용자 지정 규칙 집합 경로 옵션을 설정할 수 있습니다. |
| rulesetVersion | 선택 목록 | rulesetName == 필수 OR rulesetName == 권장 | 거짓 | 최신 | 8.0, 8.1, 8.2, 최신, 최신 사전 릴리스 | 선택한 SDL 규칙 집합의 버전입니다. |
| 사용자 정의 규칙 집합 | 문자열 | rulesetName = 사용자 정의 | 거짓 | 사용할 규칙 집합에 액세스할 수 있는 경로입니다. 상대 경로는 원본 리포지토리($(Build.SourcesDirectory)) 루트로 정규화됩니다.규칙 집합이 Rules를 지정하고 Actions가 Error로 설정되면 빌드 작업이 실패합니다. 이를 수행하는 규칙 집합을 사용하려면 빌드 작업의 Continue on error에서 Control Options를 선택합니다. |
||
| 마이크로소프트 분석기 버전 | 선택 목록 | 항상 | 거짓 | 최신 | 2.9.3, 2.9.4, 2.9.6, 최신, 최신 프리릴리스 | 실행할 Microsoft.CodeAnalysis.FxCopAnalyzers 패키지의 버전입니다. |
| 컴파일러 경고 억제 파일 | 파일 경로 (filePath) | 항상 | 거짓 | C# 및 VB 컴파일러 경고를 억제하는 차단 파일입니다. 각 경고 ID가 한 줄에 하나씩 나열된 일반 텍스트 파일입니다. 컴파일러 경고의 경우 경고 식별자의 숫자 부분만 지정하면 됩니다. 예를 들어, 1018은 CS1018을 억제하고, CA1501은 CA1501을 억제합니다. 상대 파일 경로는 원본 리포지토리( $(Build.SourcesDirectory))의 루트에 추가됩니다. |
TSLint 작업
| InputType | 유형 | 적용 가능 | 필수 | 기본값 | 옵션(picklist용) | 설명 |
|---|---|---|---|---|---|---|
| 규칙 라이브러리 | 선택 목록 | 항상 | 참 | tslint | 사용자 정의, microsoft, tslint | 모든 결과는 선택된 버전의 TSLint(Base Only)와 함께 제공되는 규칙을 포함합니다. Base Only - TSLint와 함께 제공되는 규칙만 포함합니다. Include Microsoft Rules -tslint-microsoft-contrib를 다운로드하고 TSLint 실행에 사용할 수 있는 규칙을 포함합니다. 이 옵션을 선택하면 Microsoft의 규칙에 필요하므로 자동으로 사용되는 Type Checking 확인란은 숨겨집니다. 또한 Microsoft Contribution Version 필드를 표시하여 tslint-microsoft-contrib의 버전을 선택할 수 있게 합니다.Include Custom Rules - TSLint 실행에 사용할 수 있도록 TSLint 규칙의 디렉터리로 가는 접근 가능한 경로를 입력할 수 있는 Rules Directory 필드를 표시합니다.참고: 많은 사용자가 Microsoft 규칙 집합을 구성하는 데 문제를 겪기 때문에 기본값이 tslint로 변경되었습니다. 특정 버전 구성에 대한 자세한 내용은 GitHub의 tslint-microsoft-contrib를 참조하세요. |
| 규칙 디렉토리 | string | RuleLibrary == custom | 참 | TSLint 실행에서 사용할 수 있는 추가 TSLint 규칙을 포함하는 액세스 가능한 디렉터리입니다. | ||
| 규칙 집합 | 선택 목록 | RuleLibrary != microsoft | 참 | 티에스레커멘디드 | 사용자 지정, 최신 TS, 추천 TS | TypeScript 파일에 대해 실행할 규칙을 정의합니다. tslint:latest - tslint:recommended를 확장하며 모든 TSLint 릴리스의 최신 규칙에 대한 구성을 포함하도록 지속적으로 업데이트됩니다. 이 구성을 사용하면 새 규칙이 활성화되어 코드에서 lint 오류를 유발할 수 있으므로 마이너 릴리스 간에 호환성이 손상되는 변경이 발생할 가능성이 있습니다. TSLint가 주 버전 범프에 도달하면 tslint:recommended가 tslint:latest와 동일하게 업데이트됩니다.tslint:recommended - TSLint 사용 시 일반적인 TypeScript 프로그래밍에 권장되는 다소 견해가 반영된 안정된 규칙 세트입니다. 이 구성은 semver를 따르므로, 부 릴리스나 패치 릴리스 간에 호환성을 깨는 변경 사항이 없습니다. |
| RulesetMicrosoft | 선택 목록 | RuleLibrary == microsoft | 참 | mssdlrequired | 커스텀(custom), MS-권장(msrecommended), MS-설치권장(mssdlrecommended), MS-설치필수(mssdlrequired), 최신(tslatest), TS-권장(tsrecommended) | TypeScript 파일에 대해 실행할 규칙을 정의합니다. microsoft:sdl-required - tslint과 tslint-microsoft-contrib 규칙에 의해 제공되는 사용 가능한 모든 검사를 실행하여 필수 보안 개발 수명 주기(SDL) 정책을 충족합니다. microsoft:sdl 권장 - 사용 가능한 모든 tslint 검사와 tslint-microsoft-contrib 규칙을 실행하여 필수 및 권장 보안 개발 수명 주기(SDL) 정책을 충족시킵니다. microsoft:recommended tslint-microsoft-contrib 규칙의 작성자가 권장하는 모든 검사입니다. 여기에는 보안 및 비보안 검사가 포함됩니다. tslint:latest - tslint:recommended를 확장하며 모든 TSLint 릴리스의 최신 규칙에 대한 구성을 포함하도록 지속적으로 업데이트됩니다. 이 구성을 사용하면 코드에서 lint 오류를 유발하는 새 규칙이 활성화되므로 마이너 릴리스 간에 호환성이 깨지는 변경사항이 발생할 수 있습니다. TSLint가 주 버전 범프에 도달하면 tslint:recommended가 tslint:latest와 동일하게 업데이트됩니다.tslint:recommended - TSLint 사용 시 일반적인 TypeScript 프로그래밍에 권장되는 다소 견해가 반영된 안정된 규칙 세트입니다. 이 구성은 semver를 따르므로, 부 릴리스나 패치 릴리스 간에 호환성을 깨는 변경 사항이 없습니다. |
| 규칙세트파일 | string | Ruleset == custom 또는 RulesetMicrosoft == custom | 참 | 실행할 규칙을 지정하는 구성 파일입니다. 구성에 대한 경로는 사용자 지정 규칙에 대한 경로로 추가됩니다. |
||
| 파일 선택 유형 | 선택 목록 | 항상 | 참 | 파일글롭 | fileGlob, projectFile | |
| 파일 | 문자열 | FileSelectionType == fileGlob | 참 | ***.ts | 처리할 파일을 결정하는 파일 glob입니다. 경로는 Build.SourcesDirectory 값을 기준으로 상대적입니다.Microsoft의 기여 라이브러리를 사용하려면 프로젝트 파일을 사용해야 합니다. Microsoft의 기여 라이브러리를 File Glob Pattern 옵션과 함께 사용하는 경우 프로젝트 파일이 자동으로 생성됩니다. |
|
| ECMAScript 버전 | 선택 목록 | FileSelectionType == fileGlob && RuleLibrary == microsoft | 참 | ES3 | ES2015, ES2016, ES2017, ES3, ES5, ES6, ESNext | TypeScript 컴파일러를 사용하여 구성된 ECMAScript의 대상 버전입니다. 프로젝트 파일을 사용하는 경우 TypeScript tsconfig.json 파일의 compilerOptions.target 필드입니다. |
| 프로젝트 | 문자열 | FileSelectionType == projectFile (파일 선택 유형 == 프로젝트 파일) | 참 | TSLint를 실행할 TypeScript 파일을 지정하는 tsconfig.json 파일에 대한 경로입니다. 경로는 Build.SourcesDirectory 값을 기준으로 상대적입니다. |
||
| 타입체크 | 불리언 | RuleLibrary != microsoft && FileSelectionType == projectFile | 거짓 | 참 | Linting 규칙을 실행할 때 형식 검사기를 사용하도록 설정합니다. | |
| 파일 제외 | 문자열 | 항상 | 거짓 | linting에서 제외할 파일을 나타내는 glob입니다. 경로는 Build.SourcesDirectory 값을 기준으로 상대적입니다. 여러 값을 세미콜론으로 구분하여 지정할 수 있습니다. |
||
| 출력 형식 | 선택 목록 | 항상 | 참 | json | checkstyle, codeFrame, filesList, json, msbuild, pmd, prose, stylish, verbose, vso | 출력을 생성하는 데 사용할 포맷터입니다. JSON 형식은 사후 분석과 호환됩니다. |
| 노드 메모리 | string | 항상 | 거짓 | TSLint를 실행하기 위해 노드에 할당할 명시적 메모리 양(MB)입니다. 예: 8000 노드에 대한 --max_old_space=<value> CLI 옵션, 즉 v8 option에 매핑됩니다. |
||
| 도구 버전 | 선택 목록 | RuleLibrary != microsoft | 참 | 최신 | 4.0.0, 4.0.1, 4.0.2, 4.1.0, 4.1.1, 4.2.0, 4.3.0, 4.3.1, 4.4.0, 4.4.1, 4.4.2, 4.5.0, 4.5.1, 5.0.0, 5.1.0, 5.2.0, 5.3.0, 5.3.2, 5.4.0, 5.4.1, 5.4.2, 5.4.3, 5.5.0, 최신 | 다운로드하고 실행할 TSLint의 버전입니다. |
| 타입스크립트버전 | 선택 목록 | 항상 | 참 | 최신 | 0.8.0, 0.8.1, 0.8.2, 0.8.3, 0.9.0, 0.9.1, 0.9.5, 0.9.7, 1.0.0, 1.0.1, 1.3.0, 1.4.1, 1.5.3, 1.6.2, 1.7.3, 1.7.5, 1.8.0, 1.8.10, 1.8.2, 1.8.5, 1.8.6, 1.8.7, 1.8.9, 1.9.0, 2.0.0, 2.0.10, 2.0.2, 2.0.3, 2.0.6, 2.0.7, 2.0.8, 2.0.9, 2.1.1, 2.1.4, 2.1.5, 2.1.6, 2.2.0, 2.2.1, 사용자 정의, 최신 | 다운로드하고 사용할 TypeScript의 버전입니다. 참고: 코드를 컴파일하는 데 사용되는 것과 동일한 버전의 TypeScript여야 합니다. |
| TypeScriptVersionCustom | string | TypeScriptVersion == custom | 참 | 최신 | 다운로드하고 사용할 TypeScript의 버전입니다. 참고: 코드를 컴파일하는 데 사용되는 것과 동일한 버전의 TypeScript여야 합니다. |
|
| MicrosoftContribVersion | 선택 목록 | RuleLibrary == microsoft | 최신 | 4.0.0, 4.0.1, 5.0.0, 5.0.1, 최신 | 다운로드하고 사용할 tslint-microsoft-contrib(SDL 규칙) 버전입니다. 참고: tslint-microsoft-contrib에 대해 선택한 버전과 호환되는 tslint 버전이 선택됩니다. tslint-microsoft-contrib에 대한 업데이트는 테스트 기간이 발생할 수 있을 때까지 이 빌드 작업에 의해 제어됩니다. |
보안 분석 로그 게시 작업
| InputType | 유형 | 적용 가능 | 필수 | 기본값 | 옵션(picklist용) | 설명 |
|---|---|---|---|---|---|---|
| 아티팩트명 | 문자열 | 항상 | 참 | 코드 분석 로그 | 만들 아티팩트의 이름입니다. | |
| 아티팩트 유형 | 선택 목록 | 항상 | 참 | 컨테이너 | 컨테이너, 파일 경로 | 만들 아티팩트의 형식입니다. |
| 대상 경로 | string | ArtifactType = FilePath | 거짓 | \my\share$(Build.DefinitionName) $(Build.BuildNumber) |
복사한 파일을 저장할 파일 공유입니다. | |
| AllTools | 불리언 | 항상 | 참 | 참 | 모든 Secure Development Tools 빌드 작업에서 생성된 결과를 게시합니다. | |
| 안티멀웨어 | 부울 | AllTools = false | 참 | 참 | AntiMalware 빌드 작업으로 생성된 결과를 게시합니다. | |
| BinSkim | 불리언 | AllTools = false | 참 | 참 | BinSkim 빌드 작업으로 생성된 결과를 게시합니다. | |
| CredScan | 부울 값 | AllTools = false | 참 | 참 | Credential Scanner 빌드 작업으로 생성된 결과를 게시합니다. | |
| RoslynAnalyzers | Boolean | AllTools = false | 참 | 거짓 | Roslyn Analyzers 빌드 작업으로 생성된 결과를 게시합니다. | |
| TSLint | 부울 | AllTools = false | 참 | 참 | TSLint 빌드 작업으로 생성된 결과를 게시합니다. JSON 형식의 TSLint 로그만 보고서에 대해 지원됩니다. 다른 형식을 선택한 경우에는 TSLint 빌드 작업을 적절하게 업데이트하세요. | |
| 도구 로그 미발견 조치 | 선택 목록 | 항상 | 참 | 표준 | 오류, 없음, 표준, 경고 | 선택한 도구(AllTools를 선택한 경우 모든 도구)에 대한 로그를 찾을 수 없는 경우(도구가 실행되지 않음을 의미) 수행할 동작입니다. 옵션: None: 메시지가 VSTS 변수 system.debug를 true로 설정해야만 액세스할 수 있는 자세한 정보 출력 스트림에 기록됩니다. Standard:(기본값) 도구에 대한 로그를 찾을 수 없다는 표준 출력 메시지를 기록합니다. Warning: 도구에 대한 로그를 찾을 수 없다는 노란색 경고 메시지를 기록합니다. 이 메시지는 빌드 요약 페이지에 경고로 표시됩니다. Error: 빨간색 오류 메시지를 기록하고 예외를 던져 빌드를 중단시킵니다. 개별 도구 선택에서 어느 도구가 실행되었는지 확인하려면 이 옵션을 사용합니다. |
보안 보고서 작업
| InputType | 유형 | 적용 가능 | 필수 | 기본값 | 옵션(picklist용) | 설명 |
|---|---|---|---|---|---|---|
| VstsConsole | 불리언 | 항상 | 거짓 | 참 | 결과를 파이프라인 콘솔에 기록합니다. | |
| TSV 파일 | 부울 값 | 항상 | 거짓 | 참 | 검색된 결과가 각 줄에 하나씩 표시되고, 탭으로 결과에 대한 정보가 구분되는 tsv 파일(탭으로 구분된 값)을 생성합니다. | |
| HtmlFile | 불리언 | 항상 | 거짓 | 참 | html 보고서 파일을 생성합니다. | |
| AllTools | 불리언 | 항상 | 참 | 거짓 | 모든 Secure Development Tools 빌드 작업에서 생성된 결과를 보고합니다. | |
| BinSkim | 부울 값 | AllTools = false | 참 | 거짓 | BinSkim 빌드 작업으로 생성된 결과를 보고합니다. | |
| BinSkimBreakOn | 선택 목록 | AllTools = true 또는 BinSkim = true | 참 | 오류 | 오류, 경고 사항 | 보고할 결과의 수준입니다. |
| CredScan | 부울 | AllTools = false | 참 | 거짓 | Credential Scanner 빌드 작업으로 생성된 결과를 보고합니다. | |
| Roslyn분석기 | 불리언 | AllTools = false | 참 | 거짓 | Roslyn Analyzer 빌드 작업으로 생성된 결과를 보고합니다. | |
| RoslynAnalyzersBreakOn | 선택 목록 | AllTools = true OR RoslynAnalyzers = true | 참 | 오류 | 오류, 경고 사항 | 보고할 결과의 수준입니다. |
| TSLint | 불리언 | AllTools = false | 참 | 거짓 | TSLint 빌드 작업으로 생성된 결과를 보고합니다. JSON 형식의 TSLint 로그만 보고서에 대해 지원됩니다. 다른 형식을 선택한 경우에는 TSLint 빌드 작업을 적절하게 업데이트하세요. | |
| TSLintBreakOn | 선택 목록 | AllTools = true OR TSLint = true (모든 도구 설정이 참인지 또는 TSLint 설정이 참인지 확인) | 참 | 오류 | 오류, 경고 사항 | 보고할 결과의 수준입니다. |
| 도구 로그 미발견 조치 | 선택 목록 | 항상 | 참 | 표준 | Error, None, Standard, Warning | 선택한 도구(AllTools를 선택한 경우 모든 도구)에 대한 로그를 찾을 수 없는 경우(도구가 실행되지 않음을 의미) 수행할 동작입니다. 옵션: None: 메시지가 VSTS 변수 system.debug를 true로 설정해야만 액세스할 수 있는 자세한 정보 출력 스트림에 기록됩니다. Standard:(기본값) 도구에 대한 로그를 찾을 수 없다는 표준 출력 메시지를 기록합니다. Warning: 도구에 대한 로그를 찾을 수 없다는 노란색 경고 메시지를 기록합니다. 이 메시지는 빌드 요약 페이지에 경고로 표시됩니다. Error: 빨간색 오류 메시지를 기록하고 예외를 던져 빌드를 중단시킵니다. 개별 도구 선택에서 어느 도구가 실행되었는지 확인하려면 이 옵션을 사용합니다. |
| 사용자 로그 폴더 | 스트링 | 항상 | 거짓 | 분석 도구 로그가 있는 기본 폴더입니다. 개별 로그 파일은 이 경로 아래에 각 도구의 이름을 딴 하위 폴더에 배치됩니다. |
사후 분석 작업
| InputType | 유형 | 적용 가능 | 필수 | 기본값 | 옵션(picklist용) | 설명 |
|---|---|---|---|---|---|---|
| AllTools | 불리언 | 항상 | 참 | 거짓 | Microsoft Security Code Analysis 빌드 작업에서 문제가 발견되면 빌드를 중단합니다. | |
| BinSkim | 불리언 | AllTools = false | 참 | 거짓 | 선택한 중단 옵션에 따라 BinSkim 문제가 발견되면 빌드를 중단합니다. | |
| BinSkimBreakOn | 선택 목록 | AllTools = true 또는 BinSkim = true | 참 | 오류 | 오류, 경고 사항 | 빌드가 중단되는 수준의 문제입니다. |
| CredScan | 불리언 | AllTools = false | 참 | 거짓 | Credential Scanner 문제가 발견되면 빌드를 중단합니다. | |
| 로즐린 분석기 | 불리언 | AllTools = false | 참 | 거짓 | Roslyn Analyzers 문제가 발견되면 빌드를 중단합니다. | |
| RoslynAnalyzersBreakOn | 선택 목록 | AllTools = true OR RoslynAnalyzers = true | 참 | 오류 | 오류, 경고 사항 | 빌드가 중단되는 수준의 문제입니다. |
| TSLint | 부울 | AllTools = false | 참 | 거짓 | TSLint 문제가 발견되면 빌드를 중단합니다. JSON 형식의 TSLint 로그만 사후 분석에 대해 지원됩니다. 다른 형식을 선택한 경우에는 TSLint 빌드 작업을 적절하게 업데이트하세요. | |
| TSLintBreakOn | 선택 목록 | AllTools = true OR TSLint = true | 참 | 오류 | 오류, 경고 사항 | 빌드가 중단되는 수준의 문제입니다. |
| VstsConsole | boolean | 항상 | 거짓 | 참 | 결과를 파이프라인 콘솔에 기록합니다. | |
| 도구 로그 미발견 조치 | 선택 목록 | 항상 | 참 | 표준 | 오류, 없음, 표준, 경고 | 선택한 도구(AllTools를 선택한 경우 모든 도구)에 대한 로그를 찾을 수 없는 경우(도구가 실행되지 않음을 의미) 수행할 동작입니다. 옵션: None: 메시지가 VSTS 변수 system.debug를 true로 설정해야만 액세스할 수 있는 자세한 정보 출력 스트림에 기록됩니다. Standard:(기본값) 도구에 대한 로그를 찾을 수 없다는 표준 출력 메시지를 기록합니다. Warning: 도구에 대한 로그를 찾을 수 없다는 노란색 경고 메시지를 기록합니다. 이 메시지는 빌드 요약 페이지에 경고로 표시됩니다. Error: 빨간색 오류 메시지를 기록하고 예외를 던져 빌드를 중단시킵니다. 개별 도구 선택에서 어느 도구가 실행되었는지 확인하려면 이 옵션을 사용합니다. |
다음 단계
보안 코드 분석 확장 및 제공된 도구에 대한 추가 질문이 있는 경우 FAQ 페이지를 확인하세요.