Scan report
epicserve / django-base-site
Could an attacker exploit mistakes in this code?
Serious issues. Review the high-severity findings before using it.
- High
- 3
- Medium
- 28
- Low
- 64
Sources: Bandit, Semgrep, pip-audit
Does this code look like it is trying to cause harm?
Real issues worth reviewing before you rely on this code.
- High
- 3
- Medium
- 19
- Low
- 11
Sources: YARA, ClamAV, GuardDog, dependency checker
- Likely real
- 106
- Uncertain
- 0
- Likely noise
- 22
The risk classifier rates every finding for how likely it is to be a real issue. Likely noise still counts, just much less.
What we found, in plain English
This repository shows two distinct levels of security issues that need immediate attention before it can be used in production. The most critical finding is a high vulnerability risk score of 160, which indicates the code contains dangerous patterns like running command outputs directly into shells and missing CSRF protection, making it highly exploitable by attackers. While there are also medium-level concerns about potential malicious intent, these appear to stem from common insecure coding practices rather than intentional attacks. The developer should prioritize fixing the high-risk issues first, such as securing shell commands and enabling HTML autoescaping, before considering the repository safe for use.
Written by a local language model from the findings below. The risk scores come from the classifier, not from this summary.
Detections by engine
Score over time
Overall score each time this repository was scanned.
Findings
Highest severity first. Select a finding to see the code and what it means.
-
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /.github/workflows/ci.yml line 24
- Likely real
- Yes, 99% confidence
A `run:` step pipes the output of `curl` or `wget` directly into a shell interpreter. This is the "curl | bash" install pattern — if the remote server is compromised or the URL is hijacked, an attacker can execute arbitrary code in your CI runner. Consider downloading the file first, verifying its checksum or signature, and then executing it.
run: curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to /usr/local/bin -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /.github/workflows/ci.yml line 72
- Likely real
- Yes, 99% confidence
A `run:` step pipes the output of `curl` or `wget` directly into a shell interpreter. This is the "curl | bash" install pattern — if the remote server is compromised or the URL is hijacked, an attacker can execute arbitrary code in your CI runner. Consider downloading the file first, verifying its checksum or signature, and then executing it.
run: curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to /usr/local/bin -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /.github/workflows/ci.yml line 141
- Likely real
- Yes, 99% confidence
A `run:` step pipes the output of `curl` or `wget` directly into a shell interpreter. This is the "curl | bash" install pattern — if the remote server is compromised or the URL is hijacked, an attacker can execute arbitrary code in your CI runner. Consider downloading the file first, verifying its checksum or signature, and then executing it.
run: curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to /usr/local/bin -
- Engine
- YARA · Malware signature rules
- Counts towards
- Malicious pattern
- File
- /.github/workflows/ci.yml
- Likely real
- Probably noise, 1% confidence
YARA rule matched: detect_download_and_execute — Downloads a remote resource AND executes it - the actually dangerous combination, not just downloading alone
-
- Engine
- YARA · Malware signature rules
- Counts towards
- Malicious pattern
- File
- /config/bash/django_bash_completion
- Likely real
- Probably noise, 0% confidence
YARA rule matched: detect_persistence_mechanism — Modifies a startup/scheduling location - legitimate application code essentially never does this
-
- Engine
- YARA · Malware signature rules
- Counts towards
- Malicious pattern
- File
- /config/docker/Dockerfile.web
- Likely real
- Probably noise, 0% confidence
YARA rule matched: detect_persistence_mechanism — Modifies a startup/scheduling location - legitimate application code essentially never does this
-
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/base/templatetags/accounts.py line 21
- Likely real
- Yes, 100% confidence
'mark_safe()' is used to mark a string as "safe" for HTML output. This disables escaping and could therefore subject the content to XSS attacks. Use 'django.utils.html.format_html()' to build HTML for rendering instead.
return mark_safe(json.dumps(data)) # noqa: S308 -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/base/templatetags/accounts.py line 42
- Likely real
- Yes, 100% confidence
'mark_safe()' is used to mark a string as "safe" for HTML output. This disables escaping and could therefore subject the content to XSS attacks. Use 'django.utils.html.format_html()' to build HTML for rendering instead.
return mark_safe(json.dumps(data)) # noqa: S308 -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/base/templatetags/vite.py line 55
- Likely real
- Yes, 100% confidence
'mark_safe()' is used to mark a string as "safe" for HTML output. This disables escaping and could therefore subject the content to XSS attacks. Use 'django.utils.html.format_html()' to build HTML for rendering instead.
return mark_safe(f'<link rel="stylesheet" href="{_get_asset_base_url()}{filename}">') # noqa: S308 -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/base/templatetags/vite.py line 59
- Likely real
- Yes, 100% confidence
'mark_safe()' is used to mark a string as "safe" for HTML output. This disables escaping and could therefore subject the content to XSS attacks. Use 'django.utils.html.format_html()' to build HTML for rendering instead.
return mark_safe(f'<script type="module" src="{_get_asset_base_url()}{filename}"></script>') # noqa: S308 -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /.github/dependabot.yml line 16
- Likely real
- Yes, 99% confidence
This Dependabot configuration does not set a cooldown period. Newly published packages can be malicious or unstable. Add a `cooldown` block with `default-days: 7` to each `package-ecosystem` entry under `updates` to wait 7 days before proposing updates to newly published package versions. Reference: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#cooldown
- package-ecosystem: "uv" directory: "/" schedule: interval: "weekly" day: "saturday" time: "11:00" # 11 AM UTC / 5 AM CST open-pull-requests-limit: 10 groups: uv-dependencies: patterns: - "*" -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /.github/dependabot.yml line 9
- Likely real
- Yes, 99% confidence
This Dependabot configuration does not set a cooldown period. Newly published packages can be malicious or unstable. Add a `cooldown` block with `default-days: 7` to each `package-ecosystem` entry under `updates` to wait 7 days before proposing updates to newly published package versions. Reference: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#cooldown
- package-ecosystem: "docker" directory: "/config/docker/" schedule: interval: "weekly" day: "saturday" time: "11:00" # 11 AM UTC / 5 AM CST -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /.github/dependabot.yml line 28
- Likely real
- Yes, 99% confidence
This Dependabot configuration does not set a cooldown period. Newly published packages can be malicious or unstable. Add a `cooldown` block with `default-days: 7` to each `package-ecosystem` entry under `updates` to wait 7 days before proposing updates to newly published package versions. Reference: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#cooldown
- package-ecosystem: "bun" directory: "/" schedule: interval: "weekly" day: "saturday" time: "11:00" # 11 AM UTC / 5 AM CST groups: production-dependencies: dependency-type: "production" development-dependencies: dependency-type: "development" -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /.github/dependabot.yml line 40
- Likely real
- Yes, 99% confidence
This Dependabot configuration does not set a cooldown period. Newly published packages can be malicious or unstable. Add a `cooldown` block with `default-days: 7` to each `package-ecosystem` entry under `updates` to wait 7 days before proposing updates to newly published package versions. Reference: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#cooldown
- package-ecosystem: "github-actions" directory: "/" schedule: interval: weekly day: "saturday" time: "11:00" # 11 AM UTC / 5 AM CST -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/base/ninja_pagination.py line 75
- Likely real
- Yes, 99% confidence
Detected Flask route directly returning a formatted string. This is subject to cross-site scripting if user input can reach the string. Consider using the template engine instead and rendering pages with 'render_template()'.
return f"{request.build_absolute_uri(request.path)}?{urlencode(params, doseq=True)}" -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /apps/base/templatetags/accounts.py line 21
- Likely real
- Yes, 98% confidence
Potential XSS on mark_safe function.
20 } 21 return mark_safe(json.dumps(data)) # noqa: S308 22 -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /apps/base/templatetags/accounts.py line 42
- Likely real
- Yes, 98% confidence
Potential XSS on mark_safe function.
41 data["organizations"] = user_orgs 42 return mark_safe(json.dumps(data)) # noqa: S308 43 -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /apps/base/templatetags/vite.py line 55
- Likely real
- Yes, 98% confidence
Potential XSS on mark_safe function.
54 def _get_css_link(filename: str) -> str: 55 return mark_safe(f'<link rel="stylesheet" href="{_get_asset_base_url()}{filename}">') # noqa: S308 56 -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /apps/base/templatetags/vite.py line 59
- Likely real
- Yes, 98% confidence
Potential XSS on mark_safe function.
58 def _get_script_tag(filename: str) -> str: 59 return mark_safe(f'<script type="module" src="{_get_asset_base_url()}{filename}"></script>') # noqa: S308 60 -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /apps/base/templatetags/accounts.py line 21
- Likely real
- Yes, 98% confidence
Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
20 } 21 return mark_safe(json.dumps(data)) # noqa: S308 22 -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /apps/base/templatetags/accounts.py line 42
- Likely real
- Yes, 98% confidence
Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
41 data["organizations"] = user_orgs 42 return mark_safe(json.dumps(data)) # noqa: S308 43 -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /apps/base/templatetags/vite.py line 55
- Likely real
- Yes, 98% confidence
Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
54 def _get_css_link(filename: str) -> str: 55 return mark_safe(f'<link rel="stylesheet" href="{_get_asset_base_url()}{filename}">') # noqa: S308 56 -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /apps/base/templatetags/vite.py line 59
- Likely real
- Yes, 98% confidence
Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
58 def _get_script_tag(filename: str) -> str: 59 return mark_safe(f'<script type="module" src="{_get_asset_base_url()}{filename}"></script>') # noqa: S308 60 -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/unknown_account_message.html line 18
- Likely real
- Yes, 98% confidence
Detected a template block where autoescaping is explicitly disabled with '{% autoescape off %}'. This allows rendering of raw HTML in this segment. Turn autoescaping on to prevent cross-site scripting (XSS). If you must do this, consider instead, using `mark_safe` in Python code.
{% autoescape off %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_reset_key_message.html line 18
- Likely real
- Yes, 98% confidence
Detected a template block where autoescaping is explicitly disabled with '{% autoescape off %}'. This allows rendering of raw HTML in this segment. Turn autoescaping on to prevent cross-site scripting (XSS). If you must do this, consider instead, using `mark_safe` in Python code.
{% autoescape off %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/email_confirmation_message.html line 19
- Likely real
- Yes, 98% confidence
Detected a template block where autoescaping is explicitly disabled with '{% autoescape off %}'. This allows rendering of raw HTML in this segment. Turn autoescaping on to prevent cross-site scripting (XSS). If you must do this, consider instead, using `mark_safe` in Python code.
{% autoescape off %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/account_already_exists_message.html line 18
- Likely real
- Yes, 98% confidence
Detected a template block where autoescaping is explicitly disabled with '{% autoescape off %}'. This allows rendering of raw HTML in this segment. Turn autoescaping on to prevent cross-site scripting (XSS). If you must do this, consider instead, using `mark_safe` in Python code.
{% autoescape off %} -
- Engine
- GuardDog · Supply-chain attack heuristics
- Counts towards
- Malicious pattern
- File
- /config/settings/_base.py line 26
- Likely real
- Yes, 96% confidence
Detects access to sensitive files (credentials, configs, keys) [threat-filesystem-read]
if READ_DOT_ENV_FILE is True: env.read_env(str(BASE_DIR.joinpath(".env"))) # Quick-start development settings - unsuitable for production -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/billing/webhooks.py line 144
- Likely real
- Yes, 95% confidence
Detected usage of @csrf_exempt, which indicates that there is no CSRF token set for this route. This could lead to an attacker manipulating the user's account and exfiltration of private data. Instead, create a function without this decorator.
@csrf_exempt @require_POST def stripe_webhook(request: HttpRequest) -> HttpResponse: from django.conf import settings import stripe payload = request.body sig_header = request.headers.get("stripe-signature", "") try: event = stripe.Webhook.construct_event(payload, sig_header, settings.STRIPE_WEBHOOK_SECRET) except (ValueError, stripe.error.SignatureVerificationError): return HttpResponseBadRequest("invalid signature") event_id = event["id"] event_type = event["type"] # Idempotency + bounded retry. We keep the WebhookEvent row across failures # (instead of deleting on exception) so a deterministic handler bug doesn't # cause Stripe to retry forever — past WEBHOOK_MAX_FAILURES we return 200 # and operators see the failed row in admin. try: with transaction.atomic(): record = WebhookEvent.objects.create(stripe_event_id=event_id, event_type=event_type) except IntegrityError: record = WebhookEvent.objects.get(stripe_event_id=event_id) if record.processed_at is not None: return HttpResponse(status=200) if record.failure_count >= WEBHOOK_MAX_FAILURES: logger.warning( "Stripe webhook %s (%s) gave up after %d failures.", event_id, event_type, record.failure_count, ) return HttpResponse(status=200) handler = _EVENT_HANDLERS.get(event_type) if handler is None: # Unknown event type — 200 so Stripe stops retrying. WebhookEvent.objects.filter(pk=record.pk).update(processed_at=timezone.now()) return HttpResponse(status=200) try: handler(event) except Exception as exc: logger.exception("Stripe webhook handler failed for event %s (%s)", event_id, event_type) WebhookEvent.objects.filter(pk=record.pk).update( failure_count=F("failure_count") + 1, last_error=str(exc)[:1000], ) record.refresh_from_db(fields=["failure_count"]) if record.failure_count >= WEBHOOK_MAX_FAILURES: return HttpResponse(status=200) return HttpResponse(status=500) WebhookEvent.objects.filter(pk=record.pk).update(processed_at=timezone.now()) return HttpResponse(status=200) -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Yes, 54% confidence
Unpinned dependency: 'pillow' has no version lock — supply chain risk
pillow~=12.3 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Yes, 54% confidence
Unpinned dependency: 'django' has no version lock — supply chain risk
django~=6.1 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Yes, 54% confidence
Unpinned dependency: 'boto3' has no version lock — supply chain risk
boto3~=1.34 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Yes, 54% confidence
Unpinned dependency: 'celery' has no version lock — supply chain risk
celery~=5.5 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Yes, 54% confidence
Unpinned dependency: 'fido2' has no version lock — supply chain risk
fido2~=2.2 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Yes, 54% confidence
Unpinned dependency: 'hiredis' has no version lock — supply chain risk
hiredis~=3.0 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Yes, 54% confidence
Unpinned dependency: 'python-json-logger' has no version lock — supply chain risk
python-json-logger~=4.1 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Yes, 54% confidence
Unpinned dependency: 'django-alive' has no version lock — supply chain risk
django-alive~=2.0 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Yes, 54% confidence
Unpinned dependency: 'django-allauth' has no version lock — supply chain risk
django-allauth[mfa]~=65.16 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Yes, 54% confidence
Unpinned dependency: 'django-hijack' has no version lock — supply chain risk
django-hijack~=3.7 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Yes, 54% confidence
Unpinned dependency: 'django-maintenance-mode' has no version lock — supply chain risk
django-maintenance-mode~=0.19 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Yes, 54% confidence
Unpinned dependency: 'django-ninja' has no version lock — supply chain risk
django-ninja~=1.6 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Yes, 54% confidence
Unpinned dependency: 'django-storages' has no version lock — supply chain risk
django-storages~=1.8 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Yes, 54% confidence
Unpinned dependency: 'epicenv' has no version lock — supply chain risk
epicenv[django]~=1.6 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Yes, 54% confidence
Unpinned dependency: 'psycopg2-binary' has no version lock — supply chain risk
psycopg2-binary~=2.9 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Yes, 54% confidence
Unpinned dependency: 'django-ses' has no version lock — supply chain risk
django-ses~=4.3 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Yes, 54% confidence
Unpinned dependency: 'whitenoise' has no version lock — supply chain risk
whitenoise~=6.7 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Yes, 53% confidence
Unpinned dependency: 'gunicorn' has no version lock — supply chain risk
gunicorn~=26.0 -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /.github/workflows/ci.yml line 80
- Likely real
- Yes, 52% confidence
GitHub Actions step uses a mutable tag or branch reference. Tags and branch names can be silently repointed by the action owner, enabling supply-chain attacks — as seen in the trivy-action and kics-github-action compromises. Pin the reference to a full 40-character commit SHA instead, e.g. `uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608`.
uses: astral-sh/setup-uv@v7 -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /.github/workflows/ci.yml line 70
- Likely real
- Yes, 52% confidence
GitHub Actions step uses a mutable tag or branch reference. Tags and branch names can be silently repointed by the action owner, enabling supply-chain attacks — as seen in the trivy-action and kics-github-action compromises. Pin the reference to a full 40-character commit SHA instead, e.g. `uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608`.
- uses: actions/checkout@v7 -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /.github/workflows/ci.yml line 28
- Likely real
- Yes, 52% confidence
GitHub Actions step uses a mutable tag or branch reference. Tags and branch names can be silently repointed by the action owner, enabling supply-chain attacks — as seen in the trivy-action and kics-github-action compromises. Pin the reference to a full 40-character commit SHA instead, e.g. `uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608`.
uses: actions/setup-python@v7 -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /.github/workflows/ci.yml line 26
- Likely real
- Yes, 52% confidence
GitHub Actions step uses a mutable tag or branch reference. Tags and branch names can be silently repointed by the action owner, enabling supply-chain attacks — as seen in the trivy-action and kics-github-action compromises. Pin the reference to a full 40-character commit SHA instead, e.g. `uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608`.
uses: oven-sh/setup-bun@v2 -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /.github/workflows/ci.yml line 22
- Likely real
- Yes, 52% confidence
GitHub Actions step uses a mutable tag or branch reference. Tags and branch names can be silently repointed by the action owner, enabling supply-chain attacks — as seen in the trivy-action and kics-github-action compromises. Pin the reference to a full 40-character commit SHA instead, e.g. `uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608`.
- uses: actions/checkout@v7 -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /.github/workflows/ci.yml line 139
- Likely real
- Yes, 52% confidence
GitHub Actions step uses a mutable tag or branch reference. Tags and branch names can be silently repointed by the action owner, enabling supply-chain attacks — as seen in the trivy-action and kics-github-action compromises. Pin the reference to a full 40-character commit SHA instead, e.g. `uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608`.
- uses: actions/checkout@v7 -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_changed_subject.txt line 3
- Likely real
- Yes, 99% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}Password Changed{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_changed_message.html line 6
- Likely real
- Yes, 99% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}Your password has been changed.{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/login_code_subject.txt line 3
- Likely real
- Yes, 99% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}Sign-In Code{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/email_deleted_subject.txt line 3
- Likely real
- Yes, 99% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}Email Removed{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/email_confirmation_subject.txt line 3
- Likely real
- Yes, 99% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}Please Confirm Your Email Address{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/email_confirm_subject.txt line 3
- Likely real
- Yes, 99% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}Email Confirmation{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/email_confirm_message.html line 6
- Likely real
- Yes, 99% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}Your email has been confirmed.{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/email_changed_subject.txt line 3
- Likely real
- Yes, 99% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}Email Changed{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/account_already_exists_subject.txt line 3
- Likely real
- Yes, 99% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}Account Already Exists{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_reset_code_subject.txt line 3
- Likely real
- Yes, 99% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}Password Reset Code{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_reset_key_subject.txt line 3
- Likely real
- Yes, 99% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}Password Reset Email{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_reset_message.html line 6
- Likely real
- Yes, 99% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}Your password has been reset.{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_reset_subject.txt line 3
- Likely real
- Yes, 99% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}Password Reset{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_set_message.html line 6
- Likely real
- Yes, 99% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}Your password has been set.{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_set_subject.txt line 3
- Likely real
- Yes, 99% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}Password Set{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/unknown_account_subject.txt line 3
- Likely real
- Yes, 99% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}Unknown Account{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_reset_code_message.html line 13
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktranslate %}This mail can be safely ignored if you did not initiate this action.{% endblocktranslate %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/email_changed_message.txt line 4
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% block notification_message %}{% blocktrans %}Your email has been changed from {{ from_email }} to {{ to_email }}.{% endblocktrans %}{% endblock notification_message %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/email_confirm_message.txt line 4
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% block notification_message %}{% blocktrans %}Your email has been confirmed.{% endblocktrans %}{% endblock notification_message %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/email_confirmation_message.txt line 7
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% if code %}{% blocktranslate %}Your email verification code is listed below. Please enter it in your open browser window.{% endblocktranslate %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/email_confirmation_message.txt line 9
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{{ code }}{% else %}{% blocktranslate %}To confirm this is correct, go to {{ activate_url }}{% endblocktranslate %}{% endif %}{% endautoescape %}{% endblock content %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/email_deleted_message.html line 6
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}Email address {{ deleted_email }} has been removed from your account.{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/email_deleted_message.txt line 4
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% block notification_message %}{% blocktrans %}Email address {{ deleted_email }} has been removed from your account.{% endblocktrans %}{% endblock notification_message %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/login_code_message.html line 7
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktranslate %}Your sign-in code is listed below. Please enter it in your open browser window.{% endblocktranslate %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/login_code_message.html line 13
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktranslate %}This mail can be safely ignored if you did not initiate this action.{% endblocktranslate %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/login_code_message.txt line 5
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% block content %}{% autoescape off %}{% blocktranslate %}Your sign-in code is listed below. Please enter it in your open browser window.{% endblocktranslate %}{% endautoescape %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/login_code_message.txt line 9
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktranslate %}This mail can be safely ignored if you did not initiate this action.{% endblocktranslate %}{% endblock content %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_changed_message.txt line 4
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% block notification_message %}{% blocktrans %}Your password has been changed.{% endblocktrans %}{% endblock notification_message %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_reset_code_message.html line 7
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktranslate %}Your password reset code is listed below. Please enter it in your open browser window.{% endblocktranslate %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/email_changed_message.html line 6
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}Your email has been changed from {{ from_email }} to {{ to_email }}.{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_reset_code_message.txt line 9
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktranslate %}This mail can be safely ignored if you did not initiate this action.{% endblocktranslate %}{% endblock content %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_reset_key_message.html line 20
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}You're receiving this email because you or someone else has requested a password reset for your user account. -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_reset_key_message.html line 25
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}In case you forgot, your username is {{ username }}.{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_reset_key_message.txt line 4
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% block content %}{% autoescape off %}{% blocktrans %}You're receiving this email because you or someone else has requested a password reset for your user account. -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_reset_key_message.txt line 9
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}In case you forgot, your username is {{ username }}.{% endblocktrans %}{% endif %}{% endautoescape %}{% endblock content %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_reset_message.txt line 4
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% block notification_message %}{% blocktrans %}Your password has been reset.{% endblocktrans %}{% endblock notification_message %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_set_message.txt line 4
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% block notification_message %}{% blocktrans %}Your password has been set.{% endblocktrans %}{% endblock notification_message %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/unknown_account_message.html line 23
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktranslate %}This mail can be safely ignored if you did not initiate this action.{% endblocktranslate %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/unknown_account_message.html line 26
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktranslate %}If it was you, you can sign up for an account using the button below.{% endblocktranslate %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/unknown_account_message.txt line 6
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktranslate %}This mail can be safely ignored if you did not initiate this action.{% endblocktranslate %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/unknown_account_message.txt line 8
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktranslate %}If it was you, you can sign up for an account using the link below.{% endblocktranslate %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/base_notification.txt line 10
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}If you do not recognize this change then please take proper security precautions immediately. The change to your account originates from: -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/base_notification.txt line 5
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% block content %}{% autoescape off %}{% blocktrans %}You are receiving this mail because the following change was made to your account:{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/base_notification.html line 14
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}If you do not recognize this change then please take proper security precautions immediately. The change to your account originates from:{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/base_notification.html line 7
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}You are receiving this mail because the following change was made to your account:{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/base_message.txt line 5
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans with site_name=current_site.name site_domain=current_site.domain %}Thank you for using {{ site_name }}! -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/base_message.txt line 1
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% load i18n %}{% autoescape off %}{% blocktrans with site_name=current_site.name %}Hello from {{ site_name }}!{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/account_already_exists_message.txt line 4
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% block content %}{% autoescape off %}{% blocktrans %}You are receiving this email because you or someone else tried to signup for an -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/account_already_exists_message.html line 20
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}You are receiving this email because you or someone else tried to signup for an account using email address:{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/password_reset_code_message.txt line 5
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% block content %}{% autoescape off %}{% blocktranslate %}Your password reset code is listed below. Please enter it in your open browser window.{% endblocktranslate %}{% endautoescape %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/unknown_account_message.html line 20
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktranslate %}You are receiving this email because you, or someone else, tried to access an account with email {{ email }}. However, we do not have any record of such an account in our database.{% endblocktranslate %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/unknown_account_message.txt line 4
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% block content %}{% autoescape off %}{% blocktranslate %}You are receiving this email because you, or someone else, tried to access an account with email {{ email }}. However, we do not have any record of such an account in our database.{% endblocktranslate %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/email_confirmation_message.txt line 5
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% block content %}{% autoescape off %}{% user_display user as user_display %}{% blocktranslate with site_name=current_site.name site_domain=current_site.domain %}You're receiving this email because user {{ user_display }} has given your email address to register an account on {{ site_domain }}.{% endblocktranslate %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/email_confirmation_message.html line 20
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% user_display user as user_display %}{% blocktrans with site_name=current_site.name site_domain=current_site.domain %}You're receiving this e-mail because user {{ user_display }} has given your e-mail address to register an account.{% endblocktrans %} -
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /apps/accounts/templates/account/email/account_already_exists_message.html line 24
- Likely real
- Yes, 98% confidence
Translated strings will not be escaped when rendered in a template. This leads to a vulnerability where translators could include malicious script tags in their translations. Consider using `force_escape` to explicitly escape a translated text.
{% blocktrans %}However, an account using that email address already exists. In case you have forgotten about this, please use the button below to recover your account.{% endblocktrans %} -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /config/settings/_base.py line 381
- Likely real
- Yes, 85% confidence
Possible hardcoded password: '/accounts/password/reset/key/{key}'
380 "account_confirm_email": "/accounts/confirm-email/{key}", 381 "account_reset_password_from_key": "/accounts/password/reset/key/{key}", 382 "account_signup": "/accounts/signup/", 383 "account_login": "/accounts/login/", 384 "account_reauthenticate": "/accounts/reauthenticate/", 385 } 386 387 # ALLAUTH MFA SETTINGS 388 MFA_SUPPORTED_TYPES = ["totp", "recovery_codes", "webauthn"] -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /.agents/skills/weekly-maintenance/scripts/merge_dependabot.py line 30
- Likely real
- Probably noise, 13% confidence
Consider possible security implications associated with the subprocess module.
29 import os 30 import subprocess 31 import sys -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /.agents/skills/weekly-maintenance/scripts/dependabot_report.py line 17
- Likely real
- Probably noise, 13% confidence
Consider possible security implications associated with the subprocess module.
16 import re 17 import subprocess 18 import sys -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /.agents/skills/weekly-maintenance/scripts/merge_dependabot.py line 61
- Likely real
- Probably noise, 12% confidence
Starting a process with a partial executable path
60 def gh(*args: str, check: bool = True) -> subprocess.CompletedProcess: 61 result = subprocess.run(["gh", *args], capture_output=True, text=True) # noqa: S603, S607 62 if check and result.returncode != 0: -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /.agents/skills/weekly-maintenance/scripts/dependabot_report.py line 37
- Likely real
- Probably noise, 12% confidence
Starting a process with a partial executable path
36 def gh(*args: str) -> str: 37 result = subprocess.run(["gh", *args], capture_output=True, text=True) # noqa: S603, S607 38 if result.returncode != 0: -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /.agents/skills/weekly-maintenance/scripts/merge_dependabot.py line 61
- Likely real
- Probably noise, 3% confidence
subprocess call - check for execution of untrusted input.
60 def gh(*args: str, check: bool = True) -> subprocess.CompletedProcess: 61 result = subprocess.run(["gh", *args], capture_output=True, text=True) # noqa: S603, S607 62 if check and result.returncode != 0: -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /.agents/skills/weekly-maintenance/scripts/dependabot_report.py line 37
- Likely real
- Probably noise, 3% confidence
subprocess call - check for execution of untrusted input.
36 def gh(*args: str) -> str: 37 result = subprocess.run(["gh", *args], capture_output=True, text=True) # noqa: S603, S607 38 if result.returncode != 0: -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Probably noise, 2% confidence
Loose version constraint: 'redis>=7.1,<9.0' — attacker could push malicious update
redis>=7.1,<9.0 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- package.json
- Likely real
- Probably noise, 2% confidence
Loose version constraint: 'vue-router^5.3.1' — attacker could push malicious update
vue-router:^5.3.1 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- pyproject.toml
- Likely real
- Probably noise, 2% confidence
Loose version constraint: 'stripe>=14,<16' — attacker could push malicious update
stripe>=14,<16 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- package.json
- Likely real
- Probably noise, 2% confidence
Loose version constraint: '@heroicons/vue^2.2.0' — attacker could push malicious update
@heroicons/vue:^2.2.0 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- package.json
- Likely real
- Probably noise, 2% confidence
Loose version constraint: 'vite^8.3.0' — attacker could push malicious update
vite:^8.3.0 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- package.json
- Likely real
- Probably noise, 2% confidence
Loose version constraint: 'vue-advanced-cropper^2.8.9' — attacker could push malicious update
vue-advanced-cropper:^2.8.9 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- package.json
- Likely real
- Probably noise, 2% confidence
Loose version constraint: 'vue^3.5.42' — attacker could push malicious update
vue:^3.5.42 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- package.json
- Likely real
- Probably noise, 2% confidence
Loose version constraint: 'tailwindcss^4.3.3' — attacker could push malicious update
tailwindcss:^4.3.3 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- package.json
- Likely real
- Probably noise, 2% confidence
Loose version constraint: 'reka-ui^2.10.4' — attacker could push malicious update
reka-ui:^2.10.4 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- package.json
- Likely real
- Probably noise, 2% confidence
Loose version constraint: '@vitejs/plugin-vue^6.0.9' — attacker could push malicious update
@vitejs/plugin-vue:^6.0.9 -
- Engine
- Dependency checker · CVEs, typosquats and risky installs
- Counts towards
- Supply chain
- File
- package.json
- Likely real
- Probably noise, 2% confidence
Loose version constraint: '@tailwindcss/vite^4.3.3' — attacker could push malicious update
@tailwindcss/vite:^4.3.3 -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /apps/organizations/middleware.py line 17
- Likely real
- Probably noise, 0% confidence
Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
16 def process_request(request): 17 assert hasattr(request, "session"), ( # noqa: S101 18 "The Django authentication middleware requires session middleware " 19 "to be installed. Edit your MIDDLEWARE setting to insert " 20 "'django.contrib.sessions.middleware.SessionMiddleware' before " 21 "'django.contrib.auth.middleware.AuthenticationMiddleware'." 22 ) 23 request.org = SimpleLazyObject(lambda: _get_organization(request)) -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /apps/organizations/apps.py line 10
- Likely real
- Probably noise, 0% confidence
Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
9 10 assert signals # noqa: S101
No findings match these filters.