Improper validation of input data, leading to potential data leaks. The path should be checked and validated before opening a file in order to prevent opening random files and leaking data.
defdownload_file1(request):url=request.GET.get("filename")print(f"url of the file: {url}")file=open(url,"rb")withopen(url)asf:passpassdefdownload_file2(request):url=request.POST.get("filename")print(f"url of the file: {url}")file=open(url,"rb")withopen(url)asf:passpassdefdownload_file3(request):url=request.BLA.get("filename")print(f"url of the file: {url}")file=open(url,"rb")withopen(url)asf:passpass
Compliant Code Examples
importosdefdownload_file(request):url=request.GET.get("filename")if".."inurl:returnsanitized_path=os.path.realpath(url,strict=True)print(f"url of the file: {url}")file=open(sanitized_path,"rb")withopen(sanitized_path)asf:passpass
원활한 통합. Datadog Code Security를 경험해 보세요
Datadog Code Security
이 규칙을 사용해 Datadog Code Security로 코드를 분석하세요
규칙 사용 방법
1
2
rulesets:- python-django # Rules to enforce Python django.
리포지토리 루트에 위의 내용을 포함하는 static-analysis.datadog.yml을 만듭니다
무료 IDE 플러그인을 사용하거나 CI 파이프라인에 Code Security 검사를 추가합니다