Never create a temporary file with a hardcoded path. Hardcoded paths may have write permissions for all users, enabling multiple types of attacks (for example, another application can also modify the temporary file and its content and potentially write executable code).
Always make sure temporary files are non deterministic and created programmatically.
classMyClass{publicstaticvoidpayloadDecode(){// Create the temporary file stream by getting programmatically a temporary path and filenamevartemporaryPath=Path.Combine(Path.GetTempPath(),Path.GetRandomFileName());// make sure you can create the file with write accessusingvartemporaryFileStream=newFileStream(randomPath,FileMode.CreateNew,FileAccess.Write,FileShare.None,4096,FileOptions.DeleteOnClose);using(varstreamWriter=newStreamWriter(temporaryFileStream)){streamWriter.WriteLine("foobar");}}}
원활한 통합. Datadog Code Security를 경험해 보세요
Datadog Code Security
이 규칙을 사용해 Datadog Code Security로 코드를 분석하세요
규칙 사용 방법
1
2
rulesets:- csharp-security # Rules to enforce C# security.
리포지토리 루트에 위의 내용을 포함하는 static-analysis.datadog.yml을 만듭니다
무료 IDE 플러그인을 사용하거나 CI 파이프라인에 Code Security 검사를 추가합니다