Python detectors
Showing all detectors for the Python language.
Browse by tags
Browse all detectors by tags.
Browse by severity
Browse all detectors by severity.
Browse by category
Browse all detectors by category.
Browse all detectors
Privilege escalation happens when a malicious user gains elevated access to resources that should be unavailable to them.
Using the spawn
or forkserver
start method without importing the main module might lead to unexpected behavior (for example, it might cause a RuntimeError
).
An integer overflow might might cause security issues when it is used for resource management or execution control.
Swallowing exceptions, without re-throwing or logging them, is a bad practice.
In the case of a security-critical event, the product fails to either log the event or misses crucial details in the logged information.
Unauthenticated LDAP requests can allow untrusted access to LDAP servers.
Constructing path names with unsanitized user input can lead to path traversal attacks (for example, ../../..
) that allow an attacker access to file system resources.
Weak file permissions can lead to privilege escalation.
The product unintentionally grants unauthorized actors access to a resource by placing it in the wrong control sphere.
Writing unsanitized user data to a file is unsafe.
The Process.terminate
API might cause data corruption of shared resources.
Objects that parse or handle XML can lead to XML External Entity (XXE) attacks when misconfigured.
APIs with nondeterministic algorithm are used
To always return the subscription ARN, set the ReturnSubscriptionArn
argument to True
.
Non-deterministic ops might return different outputs when run with the same inputs.
Using outdated multiprocessing API calls and parameters is not recommended.
Improper input validation can enable attacks and lead to unwanted behavior.
Your code doesn't sufficiently authenticate identities provided by its users.
Missing pagination on a paginated call can lead to inaccurate results.
When you process and remove an item from the JoinableQueue
without calling JoinableQueue.task_done()
, a semaphore overflow exception might be thrown.
Insecure cookies can lead to unencrypted transmission of sensitive data.
APIs that are not recommended were found - Low Severity.
Not setting the connection timeout parameter can cause a blocking socket connection.
Recreating AWS clients in each Lambda function invocation is expensive.
Detects if a torch variable is modified in place inside an assignment.
Failure to end a child process that doesn't terminate before its timeout expires can result in leaked resources.
Checks if gradient calculation is disabled during evaluation.
Using the get
method from the dict
class without default values can cause runtime exceptions.
Potentially unsanitized user input in XPath queries can allow an attacker to control the query in unwanted or insecure ways.
Missing authorization checks can lead to unauthorized access to a resource or performance of an action.
list
replication using replication operator creates references to the existing objects, not copies, which could introduce bugs.
Use of untrusted inputs in a SQL database query can enable attackers to read, modify, or delete sensitive data in the database
Checks if eval() is called before validating or testing a model.
Always check for new version before fetching the latest version directly.
Lack of validation of a security certificate can lead to host impersonation and sensitive data leaks.
User-controlled input that specifies a link to an external site could lead to phishing attacks and allow user credentials to be stolen.
Calls to mutually exclusive methods were found in the code.
Best practices to improve the maintainability of notebooks.
Stack traces can be hard to use for debugging.
This code uses deprecated methods, which suggests that it has not been recently reviewed or maintained.
Api Logging Disabled may lead to unable to access log and does not record the event.
Constructing operating system or shell commands with unsanitized user input can lead to inadvertently running malicious code.
Logging unencrypted AWS credentials can expose them to an attacker.
Expanding unsanitized archive files taken as input can lead to zip bomb attacks.
Encryption that is dependent on conditional logic, such as an if...then
clause, might cause unencrypted sensitive data to be stored.
Synchronous publication of AWS Lambda metrics is inefficient.
Insufficiently restrictive file uploads can lead to inadvertently running malicious code.
Detects if Softmax is used with CrossEntropyLoss.
Connections that use insecure protocols transmit data in cleartext, which can leak sensitive information.
Failing to set the AuthenticateOnUnsubscribe
flag to True
when confirming an SNS subscription can lead to unauthenticated cancellations.
Binding the socket with an empty IP address can introduce security risks.
Cross-Origin Resource Sharing policies that are too permissive may lead to security vulnerabilities.
Insecure configuration can lead to a cross-site request forgery (CRSF) vulnerability.
Passing a parent process object in a child process can prevent its garbage collection.
Catching and re-throwing an exception without further actions is redundant and wasteful.
Weak algorithm used for Password Hashing. Consider using stronger algorithms, such as Argon2, PBKDF2, or scrypt.
Response metadata was not checked to verify that it is not None
.
Exposure of sensitive information can lead to an unauthorized actor having access to the information.
Client-side decryption followed by reencryption is inefficient and can lead to sensitive data leaks.
Overriding environment variables that are reserved by AWS Lambda might lead to unexpected behavior.
Passing an unsanitized user argument to a function call makes your code insecure.
Directly modifying the __dict__
object might cause undesirable behavior due to symbol table modification.
Inefficient regular expression patterns can lead to catastrophic backtracking.
Software system fails to properly track or release resources during its operation. This can lead to resource leaks.
Allocated resources are not released properly.
Detects if Softmax is explicitly computed.
The product transmits sensitive or security-critical data in cleartext in a communication channel that can be sniffed by unauthorized actors.
Public method parameters should be validated for nullness, unexpected values, and malicious values.
Improper error handling can enable attacks and lead to unwanted behavior.
Using naive datetime objects might cause time zone related issues.
Not setting seeds for the random number generators in Pytorch can lead to reproducibility issues.
Improper multiprocessing API usage with wrong parameters might lead to deadlocks.
Classes with low class cohesion contain unrelated operations which make them difficult to understand and less likely to be used.
Improper filtering of Amazon Machine Images (AMIs) can result in loading an untrusted image, a potential security vulnerability.
Notebook has uninitialized variable usage given the execution order
Confusion between equality ==
, !=
and identity is
in conditional expressions can lead to unintended behavior.
The computation of the bceloss using sigmoid values as inputs can be replaced by a single BCEWithLogitsLoss which is numerically more stable.
Using DataLoader with num_workers
greater than 0
can cause increased memory consumption over time when iterating over native Python objects such as list
or dict
.
Checks if Softmax
is used with NLLLoss
function.
Zero out the gradients before doing a backward pass
Sequence modification while iterating over it might cause unexpected bugs.
Sensitive or critical information is not encrypted before storage or transmission in the product.
Throwing a base or generic exception might cause important error information to be lost. This can make your code difficult to maintain.
The product relies on default credentials(including passwords and cryptographic keys) for potentially vital functions.
A variable is re-defined in multiple cells with different types.
Do not pass generic exception.
APIs that are not recommended were found - High Severity.
Weak, broken, or misconfigured cryptography can lead to security vulnerabilities.
An unencrypted bucket could lead to sensitive data exposure.
Relying on potentially untrusted user inputs when constructing web application outputs can lead to cross-site scripting vulnerabilities.
Default values in Python are created exactly once, when the function is defined. If that object is changed, subsequent calls to the function will refer to the changed object, leading to confusion.
The software does not restrict or incorrectly restrict access to a resource from an unauthorized actor.
Violating PEP8 programming recommendations might make code difficult to read and can introduce ambiguity.
Insecure ways of creating temporary files and directories can lead to race conditions, privilege escalation, and other security vulnerabilities.
Complex code can be difficult to read and hard to maintain.
Using an AWS KMS key helps follow the standard security advice of granting least privilege to objects generated by the project.
APIs that are not recommended were found.
The Debug feature should not be enabled or overridden.
Deserialization of untrusted objects can lead to security vulnerabilities such as inadvertently running remote code.
Incorrect use of API leads to ambiguity and inconsistency
Detects if nondeterministic tensorflow APIs are used.
Inefficient string concatenation inside loops results in new object creation which adds quadratic runtime cost.
Unsanitized wildcards or special matching symbols in user-provided strings can enable attacks and lead to unwanted behavior.
Obsolete, broken, or weak hashing algorithms can lead to security vulnerabilities.
Using AutoAddPolicy
or WarningPolicy
can allow a malicious server to impersonate a trusted server.
Using untrusted inputs in a log statement can enable attackers to break the log's format, forge log entries, and bypass log monitors.
Weak obfuscation while configuring a web request.
The os.close()
does not work on some platforms.
Scripts generated from unsanitized inputs can lead to malicious behavior and inadvertently running code remotely.
Not checking which items have failed can lead to loss of data.
Custom polling can be inefficient and prone to error. Consider using AWS waiters instead.
Binding to all network interfaces can open a service up to traffic on interfaces that are not properly documented or secured.
Hardcoding an IP address can cause security problems.
Credentials, such as passwords and access keys, should not be hardcoded in source code.
Insufficient sanitization of potentially untrusted URLs on the server side can allow server requests to unwanted destinations.
Untrusted user imports in the importlib.import_module()
function allow attacks.
Iteration when only one item is needed from a list is inefficient.
Detects if a random seed is set before random number generation.
Missing authentication checks can lead to unauthorized access to a resource or performance of an action.
APIs that are not recommended were found - Medium Severity.
Pickling issues on Cloudpickle Load.
Incorrect binding of SNS publish operations with the subscribe
or create_topic
operations might lead to latency issues.
Creating PyTorch tensors on the CPU and then moving them to the device is inefficient.
The constructors for the hashlib
module are faster than new()
Global variables can be dangerous and cause bugs because they can be simultaneously accessed from multiple sections of a program.
Methods that return multiple values can be difficult to read and prone to error.
LDAP queries that rely on potentially untrusted inputs can allow attackers to read or modify sensitive data, run code, and perform other unwanted actions.
Credentials that are stored in clear text can be intercepted by a malicious actor.
Not setting the S3 bucket owner condition might introduce a risk of accidentally using a wrong bucket.
The AWS resource is missing appropriate encryption.