Always explicitly set secure permissions on temporary files immediately after creation. This includes granting read and write access only to the owner, and disabling execute permissions unless explicitly required. For example, use tempFile.setReadable(true, true), tempFile.setWritable(true, true), and tempFile.setExecutable(false) to restrict access appropriately.
Avoid relying on default file permissions or omitting permission settings altogether, as this can lead to overly permissive access. By following these best practices, you minimize security risks associated with temporary files in your Java applications.
Non-Compliant Code Examples
importjava.io.File;importjava.io.IOException;publicclassSecureTempFileWithPermissionsExample{publicstaticvoidmain(String[]args)throwsIOException{FiletempFile=File.createTempFile("secure_tempfile_",".tmp");tempFile.setReadable(true,true);tempFile.deleteOnExit();System.out.println("Temporary file created with secure permissions at: "+tempFile.getAbsolutePath());}}
importjava.io.File;importjava.io.IOException;publicclassSecureTempFileExample{publicstaticvoidmain(String[]args)throwsIOException{FiletempFile=File.createTempFile("tempfile_",".tmp");tempFile.deleteOnExit();System.out.println("Temporary file created at: "+tempFile.getAbsolutePath());}}
Compliant Code Examples
importjava.io.File;importjava.io.IOException;publicclassSecureTempFileWithPermissionsExample{publicstaticvoidmain(String[]args)throwsIOException{FiletempFile=File.createTempFile("secure_tempfile_",".tmp");tempFile.setReadable(true,true);tempFile.setWritable(true,true);tempFile.setExecutable(false);tempFile.deleteOnExit();System.out.println("Temporary file created with secure permissions at: "+tempFile.getAbsolutePath());}}
원활한 통합. Datadog Code Security를 경험해 보세요
Datadog Code Security
이 규칙을 사용해 Datadog Code Security로 코드를 분석하세요
규칙 사용 방법
1
2
rulesets:- java-security # Rules to enforce Java security.
리포지토리 루트에 위의 내용을 포함하는 static-analysis.datadog.yml을 만듭니다
무료 IDE 플러그인을 사용하거나 CI 파이프라인에 Code Security 검사를 추가합니다