The rule of avoiding hardcoded temp files is crucial in Ruby development to ensure the security and integrity of your code. Hardcoded temp files can expose your application to several potential risks such as unauthorized file access, data corruption, or even data loss.
This is particularly important in a multi-user environment where multiple processes might try to read or write to the same file, leading to race conditions. Hardcoding temp files also disregard the system’s temp directory, which could be problematic if the system lacks the necessary permissions or space in the specified location.
To avoid this, use Ruby’s Tempfile class or Dir.mktmpdir method which automatically handle the creation and cleanup of temporary files/directories in a safe manner. For instance, instead of File.write("/tmp/myfile.txt", "foobar"), you can use Tempfile.create to create a temporary file. This ensures your application is more secure, reliable, and portable across different operating systems.
Non-Compliant Code Examples
File.write("/tmp/myfile.txt","foobar")
원활한 통합. Datadog Code Security를 경험해 보세요
Datadog Code Security
이 규칙을 사용해 Datadog Code Security로 코드를 분석하세요
규칙 사용 방법
1
2
rulesets:- ruby-security # Rules to enforce Ruby security.
리포지토리 루트에 위의 내용을 포함하는 static-analysis.datadog.yml을 만듭니다
무료 IDE 플러그인을 사용하거나 CI 파이프라인에 Code Security 검사를 추가합니다