importosdirectory="/tmp"# Use of unsanitized data to execute a processos.system("/bin/ls")os.system("/bin/ls "+directory)os.system(f'mv {saved_file_path}{public_upload_file_path}')deffile_upload_api(request,app):file=request.files['file']ifnot_validate_file(file.filename):return{'message':'Invalid file extension','allowed_ext':ALLOWED_EXTENSIONS,'filename':file.filename},422saved_file_result=_save_temp_file(file,app)saved_file_path=saved_file_result['saved_path']file_name=Path(saved_file_path).namepublic_upload_file_path=os.path.join(app.config['PUBLIC_UPLOAD_FOLDER'],file_name)os.system(f'mv {saved_file_path}{public_upload_file_path}')returnrender_template('file_upload.html',file_url=f'{get_uploads_folder_url()}/{file_name}')
Compliant Code Examples
importosimportshlex# Use of shlex() to sanitize dataos.system(shlex.escape("/bin/ls"))
원활한 통합. Datadog Code Security를 경험해 보세요
Datadog Code Security
이 규칙을 사용해 Datadog Code Security로 코드를 분석하세요
규칙 사용 방법
1
2
rulesets:- python-security # Rules to enforce Python security.
리포지토리 루트에 위의 내용을 포함하는 static-analysis.datadog.yml을 만듭니다
무료 IDE 플러그인을 사용하거나 CI 파이프라인에 Code Security 검사를 추가합니다