include::../common/rationale.adoc[] == Why is this an issue? include::../common/description.adoc[] === What is the potential impact? include::../common/impact.adoc[] == How to fix it === Code examples include::../common/fix/code-rationale.adoc[] ==== Noncompliant code example [source,python,diff-id=1,diff-type=noncompliant] ---- import tempfile filename = tempfile.mktemp() # Noncompliant tmp_file = open(filename, "w+") ---- ==== Compliant solution [source,python,diff-id=1,diff-type=compliant] ---- import tempfile tmp_file1 = tempfile.NamedTemporaryFile(delete=False) tmp_file2 = tempfile.NamedTemporaryFile() ---- === How does this work? include::../common/fix/introduction.adoc[] include::../common/fix/secure-api.adoc[] Here, the example compliant code uses the more secure `tempfile.NamedTemporaryFile` function to handle the temporary file creation. include::../common/fix/manual-setup.adoc[] //=== Pitfalls //=== Going the extra mile == Resources include::../common/resources/documentation.adoc[] * https://docs.python.org/3/library/tempfile.html#deprecated-functions-and-variables[Python documentation] - tempfile //=== Articles & blog posts //=== Conference presentations include::../common/resources/standards.adoc[] //=== Benchmarks ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message '{module.method}' is insecure. Use 'tempfile.TemporaryFile' instead ''' == Comments And Links (visible only on this page) include::../comments-and-links.adoc[] endif::env-github,rspecator-view[]