← Scan another repo

github.com/dgtlmoon/changedetection.io

@ ebbdef78fb24

Submitted 8/4/2026, 5:55:37 AM · Status: ok

Risk grade
F
100 / 100
Findings
73
0 critical10 high55 medium6 low2 info0 on CISA KEV0ATT&CK
Showing 73 of 73 findings

Findings

  • Detected generic-api-key: Detected a Generic API Key, potentially exposing access to various services and sensitive operations
    Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
    gitleaks
  • Detected generic-api-key: Detected a Generic API Key, potentially exposing access to various services and sensitive operations
    Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
    gitleaks
  • Detected generic-api-key: Detected a Generic API Key, potentially exposing access to various services and sensitive operations
    Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
    gitleaks
  • Detected generic-api-key: Detected a Generic API Key, potentially exposing access to various services and sensitive operations
    Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
    gitleaks
  • Detected generic-api-key: Detected a Generic API Key, potentially exposing access to various services and sensitive operations
    Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
    gitleaks
  • cryptography Vulnerable to a Subgroup Attack Due to Missing Subgroup Validation for SECT Curves
    grypeCVE-2026-26007EPSS 0.3%
  • Vulnerable OpenSSL included in cryptography wheels
    grype
  • cryptography: cryptography Subgroup Attack Due to Missing Subgroup Validation for SECT Curves
    cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Prior to 46.0.5, the public_key_from_numbers (or EllipticCurvePublicNumbers.public_key()), EllipticCurvePublicNumbers.public_key(), load_der_public_key() and load_pem_public_ke…
    trivyCVE-2026-26007
  • Image user should not be 'root'
    Running containers with 'root' user can lead to a container escape situation. It is a best practice to run containers as non-root users, which can be done by adding a 'USER' statement to the Dockerfile.
    trivyDockerfile:0
  • Vulnerable OpenSSL included in cryptography wheels
    pyca/cryptography's wheels include a statically linked copy of OpenSSL. The versions of OpenSSL included in wheels prior to cryptograph 48.01 are vulnerable to a security issue. More details about the vulnerability itself can be found in https://openssl-library.org/news/secadv/20…
    trivy
  • Base64 High Entropy String
    Base64 High Entropy String on 0b248df4f7fb1d149a86a77719da464a503a10eb
    checkovdocs/api-spec.yaml:2128
  • Base64 High Entropy String
    Base64 High Entropy String on 4a9e660f6244b7d36b5f9b79c83d359fb0f3c894
    checkovdocs/api-spec.yaml:2049
  • Base64 High Entropy String
    Base64 High Entropy String on d84d9e2f6f0ca6081589d8b733f07bd559c18a21
    checkovdocs/api-spec.yaml:1958
  • Base64 High Entropy String
    Base64 High Entropy String on 420d8571de684775181bb0300924753cf5514be1
    checkovdocs/api-spec.yaml:1785
  • Base64 High Entropy String
    Base64 High Entropy String on d98fc25df223cd31a452b514356ae6ffdbbf4c44
    checkovdocs/api-spec.yaml:1608
  • Base64 High Entropy String
    Base64 High Entropy String on 4cd1606014d1402e89019ab12d4215a1569b4e54
    checkovdocs/api-spec.yaml:1561
  • Base64 High Entropy String
    Base64 High Entropy String on 2a8e578d517d582576ab3d38ecd7110100d07232
    checkovdocs/api-spec.yaml:901
  • Base64 High Entropy String
    Base64 High Entropy String on 2a8e578d517d582576ab3d38ecd7110100d07232
    checkovchangedetectionio/processors/restock_diff/api.yaml:69
  • Ensure that a user for the container has been created
    Ensure that a user for the container has been created on /Dockerfile.
    checkovDockerfile:1
  • Ensure that arrays have a maximum number of items
    Ensure that arrays have a maximum number of items on paths
    checkovdocs/api-spec.yaml:305
  • Ensure that HEALTHCHECK instructions have been added to container images
    Ensure that HEALTHCHECK instructions have been added to container images on /Dockerfile.
    checkovDockerfile:1
  • Ensure that security operations is not empty.
    Ensure that security operations is not empty. on security
    checkovdocs/api-spec.yaml:1
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(Publish Python 🐍distribution 📦 to PyPI and TestPyPI)
    checkov.github/workflows/pypi-release.yml:91
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(Build and push containers)
    checkov.github/workflows/containers.yml:0
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(CodeQL)
    checkov.github/workflows/codeql-analysis.yml:0
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(ChangeDetection.io App Test)
    checkov.github/workflows/test-stack-reusable-workflow.yml:0
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(ChangeDetection.io App Test)
    checkov.github/workflows/test-only.yml:0
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(ChangeDetection.io Container Build Test)
    checkov.github/workflows/test-container-build.yml:0
  • cryptography has incomplete DNS name constraint enforcement on peer names
    ## Summary In versions of cryptography prior to 46.0.5, DNS name constraints were only validated against SANs within child certificates, and not the "peer name" presented during each validation. Consequently, cryptography would allow a peer named `bar.example.com` to validate ag…
    osv-scannerCVE-2026-34073
  • cryptography Vulnerable to a Subgroup Attack Due to Missing Subgroup Validation for SECT Curves
    ## Vulnerability Summary The `public_key_from_numbers` (or `EllipticCurvePublicNumbers.public_key()`), `EllipticCurvePublicNumbers.public_key()`, `load_der_public_key()` and `load_pem_public_key()` functions do not verify that the point belongs to the expected prime-order subgro…
    osv-scannerCVE-2026-26007
  • Jinja has a sandbox breakout through indirect reference to format method
    An oversight in how the Jinja sandboxed environment detects calls to `str.format` allows an attacker that controls the content of a template to execute arbitrary Python code. To exploit the vulnerability, an attacker needs to control the content of a template. Whether that is th…
    osv-scannerCVE-2024-56326
  • Jinja has a sandbox breakout through indirect reference to format method
    An oversight in how the Jinja sandboxed environment detects calls to `str.format` allows an attacker that controls the content of a template to execute arbitrary Python code. To exploit the vulnerability, an attacker needs to control the content of a template. Whether that is th…
    osv-scannerCVE-2024-56326
  • Jinja has a sandbox breakout through malicious filenames
    A bug in the Jinja compiler allows an attacker that controls both the content and filename of a template to execute arbitrary Python code, regardless of if Jinja's sandbox is used. To exploit the vulnerability, an attacker needs to control both the filename and the contents of a…
    osv-scannerCVE-2024-56201
  • Jinja has a sandbox breakout through malicious filenames
    A bug in the Jinja compiler allows an attacker that controls both the content and filename of a template to execute arbitrary Python code, regardless of if Jinja's sandbox is used. To exploit the vulnerability, an attacker needs to control both the filename and the contents of a…
    osv-scannerCVE-2024-56201
  • Jinja vulnerable to HTML attribute injection when passing user input as keys to xmlattr filter
    The `xmlattr` filter in affected versions of Jinja accepts keys containing spaces. XML/HTML attributes cannot contain spaces, as each would then be interpreted as a separate attribute. If an application accepts keys (as opposed to only values) as user input, and renders these in …
    osv-scannerCVE-2024-22195
  • Jinja vulnerable to HTML attribute injection when passing user input as keys to xmlattr filter
    The `xmlattr` filter in affected versions of Jinja accepts keys containing non-attribute characters. XML/HTML attributes cannot contain spaces, `/`, `>`, or `=`, as each would then be interpreted as starting a separate attribute. If an application accepts keys (as opposed to only…
    osv-scannerCVE-2024-34064
  • Jinja vulnerable to HTML attribute injection when passing user input as keys to xmlattr filter
    The `xmlattr` filter in affected versions of Jinja accepts keys containing spaces. XML/HTML attributes cannot contain spaces, as each would then be interpreted as a separate attribute. If an application accepts keys (as opposed to only values) as user input, and renders these in …
    osv-scannerCVE-2024-22195
  • Jinja vulnerable to HTML attribute injection when passing user input as keys to xmlattr filter
    The `xmlattr` filter in affected versions of Jinja accepts keys containing non-attribute characters. XML/HTML attributes cannot contain spaces, `/`, `>`, or `=`, as each would then be interpreted as starting a separate attribute. If an application accepts keys (as opposed to only…
    osv-scannerCVE-2024-34064
  • Jinja2 vulnerable to sandbox breakout through attr filter selecting format method
    An oversight in how the Jinja sandboxed environment interacts with the `|attr` filter allows an attacker that controls the content of a template to execute arbitrary Python code. To exploit the vulnerability, an attacker needs to control the content of a template. Whether that i…
    osv-scannerCVE-2025-27516
  • Jinja2 vulnerable to sandbox breakout through attr filter selecting format method
    An oversight in how the Jinja sandboxed environment interacts with the `|attr` filter allows an attacker that controls the content of a template to execute arbitrary Python code. To exploit the vulnerability, an attacker needs to control the content of a template. Whether that i…
    osv-scannerCVE-2025-27516
  • orjson does not limit recursion for deeply nested JSON documents
    The orjson.dumps function in orjson before 3.11.6 does not limit recursion for deeply nested JSON documents.
    osv-scannerCVE-2025-67221
  • PYSEC-2026-107
    The orjson.dumps function in orjson thru 3.11.4 does not limit recursion for deeply nested JSON documents.
    osv-scannerCVE-2025-67221
  • PYSEC-2026-2141
    cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Prior to 46.0.5, the public_key_from_numbers (or EllipticCurvePublicNumbers.public_key()), EllipticCurvePublicNumbers.public_key(), load_der_public_key() and load_pem_public_ke…
    osv-scannerCVE-2026-26007
  • PYSEC-2026-35
    cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Prior to version 46.0.6, DNS name constraints were only validated against SANs within child certificates, and not the "peer name" presented during each validation. Consequently…
    osv-scannerCVE-2026-34073
  • pytest has vulnerable tmpdir handling
    pytest through 9.0.2 on UNIX relies on directories with the `/tmp/pytest-of-{user}` name pattern, which allows local users to cause a denial of service or possibly gain privileges.
    osv-scannerCVE-2025-71176
  • pytest has vulnerable tmpdir handling
    pytest through 9.0.2 on UNIX relies on directories with the `/tmp/pytest-of-{user}` name pattern, which allows local users to cause a denial of service or possibly gain privileges.
    osv-scannerCVE-2025-71176
  • Vulnerable OpenSSL included in cryptography wheels
    pyca/cryptography's wheels include a statically linked copy of OpenSSL. The versions of OpenSSL included in wheels prior to cryptograph 48.01 are vulnerable to a security issue. More details about the vulnerability itself can be found in https://openssl-library.org/news/secadv/20…
    osv-scanner
  • hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    semgrepchangedetectionio/model/Watch.py:1023
  • hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    semgrepchangedetectionio/content_fetchers/requests.py:199
  • hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    semgrepchangedetectionio/blueprint/browser_steps/__init__.py:425
  • hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    semgrepchangedetectionio/processors/text_json_diff/processor.py:130
  • hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    semgrepchangedetectionio/processors/restock_diff/processor.py:612
  • hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    semgrepchangedetectionio/processors/restock_diff/plugins/llm_restock.py:284
  • hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    semgrepchangedetectionio/processors/image_ssim_diff/processor.py:233
  • hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    semgrepchangedetectionio/processors/image_ssim_diff/processor.py:154
  • hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    semgrepchangedetectionio/processors/image_ssim_diff/processor.py:52
  • hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    semgrepchangedetectionio/processors/base.py:393
  • hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    semgrepchangedetectionio/processors/base.py:385
  • hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    semgrepchangedetectionio/processors/__init__.py:368
  • hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    semgrepchangedetectionio/llm/evaluator.py:556
  • hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    semgrepchangedetectionio/processors/text_json_diff/processor.py:413
  • hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    semgrepchangedetectionio/processors/text_json_diff/processor.py:315
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgrepchangedetectionio/translations/README.md:97
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgrepchangedetectionio/templates/base.html:37
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgrepchangedetectionio/templates/_common_fields.html:203

This report is public.