Repository Analysis

certbot/certbot

Certbot is EFF's tool to obtain certs from Let's Encrypt and (optionally) auto-enable HTTPS on your server. It can also act as a client for any other CA that uses the ACME protocol.

21.5 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of certbot/certbot, a Python project with 33,132 GitHub stars. SynthScan v2.0 examined 94,227 lines of code across 501 source files, recording 1516 pattern matches distributed across 20 syntactic categories. The overall adjusted score of 21.5 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

21.5
Adjusted Score
21.5
Raw Score
100%
Time Factor
2026-07-07
Last Push
33.1K
Stars
Python
Language
94.2K
Lines of Code
501
Files
1.5K
Pattern Hits
2026-07-14
Scan Date
0.13
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 14HIGH 51MEDIUM 44LOW 1407

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 1516 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers980 hits · 978 pts
SeverityFileLineSnippetContext
LOWtools/venv.py133def subprocess_output_with_print(cmd, env=None, shell=False):CODE
LOWtools/finish_release.py89def assert_logged_into_snapcraft():CODE
LOWtools/finish_release.py239def _sync_candidate_from_temp_to_origin(version: str) -> None:CODE
LOWtools/finish_release.py250def _create_release_pr_to_main(version: str) -> None:CODE
LOWtools/finish_release.py258def _create_release_pr_to_minor_branch(CODE
LOWtools/finish_release.py271def _create_and_push_branch_without_version_bump(version: str, branch_name: str) -> None:CODE
LOWtools/finish_release.py300def _check_branch_matches_version(version: str) -> None:CODE
LOWtools/finish_release.py335def generate_community_forum_post(version: str):CODE
LOWacme/src/acme/standalone.py97 def shutdown_and_server_close(self) -> None:CODE
LOWacme/src/acme/standalone.py139class HTTP01RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):CODE
LOWacme/src/acme/standalone.py157 # In parent class BaseHTTPRequestHandler, 'timeout' is a class-level property but weCOMMENT
LOWacme/src/acme/standalone.py203 def handle_simple_http_resource(self) -> None:CODE
LOWacme/src/acme/client.py386 def external_account_required(self) -> bool:CODE
LOWacme/src/acme/client.py831def _renewal_info_path_component(cert: x509.Certificate) -> str:CODE
LOWacme/src/acme/messages.py402 def _add_contact_if_appropriate(self, jobj: dict[str, Any]) -> dict[str, Any]:CODE
LOWacme/src/acme/crypto_util.py144def get_names_from_subject_and_extensions(CODE
LOWacme/src/acme/crypto_util.py198def _cryptography_cert_or_req_san(CODE
LOWacme/src/acme/_internal/tests/messages_test.py50 def test_from_json_with_subproblems(self):CODE
LOWacme/src/acme/_internal/tests/messages_test.py170 def test_init_wrong_key_value_success(self): # pylint: disable=no-self-useCODE
LOWacme/src/acme/_internal/tests/messages_test.py177 def test_getitem_fails_with_key_error(self):CODE
LOWacme/src/acme/_internal/tests/messages_test.py184 def test_getattr_fails_with_attribute_error(self):CODE
LOWacme/src/acme/_internal/tests/messages_test.py203 def test_from_json_deserialization_unknown_key_success(self): # pylint: disable=no-self-useCODE
LOWacme/src/acme/_internal/tests/messages_test.py233 def test_from_data_invalid_hmac_alg(self):CODE
LOWacme/src/acme/_internal/tests/messages_test.py241 def test_from_data_default_hmac_alg(self):CODE
LOWacme/src/acme/_internal/tests/messages_test.py290 def test_new_registration_from_data_with_eab(self):CODE
LOWacme/src/acme/_internal/tests/messages_test.py326 def test_default_not_transmitted(self):CODE
LOWacme/src/acme/_internal/tests/messages_test.py465 def test_json_de_serializable(self):CODE
LOWacme/src/acme/_internal/tests/messages_test.py480 def test_json_de_serializable(self):CODE
LOWacme/src/acme/_internal/tests/messages_test.py495 def test_json_de_serializable(self):CODE
LOWacme/src/acme/_internal/tests/messages_test.py528 def test_json_de_serializable(self):CODE
LOWacme/src/acme/_internal/tests/messages_test.py572 def test_default_profile_empty(self):CODE
LOWacme/src/acme/_internal/tests/challenges_test.py21 def test_from_json_unrecognized(self):CODE
LOWacme/src/acme/_internal/tests/challenges_test.py64 def test_verify_wrong_thumbprint(self):CODE
LOWacme/src/acme/_internal/tests/challenges_test.py104 def test_simple_verify_failure(self):CODE
LOWacme/src/acme/_internal/tests/challenges_test.py110 def test_simple_verify_success(self):CODE
LOWacme/src/acme/_internal/tests/challenges_test.py127 def test_validation_domain_name(self):CODE
LOWacme/src/acme/_internal/tests/challenges_test.py173 def test_simple_verify_bad_key_authorization(self):CODE
LOWacme/src/acme/_internal/tests/challenges_test.py178 def test_simple_verify_good_validation(self, mock_get):CODE
LOWacme/src/acme/_internal/tests/challenges_test.py187 def test_simple_verify_bad_validation(self, mock_get):CODE
LOWacme/src/acme/_internal/tests/challenges_test.py193 def test_simple_verify_whitespace_validation(self, mock_get):CODE
LOWacme/src/acme/_internal/tests/challenges_test.py204 def test_simple_verify_connection_error(self, mock_get):CODE
LOWacme/src/acme/_internal/tests/challenges_test.py218 def test_simple_verify_timeout(self, mock_get):CODE
LOWacme/src/acme/_internal/tests/challenges_test.py307 def test_gen_check_validation(self, key, alg, msg: 'DNS'):CODE
LOWacme/src/acme/_internal/tests/challenges_test.py311 def test_gen_check_validation_wrong_key(self, msg: 'DNS'):CODE
LOWacme/src/acme/_internal/tests/challenges_test.py316 def test_check_validation_wrong_payload(self, msg: 'DNS'):CODE
LOWacme/src/acme/_internal/tests/challenges_test.py325 def test_check_validation_wrong_fields(self, msg: 'DNS'):CODE
LOWacme/src/acme/_internal/tests/challenges_test.py340 def test_validation_domain_name(self, msg: 'DNS'):CODE
LOWacme/src/acme/_internal/tests/challenges_test.py343 def test_validation_domain_name_ecdsa(self, msg: 'DNS'):CODE
LOWacme/src/acme/_internal/tests/fields_test.py42 def test_default_encoder_naive_fails(self):CODE
LOWacme/src/acme/_internal/tests/fields_test.py51 def test_default_decoder_raises_deserialization_error(self):CODE
LOWacme/src/acme/_internal/tests/crypto_util_test.py18 def test_to_cryptography_encoding(self):CODE
LOWacme/src/acme/_internal/tests/crypto_util_test.py27 def test_dump_cryptography_chain(self):CODE
LOWacme/src/acme/_internal/tests/crypto_util_test.py39 def test_dump_cryptography_chain_wrong_encoding(self):CODE
LOWacme/src/acme/_internal/tests/crypto_util_test.py250 def test_make_csr_must_staple(self):CODE
LOWacme/src/acme/_internal/tests/crypto_util_test.py259 def test_make_csr_without_hostname(self):CODE
LOWacme/src/acme/_internal/tests/crypto_util_test.py263 def test_make_csr_invalid_key_type(self):CODE
LOWacme/src/acme/_internal/tests/client_test.py387 def test_external_account_required_true(self):CODE
LOWacme/src/acme/_internal/tests/client_test.py394 def test_external_account_required_false(self):CODE
LOWacme/src/acme/_internal/tests/client_test.py401 def test_external_account_required_default(self):CODE
LOWacme/src/acme/_internal/tests/client_test.py404 def test_query_registration_client(self):CODE
920 more matches not shown…
Hallucination Indicators14 hits · 195 pts
SeverityFileLineSnippetContext
CRITICALcertbot/src/certbot/_internal/plugins/apache/obj.py30 return f"certbot._internal.plugins.apache.obj.Addr({repr(self.tup)})"CODE
CRITICAL…ot/src/certbot/_internal/plugins/apache/display_ops.py86 "certbot._internal.plugins.apache.display_ops._vhost_menu()")CODE
CRITICAL…src/certbot/_internal/tests/plugins/apache/obj_test.py30 "certbot._internal.plugins.apache.obj.Addr(('127.0.0.1', '443'))"CODE
CRITICAL…_dns_cloudflare/_internal/tests/dns_cloudflare_test.py168 self.cf.dns.records.create.assert_called_with(CODE
CRITICAL…_dns_cloudflare/_internal/tests/dns_cloudflare_test.py238 self.cf.dns.records.list.assert_called_once_with(CODE
CRITICAL…_dns_cloudflare/_internal/tests/dns_cloudflare_test.py241 self.cf.dns.records.delete.assert_called_once_with(CODE
CRITICAL…_dns_cloudflare/_internal/tests/dns_cloudflare_test.py256 self.cf.dns.records.delete.assert_called_once_with(CODE
CRITICAL…_dns_cloudflare/_internal/tests/dns_cloudflare_test.py265 self.cf.dns.records.list.assert_called_once()CODE
CRITICAL…_dns_cloudflare/_internal/tests/dns_cloudflare_test.py266 self.cf.dns.records.delete.assert_not_called()CODE
CRITICAL…_dns_cloudflare/_internal/tests/dns_cloudflare_test.py274 self.cf.dns.records.list.assert_called_once()CODE
CRITICAL…_dns_cloudflare/_internal/tests/dns_cloudflare_test.py275 self.cf.dns.records.delete.assert_not_called()CODE
CRITICAL…_dns_cloudflare/_internal/tests/dns_cloudflare_test.py291 self.cf.dns.records.delete.assert_called_once_with(CODE
CRITICAL…_dns_cloudflare/_internal/tests/dns_cloudflare_test.py300 self.cf.dns.records.list.assert_called_once()CODE
CRITICAL…_dns_cloudflare/_internal/tests/dns_cloudflare_test.py301 self.cf.dns.records.delete.assert_not_called()CODE
Cross-File Repetition36 hits · 180 pts
SeverityFileLineSnippetContext
HIGHcertbot-dns-luadns/src/certbot_dns_luadns/__init__.py0the `~certbot_dns_gehirn.dns_gehirn` plugin automates the process of completing a ``dns-01`` challenge (`~acme.challengeSTRING
HIGH…tbot-dns-dnsimple/src/certbot_dns_dnsimple/__init__.py0the `~certbot_dns_gehirn.dns_gehirn` plugin automates the process of completing a ``dns-01`` challenge (`~acme.challengeSTRING
HIGHcertbot-dns-nsone/src/certbot_dns_nsone/__init__.py0the `~certbot_dns_gehirn.dns_gehirn` plugin automates the process of completing a ``dns-01`` challenge (`~acme.challengeSTRING
HIGHcertbot-dns-gehirn/src/certbot_dns_gehirn/__init__.py0the `~certbot_dns_gehirn.dns_gehirn` plugin automates the process of completing a ``dns-01`` challenge (`~acme.challengeSTRING
HIGH…ns-dnsmadeeasy/src/certbot_dns_dnsmadeeasy/__init__.py0the `~certbot_dns_gehirn.dns_gehirn` plugin automates the process of completing a ``dns-01`` challenge (`~acme.challengeSTRING
HIGH…-luadns/src/certbot_dns_luadns/_internal/dns_luadns.py0dns authenticator for linode this authenticator uses the linode api to fulfill a dns-01 challenge.STRING
HIGH…src/certbot_dns_cloudflare/_internal/dns_cloudflare.py0dns authenticator for linode this authenticator uses the linode api to fulfill a dns-01 challenge.STRING
HIGH…certbot_dns_digitalocean/_internal/dns_digitalocean.py0dns authenticator for linode this authenticator uses the linode api to fulfill a dns-01 challenge.STRING
HIGH…dns-nsone/src/certbot_dns_nsone/_internal/dns_nsone.py0dns authenticator for linode this authenticator uses the linode api to fulfill a dns-01 challenge.STRING
HIGH…rtbot-dns-ovh/src/certbot_dns_ovh/_internal/dns_ovh.py0dns authenticator for linode this authenticator uses the linode api to fulfill a dns-01 challenge.STRING
HIGH…-linode/src/certbot_dns_linode/_internal/dns_linode.py0dns authenticator for linode this authenticator uses the linode api to fulfill a dns-01 challenge.STRING
HIGHacme/src/acme/crypto_util.py0internal class delegating to a module, and displaying warnings when attributes related to deprecated attributes in the cSTRING
HIGHcertbot/src/certbot/plugins/dns_test_common_lexicon.py0internal class delegating to a module, and displaying warnings when attributes related to deprecated attributes in the cSTRING
HIGHcertbot/src/certbot/plugins/dns_common_lexicon.py0internal class delegating to a module, and displaying warnings when attributes related to deprecated attributes in the cSTRING
HIGH…ot/src/certbot/_internal/plugins/nginx/configurator.py0revert all previously modified files. reverts all modified files that have not been saved as a checkpoint :raises .errorSTRING
HIGH…t/src/certbot/_internal/plugins/apache/configurator.py0revert all previously modified files. reverts all modified files that have not been saved as a checkpoint :raises .errorSTRING
HIGHcertbot/src/certbot/plugins/common.py0revert all previously modified files. reverts all modified files that have not been saved as a checkpoint :raises .errorSTRING
HIGH…ot/src/certbot/_internal/plugins/nginx/configurator.py0rollback saved checkpoints. :param int rollback: number of checkpoints to revert :raises .errors.pluginerror: if there iSTRING
HIGH…t/src/certbot/_internal/plugins/apache/configurator.py0rollback saved checkpoints. :param int rollback: number of checkpoints to revert :raises .errors.pluginerror: if there iSTRING
HIGHcertbot/src/certbot/plugins/common.py0rollback saved checkpoints. :param int rollback: number of checkpoints to revert :raises .errors.pluginerror: if there iSTRING
HIGH…bot/src/certbot/_internal/plugins/apache/interfaces.py0returns a list of file paths that have currently been parsed into the parser tree. the returned list may include paths wSTRING
HIGH…t/src/certbot/_internal/plugins/apache/augeasparser.py0returns a list of file paths that have currently been parsed into the parser tree. the returned list may include paths wSTRING
HIGH…bot/src/certbot/_internal/plugins/apache/dualparser.py0returns a list of file paths that have currently been parsed into the parser tree. the returned list may include paths wSTRING
HIGH…rc/certbot/_internal/plugins/apache/override_gentoo.py0override for update_runtime_variables for custom parsingSTRING
HIGH…rc/certbot/_internal/plugins/apache/override_centos.py0override for update_runtime_variables for custom parsingSTRING
HIGH…rc/certbot/_internal/plugins/apache/override_fedora.py0override for update_runtime_variables for custom parsingSTRING
HIGH…bot/src/certbot/_internal/tests/plugins/apache/util.py0return the ground truth for the specified directory.STRING
HIGH…/certbot/_internal/tests/plugins/apache/gentoo_test.py0return the ground truth for the specified directory.STRING
HIGH…/certbot/_internal/tests/plugins/apache/centos_test.py0return the ground truth for the specified directory.STRING
HIGH…/certbot/_internal/tests/plugins/apache/fedora_test.py0return the ground truth for the specified directory.STRING
HIGH…lity-test/src/certbot_compatibility_test/interfaces.py0initializes the plugin with the given command line argsSTRING
HIGH…src/certbot_compatibility_test/configurators/common.py0initializes the plugin with the given command line argsSTRING
HIGH…tbot_compatibility_test/configurators/apache/common.py0initializes the plugin with the given command line argsSTRING
HIGH…src/certbot_compatibility_test/configurators/common.py0performs any necessary cleanup from running plugin testsSTRING
HIGH…rtbot_compatibility_test/configurators/nginx/common.py0performs any necessary cleanup from running plugin testsSTRING
HIGH…tbot_compatibility_test/configurators/apache/common.py0performs any necessary cleanup from running plugin testsSTRING
Over-Commented Block119 hits · 118 pts
SeverityFileLineSnippetContext
LOWpytest.ini1# This file isn't used while testing packages in tools/_release.sh so anyCOMMENT
LOWcertbot-dns-sakuracloud/docs/conf.py1# -*- coding: utf-8 -*-COMMENT
LOWcertbot-dns-sakuracloud/docs/conf.py61# The version info for the project you're documenting, acts as replacement forCOMMENT
LOWcertbot-dns-sakuracloud/docs/conf.py101# documentation.COMMENT
LOWcertbot-dns-sakuracloud/docs/conf.py121 #COMMENT
LOWtools/pip_install.py1#!/usr/bin/env pythonCOMMENT
LOWtools/docker/deploy_images.sh1#!/bin/bashCOMMENT
LOWtools/docker/build.sh1#!/bin/bashCOMMENT
LOWtools/docker/deploy_manifests.sh1#!/bin/bashCOMMENT
LOWtools/docker/test.sh1#!/bin/bashCOMMENT
LOWtools/pinning/common/export-pinned-dependencies.sh1#!/bin/bashCOMMENT
LOWtools/pinning/current/repin.sh21# This file was generated by $RELATIVE_SCRIPT_PATH and can be updated usingCOMMENT
LOWtools/pinning/current/pyproject.toml41# as a dependency here to ensure a version of cython is pinned for extraCOMMENT
LOWtools/pinning/oldest/pyproject.toml1# The purpose of this file is to help us test Certbot against the oldestCOMMENT
LOWtools/pinning/oldest/pyproject.toml81pycparser = "2.14"COMMENT
LOWtools/snap/build_remote.py41COMMENT
LOWcertbot-dns-luadns/docs/conf.py1# -*- coding: utf-8 -*-COMMENT
LOWcertbot-dns-luadns/docs/conf.py61# The version info for the project you're documenting, acts as replacement forCOMMENT
LOWcertbot-dns-luadns/docs/conf.py101# documentation.COMMENT
LOWcertbot-dns-luadns/docs/conf.py121 #COMMENT
LOWacme/docs/conf.py1# -*- coding: utf-8 -*-COMMENT
LOWacme/docs/conf.py61project = u'acme-python'COMMENT
LOWacme/docs/conf.py81# There are two options for replacing |today|: either, you set today to someCOMMENT
LOWacme/docs/conf.py101# unit titles (such as .. function::).COMMENT
LOWacme/docs/conf.py121# -- Options for HTML output ----------------------------------------------COMMENT
LOWacme/docs/conf.py141#html_short_title = NoneCOMMENT
LOWacme/docs/conf.py161COMMENT
LOWacme/docs/conf.py181#html_use_index = TrueCOMMENT
LOWacme/docs/conf.py201#html_file_suffix = NoneCOMMENT
LOWacme/docs/conf.py221COMMENT
LOWacme/docs/conf.py241 u'Let\'s Encrypt Project', 'manual'),COMMENT
LOWacme/docs/conf.py281# Grouping the document tree into Texinfo files. List of tuplesCOMMENT
LOWcertbot-dns-rfc2136/docs/conf.py1# -*- coding: utf-8 -*-COMMENT
LOWcertbot-dns-rfc2136/docs/conf.py61# The version info for the project you're documenting, acts as replacement forCOMMENT
LOWcertbot-dns-rfc2136/docs/conf.py101# documentation.COMMENT
LOWcertbot-dns-rfc2136/docs/conf.py121 #COMMENT
LOWcertbot/docs/conf.py1# -*- coding: utf-8 -*-COMMENT
LOWcertbot/docs/conf.py61source_suffix = '.rst'COMMENT
LOWcertbot/docs/conf.py81release = meta['version']COMMENT
LOWcertbot/docs/conf.py101]COMMENT
LOWcertbot/docs/conf.py141# documentation.COMMENT
LOWcertbot/docs/conf.py161#html_favicon = NoneCOMMENT
LOWcertbot/docs/conf.py181# Custom sidebar templates, maps document names to template names.COMMENT
LOWcertbot/docs/conf.py201#html_show_sphinx = TrueCOMMENT
LOWcertbot/docs/conf.py221# Now only 'ja' uses this config valueCOMMENT
LOWcertbot/docs/conf.py241 #'preamble': '',COMMENT
LOWcertbot/docs/conf.py261#latex_use_parts = FalseCOMMENT
LOWcertbot/examples/cli.ini1# This is an example of the kind of things you can do in a configuration file.COMMENT
LOWcertbot/examples/cli.ini21# authenticator = standaloneCOMMENT
LOWcertbot/src/certbot/_internal/client.py361 newly generated private key (`.util.Key`), and DER-encodedCOMMENT
LOWcertbot/src/certbot/_internal/lock.py161 """Remove, close, and release the lock file."""COMMENT
LOWcertbot/src/certbot/_internal/storage.py141 merged_config = configobj.ConfigObj(config_filename, encoding='utf-8', default_encoding='utf-8',COMMENT
LOWcertbot/src/certbot/_internal/storage.py661 # the chain matching the cert, and the cert matchingCOMMENT
LOWcertbot/src/certbot/_internal/error_handler.py21# included as they could be a sign of something devious and we should terminateCOMMENT
LOWcertbot/src/certbot/_internal/plugins/apache/parser.py521COMMENT
LOW…t/src/certbot/_internal/plugins/apache/configurator.py101# only properly formed sections are added.COMMENT
LOWcertbot/src/certbot/_internal/tests/renewal_test.py321 # Times that should result in autorenewal/autodeploymentCOMMENT
LOWcertbot/src/certbot/_internal/tests/renewal_test.py361 # at 3.5 days prior to expiry. We haven't reached that yet,COMMENT
LOW…/certbot/_internal/tests/plugins/nginx/http_01_test.py101 # vhosts = self.http01.configurator.parser.get_vhosts()COMMENT
LOW…ache-conf-files/passing/finalize-1243.apache2.conf.txt1# This is the main Apache server configuration file. It contains theCOMMENT
59 more matches not shown…
Modern Structural Boilerplate116 hits · 117 pts
SeverityFileLineSnippetContext
LOW…c/certbot_dns_sakuracloud/_internal/dns_sakuracloud.py12logger = logging.getLogger(__name__)CODE
LOW…-luadns/src/certbot_dns_luadns/_internal/dns_luadns.py11logger = logging.getLogger(__name__)CODE
LOWacme/src/acme/standalone.py17logger = logging.getLogger(__name__)CODE
LOWacme/src/acme/fields.py9logger = logging.getLogger(__name__)CODE
LOWacme/src/acme/client.py29logger = logging.getLogger(__name__)CODE
LOWacme/src/acme/challenges.py18logger = logging.getLogger(__name__)CODE
LOWacme/src/acme/crypto_util.py20logger = logging.getLogger(__name__)CODE
LOW…c2136/src/certbot_dns_rfc2136/_internal/dns_rfc2136.py23logger = logging.getLogger(__name__)CODE
LOW…c2136/src/certbot_dns_rfc2136/_internal/dns_rfc2136.py72 def _setup_credentials(self) -> None:CODE
LOWcertbot/src/certbot/configuration.py16logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/configuration.py73 def set_argument_sources(self, argument_sources: dict[str, ArgumentSource]) -> None:CODE
LOWcertbot/src/certbot/achallenges.py31logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/util.py31logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/util.py250def set_up_core_dir(directory: str, mode: int, strict: bool) -> None:CODE
LOWcertbot/src/certbot/reverter.py18logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/crypto_util.py48logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/hooks.py16logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/auth_handler.py25logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/ocsp.py21logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/log.py50logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/client.py46logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/updater.py12logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/eff.py13logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/renewal.py41logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/renewal.py751def _update_renewal_params_from_key(key_path: str, config: configuration.NamespaceConfig) -> None:CODE
LOWcertbot/src/certbot/_internal/lock.py19logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/storage.py39logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/storage.py892 def _update_link_to(self, kind: str, version: int) -> None:CODE
LOWcertbot/src/certbot/_internal/storage.py918 def update_all_links_to(self, version: int) -> None:CODE
LOWcertbot/src/certbot/_internal/cert_manager.py23logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/error_handler.py15logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/error_handler.py133 def _set_signal_handlers(self) -> None:CODE
LOWcertbot/src/certbot/_internal/main.py59logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/account.py29logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/account.py246 def update_regr(self, account: Account) -> None:CODE
LOWcertbot/src/certbot/_internal/account.py258 def update_meta(self, account: Account) -> None:CODE
LOWcertbot/src/certbot/_internal/account.py345 def _update_regr(self, account: Account, dir_path: str) -> None:CODE
LOWcertbot/src/certbot/_internal/account.py352 def _update_meta(self, account: Account, dir_path: str) -> None:CODE
LOWcertbot/src/certbot/_internal/plugins/standalone.py18logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/plugins/null.py10logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/plugins/disco.py24logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/plugins/manual.py21logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/plugins/webroot.py28logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/plugins/webroot.py116 def _set_webroots(self, achalls: Iterable[AnnotatedChallenge]) -> None:CODE
LOWcertbot/src/certbot/_internal/plugins/selection.py16logger = logging.getLogger(__name__)CODE
LOW…bot/src/certbot/_internal/plugins/nginx/nginxparser.py29logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/plugins/nginx/http_01.py20logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/plugins/nginx/parser.py25logger = logging.getLogger(__name__)CODE
LOWcertbot/src/certbot/_internal/plugins/nginx/parser.py175 def _update_vhosts_addrs_ssl(self, vhosts: Iterable[obj.VirtualHost]) -> None:CODE
LOWcertbot/src/certbot/_internal/plugins/nginx/parser.py741def _update_directive(block: UnspacedList, directive: Sequence[Any], location: int) -> None:CODE
LOW…tbot/src/certbot/_internal/plugins/nginx/parser_obj.py17logger = logging.getLogger(__name__)CODE
LOW…tbot/src/certbot/_internal/plugins/nginx/parser_obj.py99 def set_tabs(self, tabs: str = " ") -> None:CODE
LOW…tbot/src/certbot/_internal/plugins/nginx/parser_obj.py140 def set_tabs(self, tabs: str = " ") -> None:CODE
LOW…tbot/src/certbot/_internal/plugins/nginx/parser_obj.py233 def set_tabs(self, tabs: str = " ") -> None:CODE
LOW…tbot/src/certbot/_internal/plugins/nginx/parser_obj.py297 def set_tabs(self, tabs: str = " ") -> None:CODE
LOW…ot/src/certbot/_internal/plugins/nginx/configurator.py42logger = logging.getLogger(__name__)CODE
LOW…ot/src/certbot/_internal/plugins/nginx/configurator.py815 def _set_http_header(self, domain: str, header_substring: Union[str, list[str], None]) -> None:CODE
LOW…bot/src/certbot/_internal/plugins/nginx/display_ops.py9logger = logging.getLogger(__name__)CODE
LOW…bot/src/certbot/_internal/plugins/apache/interfaces.py327 def set_parameters(self, parameters: list[str]) -> None:CODE
LOW…rc/certbot/_internal/plugins/apache/override_gentoo.py44 def update_runtime_variables(self) -> None:CODE
56 more matches not shown…
Cross-Language Confusion15 hits · 112 pts
SeverityFileLineSnippetContext
HIGHletstest/letstest/multitester.py208 local_cxn.local('cd %s && if [ -d letsencrypt ]; then rm -rf letsencrypt; fi' % log_dir)CODE
HIGHletstest/letstest/multitester.py209 local_cxn.local('cd %s && git clone %s letsencrypt'% (log_dir, repo_url))CODE
HIGHletstest/letstest/multitester.py210 local_cxn.local('cd %s && tar czf le.tar.gz letsencrypt'% log_dir)CODE
HIGHletstest/letstest/multitester.py214 local_cxn.local('cd %s && if [ -d letsencrypt ]; then rm -rf letsencrypt; fi' % log_dir)CODE
HIGHletstest/letstest/multitester.py215 local_cxn.local('cd %s && git clone %s letsencrypt --branch %s --single-branch'%CODE
HIGHletstest/letstest/multitester.py217 local_cxn.local('cd %s && tar czf le.tar.gz letsencrypt' % log_dir)CODE
HIGHletstest/letstest/multitester.py221 local_cxn.local('cd %s && if [ -d letsencrypt ]; then rm -rf letsencrypt; fi' % log_dir)CODE
HIGHletstest/letstest/multitester.py222 local_cxn.local('cd %s && git clone %s letsencrypt' % (log_dir, repo_url))CODE
HIGHletstest/letstest/multitester.py223 local_cxn.local('cd %s && cd letsencrypt && 'CODE
HIGHletstest/letstest/multitester.py225 local_cxn.local('cd %s && cd letsencrypt && git checkout lePRtest' % log_dir)CODE
HIGHletstest/letstest/multitester.py227 local_cxn.local('cd %s && cd letsencrypt && git remote update origin' % log_dir)CODE
HIGHletstest/letstest/multitester.py228 local_cxn.local('cd %s && cd letsencrypt && 'CODE
HIGHletstest/letstest/multitester.py230 local_cxn.local('cd %s && tar czf le.tar.gz letsencrypt' % log_dir)CODE
HIGHletstest/letstest/multitester.py257 with cxn.prefix('export PUBLIC_IP=%s && export PRIVATE_IP=%s && 'CODE
HIGHletstest/letstest/multitester.py258 'export PUBLIC_HOSTNAME=%s && export PIP_EXTRA_INDEX_URL=%s && 'CODE
Self-Referential Comments29 hits · 87 pts
SeverityFileLineSnippetContext
MEDIUMpytest.ini1# This file isn't used while testing packages in tools/_release.sh so anyCOMMENT
MEDIUMcertbot-dns-sakuracloud/docs/conf.py6# This file is execfile()d with the current directory set to itsCOMMENT
MEDIUMtools/docker/build.sh25# Create the builderCOMMENT
MEDIUMtools/snap/generate_dnsplugins_postrefreshhook.sh12# This file is generated automatically and should not be edited manually.COMMENT
MEDIUMtools/snap/generate_dnsplugins_snapcraft.sh13# This file is generated automatically and should not be edited manually.COMMENT
MEDIUMcertbot-dns-luadns/docs/conf.py6# This file is execfile()d with the current directory set to itsCOMMENT
MEDIUMacme/docs/conf.py6# This file is execfile()d with the current directory set to itsCOMMENT
MEDIUMcertbot-dns-rfc2136/docs/conf.py6# This file is execfile()d with the current directory set to itsCOMMENT
MEDIUMcertbot/docs/conf.py6# This file is execfile()d with the current directory set to itsCOMMENT
MEDIUMcertbot/src/certbot/reverter.py239 # This file is required in all checkpoints.COMMENT
MEDIUM…tbot/src/certbot/_internal/plugins/nginx/parser_obj.py2# This module is not used for now, so we just skip type checking for the sakeCOMMENT
MEDIUM…t/src/certbot/_internal/plugins/apache/augeasparser.py284 # Create the new blockCOMMENT
MEDIUM…t/src/certbot/_internal/plugins/apache/augeasparser.py317 # Create the new directiveCOMMENT
MEDIUM…t/src/certbot/_internal/plugins/apache/augeasparser.py349 # Create the new commentCOMMENT
MEDIUM…t/src/certbot/_internal/plugins/apache/configurator.py1406 # Create the Vhost objectCOMMENT
MEDIUM…ot/_internal/tests/plugins/apache/configurator_test.py1055 # Create a preexisting rewrite ruleCOMMENT
MEDIUM…ot/_internal/tests/plugins/apache/configurator_test.py1094 # Create an old (previously supported) https redirectoin rewrite ruleCOMMENT
MEDIUMcertbot-dns-dnsimple/docs/conf.py6# This file is execfile()d with the current directory set to itsCOMMENT
MEDIUMcertbot-dns-cloudflare/docs/conf.py6# This file is execfile()d with the current directory set to itsCOMMENT
MEDIUMcertbot-dns-route53/docs/conf.py6# This file is execfile()d with the current directory set to itsCOMMENT
MEDIUM…ute53/src/certbot_dns_route53/_internal/dns_route53.py142 # Create a new list containing the record to use with DELETECOMMENT
MEDIUMcertbot-dns-digitalocean/docs/conf.py6# This file is execfile()d with the current directory set to itsCOMMENT
MEDIUMcertbot-dns-nsone/docs/conf.py6# This file is execfile()d with the current directory set to itsCOMMENT
MEDIUMcertbot-dns-ovh/docs/conf.py6# This file is execfile()d with the current directory set to itsCOMMENT
MEDIUM…c/certbot_integration_tests/certbot_tests/test_main.py323 # Create a read permission for Everybody groupCOMMENT
MEDIUMcertbot-dns-linode/docs/conf.py6# This file is execfile()d with the current directory set to itsCOMMENT
MEDIUMcertbot-dns-gehirn/docs/conf.py6# This file is execfile()d with the current directory set to itsCOMMENT
MEDIUMcertbot-dns-google/docs/conf.py6# This file is execfile()d with the current directory set to itsCOMMENT
MEDIUMcertbot-dns-dnsmadeeasy/docs/conf.py6# This file is execfile()d with the current directory set to itsCOMMENT
Deep Nesting68 hits · 62 pts
SeverityFileLineSnippetContext
LOWtools/extract_changelog.py13CODE
LOWtools/snap/build_remote.py99CODE
LOWtools/snap/build_remote.py250CODE
LOWacme/src/acme/client.py185CODE
LOWacme/src/acme/client.py231CODE
LOWcertbot/src/certbot/util.py466CODE
LOWcertbot/src/certbot/util.py78CODE
LOWcertbot/src/certbot/reverter.py215CODE
LOWcertbot/src/certbot/reverter.py405CODE
LOWcertbot/src/certbot/crypto_util.py240CODE
LOWcertbot/src/certbot/_internal/client.py49CODE
LOWcertbot/src/certbot/_internal/client.py352CODE
LOWcertbot/src/certbot/_internal/renewal.py181CODE
LOWcertbot/src/certbot/_internal/renewal.py584CODE
LOWcertbot/src/certbot/_internal/renewal.py632CODE
LOWcertbot/src/certbot/_internal/storage.py1229CODE
LOWcertbot/src/certbot/_internal/cert_manager.py104CODE
LOWcertbot/src/certbot/_internal/cert_manager.py129CODE
LOWcertbot/src/certbot/_internal/main.py533CODE
LOWcertbot/src/certbot/_internal/main.py705CODE
LOWcertbot/src/certbot/_internal/plugins/webroot.py116CODE
LOWcertbot/src/certbot/_internal/plugins/webroot.py183CODE
LOWcertbot/src/certbot/_internal/plugins/webroot.py257CODE
LOW…bot/src/certbot/_internal/plugins/nginx/nginxparser.py139CODE
LOWcertbot/src/certbot/_internal/plugins/nginx/http_01.py72CODE
LOWcertbot/src/certbot/_internal/plugins/nginx/parser.py479CODE
LOWcertbot/src/certbot/_internal/plugins/nginx/parser.py676CODE
LOWcertbot/src/certbot/_internal/plugins/nginx/parser.py793CODE
LOWcertbot/src/certbot/_internal/plugins/nginx/parser.py63CODE
LOWcertbot/src/certbot/_internal/plugins/nginx/parser.py107CODE
LOWcertbot/src/certbot/_internal/plugins/nginx/parser.py185CODE
LOWcertbot/src/certbot/_internal/plugins/nginx/parser.py388CODE
LOWcertbot/src/certbot/_internal/plugins/nginx/obj.py56CODE
LOW…ot/src/certbot/_internal/plugins/nginx/configurator.py1281CODE
LOW…ot/src/certbot/_internal/plugins/nginx/configurator.py279CODE
LOW…ot/src/certbot/_internal/plugins/nginx/configurator.py436CODE
LOW…ot/src/certbot/_internal/plugins/nginx/configurator.py496CODE
LOW…ot/src/certbot/_internal/plugins/nginx/configurator.py671CODE
LOWcertbot/src/certbot/_internal/plugins/apache/http_01.py159CODE
LOWcertbot/src/certbot/_internal/plugins/apache/parser.py317CODE
LOW…t/src/certbot/_internal/plugins/apache/configurator.py599CODE
LOW…t/src/certbot/_internal/plugins/apache/configurator.py815CODE
LOW…t/src/certbot/_internal/plugins/apache/configurator.py886CODE
LOW…t/src/certbot/_internal/plugins/apache/configurator.py1028CODE
LOW…t/src/certbot/_internal/plugins/apache/configurator.py1051CODE
LOW…t/src/certbot/_internal/plugins/apache/configurator.py1538CODE
LOW…t/src/certbot/_internal/plugins/apache/configurator.py2525CODE
LOW…bot/src/certbot/_internal/plugins/apache/dualparser.py57CODE
LOWcertbot/src/certbot/_internal/tests/log_test.py363CODE
LOWcertbot/src/certbot/_internal/tests/ocsp_test.py204CODE
LOWcertbot/src/certbot/_internal/tests/main_test.py1412CODE
LOWcertbot/src/certbot/_internal/tests/cli_test.py99CODE
LOWcertbot/src/certbot/_internal/tests/client_test.py221CODE
LOW…ot/src/certbot/_internal/tests/plugins/storage_test.py24CODE
LOW…bot/src/certbot/_internal/tests/plugins/apache/util.py80CODE
LOW…tbot/_internal/tests/plugins/apache/entrypoint_test.py11CODE
LOWcertbot/src/certbot/_internal/cli/helpful.py126CODE
LOWcertbot/src/certbot/_internal/cli/helpful.py169CODE
LOW…src/certbot_dns_cloudflare/_internal/dns_cloudflare.py193CODE
LOWcertbot-compatibility-test/nginx/roundtrip.py9CODE
8 more matches not shown…
Unused Imports62 hits · 58 pts
SeverityFileLineSnippetContext
LOWtools/extract_changelog.py2CODE
LOWtools/pip_install.py13CODE
LOWtools/pip_install.py14CODE
LOWtools/venv.py15CODE
LOWacme/src/acme/standalone.py2CODE
LOWacme/src/acme/__init__.py15CODE
LOWacme/src/acme/errors.py13CODE
LOWacme/src/acme/_internal/tests/jose_test.py23CODE
LOWacme/src/acme/_internal/tests/jose_test.py25CODE
LOWcertbot/src/certbot/interfaces.py23CODE
LOWcertbot/src/certbot/ocsp.py5CODE
LOWcertbot/src/certbot/errors.py5CODE
LOWcertbot/src/certbot/crypto_util.py43CODE
LOWcertbot/src/certbot/crypto_util.py44CODE
LOWcertbot/src/certbot/crypto_util.py45CODE
LOWcertbot/src/certbot/crypto_util.py46CODE
LOWcertbot/src/certbot/_internal/snap_config.py2CODE
LOW…bot/src/certbot/_internal/plugins/nginx/nginxparser.py12CODE
LOWcertbot/src/certbot/_internal/plugins/nginx/http_01.py18CODE
LOWcertbot/src/certbot/_internal/plugins/nginx/parser.py2CODE
LOWcertbot/src/certbot/_internal/plugins/apache/http_01.py17CODE
LOWcertbot/src/certbot/_internal/plugins/apache/parser.py19CODE
LOW…bot/src/certbot/_internal/plugins/apache/dualparser.py15CODE
LOW…bot/src/certbot/_internal/plugins/apache/dualparser.py16CODE
LOWcertbot/src/certbot/_internal/tests/ocsp_test.py191CODE
LOW…ot/src/certbot/_internal/tests/plugins/webroot_test.py3CODE
LOWcertbot/src/certbot/_internal/cli/cli_utils.py21CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py7CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py9CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py11CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py16CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py17CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py18CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py19CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py20CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py21CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py22CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py23CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py24CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py25CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py27CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py28CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py29CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py30CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py32CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py36CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py38CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py39CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py40CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py46CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py47CODE
LOWcertbot/src/certbot/_internal/cli/__init__.py49CODE
LOWcertbot/src/certbot/_internal/display/completer.py6CODE
LOWcertbot/src/certbot/compat/_path.py11CODE
LOWcertbot/src/certbot/compat/_path.py16CODE
LOWcertbot/src/certbot/compat/misc.py5CODE
LOWcertbot/src/certbot/compat/filesystem.py2CODE
LOWcertbot/src/certbot/compat/os.py19CODE
LOWcertbot/src/certbot/compat/os.py24CODE
LOWletstest/scripts/version.py7CODE
2 more matches not shown…
Decorative Section Separators13 hits · 34 pts
SeverityFileLineSnippetContext
MEDIUMcertbot/src/certbot/_internal/cli/cli_utils.py265 # ------------------------------------------------------------COMMENT
MEDIUMletstest/targets/targets.yaml7 #-----------------------------------------------------------------------------COMMENT
MEDIUMletstest/targets/targets.yaml20 #-----------------------------------------------------------------------------COMMENT
MEDIUMletstest/targets/targets.yaml28 #-----------------------------------------------------------------------------COMMENT
MEDIUMletstest/letstest/multitester.py205#-------------------------------------------------------------------------------COMMENT
MEDIUMletstest/letstest/multitester.py46#-------------------------------------------------------------------------------COMMENT
MEDIUMletstest/letstest/multitester.py78#-------------------------------------------------------------------------------COMMENT
MEDIUMletstest/letstest/multitester.py85#-------------------------------------------------------------------------------COMMENT
MEDIUMletstest/letstest/multitester.py96#-------------------------------------------------------------------------------COMMENT
MEDIUMletstest/letstest/multitester.py175#-------------------------------------------------------------------------------COMMENT
MEDIUMletstest/letstest/multitester.py373 #-------------------------------------------------------------------------------COMMENT
MEDIUMletstest/letstest/multitester.py398 #-------------------------------------------------------------------------------COMMENT
MEDIUMletstest/letstest/multitester.py445 #-------------------------------------------------------------------------------COMMENT
Redundant / Tautological Comments16 hits · 24 pts
SeverityFileLineSnippetContext
LOWtools/finish_release.py275 # Check if there are uncommited changes, since reset will blow them awayCOMMENT
LOWtools/snap/build_remote.py142 # Check if the snap file just contains htmlCOMMENT
LOWcertbot/src/certbot/_internal/lock.py109 # Open the fileCOMMENT
LOWcertbot/src/certbot/_internal/lock.py116 # Close the file if it is not the required oneCOMMENT
LOW…t/src/certbot/_internal/plugins/apache/augeasparser.py146 # Check if the file was included from the root config or initial stateCOMMENT
LOW…t/src/certbot/_internal/plugins/apache/augeasparser.py286 # Check if the file was included from the root config or initial stateCOMMENT
LOW…t/src/certbot/_internal/plugins/apache/augeasparser.py321 # Check if the file was included from the root config or initial stateCOMMENT
LOW…t/src/certbot/_internal/plugins/apache/augeasparser.py466 # Check if the file was included from the root config or initial stateCOMMENT
LOW…t/src/certbot/_internal/plugins/apache/configurator.py1153 # Check if the VirtualHost is contained in a mod_macro blockCOMMENT
LOW…t/src/certbot/_internal/plugins/apache/configurator.py1317 # Check if Apache is already listening on a specific IPCOMMENT
LOW…t/src/certbot/_internal/plugins/apache/configurator.py1935 # Check if there's an existing SSLUseStapling directive on.COMMENT
LOW…t/src/certbot/_internal/plugins/apache/configurator.py1943 # Check if there's an existing SSLStaplingCache directive.COMMENT
LOW…t/src/certbot/_internal/plugins/apache/configurator.py1986 # Check if selected header is already setCOMMENT
LOW…t/src/certbot/_internal/plugins/apache/configurator.py2075 # Check if Certbot redirection already existsCOMMENT
LOWcertbot/src/certbot/compat/_path.py25 # Check if the attribute does not already exist in our module. It could be internal attributesCOMMENT
LOWcertbot/src/certbot/compat/os.py38 # Check if the attribute does not already exist in our module. It couldCOMMENT
Excessive Try-Catch Wrapping19 hits · 20 pts
SeverityFileLineSnippetContext
MEDIUMtools/finish_release.py203 print(f'Error running `{' '.join(cmd)}`')CODE
LOWacme/src/acme/client.py358 except Exception as e: # pylint: disable=broad-exceptCODE
LOWacme/src/acme/client.py629 except Exception: # pylint: disable=broad-exceptCODE
LOW…c2136/src/certbot_dns_rfc2136/_internal/dns_rfc2136.py144 except Exception as e:CODE
LOW…c2136/src/certbot_dns_rfc2136/_internal/dns_rfc2136.py179 except Exception as e:CODE
LOW…c2136/src/certbot_dns_rfc2136/_internal/dns_rfc2136.py247 except Exception as e:CODE
LOWcertbot/src/certbot/_internal/renewal.py393 except Exception: # pylint: disable=broad-exceptCODE
LOWcertbot/src/certbot/_internal/renewal.py685 except Exception as e: # pylint: disable=broad-exceptCODE
LOWcertbot/src/certbot/_internal/renewal.py727 except Exception as e: # pylint: disable=broad-exceptCODE
LOWcertbot/src/certbot/_internal/storage.py985 except Exception as e: # pylint: disable=broad-exceptCODE
LOWcertbot/src/certbot/_internal/cert_manager.py43 except Exception as e: # pylint: disable=broad-exceptCODE
LOWcertbot/src/certbot/_internal/error_handler.py127 except Exception as exc: # pylint: disable=broad-exceptCODE
LOWcertbot/src/certbot/_internal/main.py816 except Exception as e:CODE
LOWcertbot/src/certbot/_internal/main.py1759 except Exception as e: # pylint: disable=broad-exceptCODE
LOWcertbot/src/certbot/_internal/plugins/disco.py194 except Exception as e:CODE
LOWcertbot/src/certbot/plugins/dns_common_lexicon.py113 except Exception as e: # pylint: disable=broad-exceptCODE
LOWcertbot/src/certbot/plugins/dns_common_lexicon.py254 except Exception as e: # pylint: disable=broad-exceptCODE
LOWcertbot-compatibility-test/nginx/roundtrip.py21 except Exception as e:CODE
LOWletstest/letstest/multitester.py290 except Exception:CODE
Fake / Example Data9 hits · 10 pts
SeverityFileLineSnippetContext
LOWcertbot/src/certbot/_internal/tests/eff_test.py32 self.config.email = 'certbot@example.org'CODE
LOWcertbot/src/certbot/_internal/tests/eff_test.py118 self.email = 'certbot@example.org'CODE
LOWcertbot/src/certbot/_internal/tests/main_test.py1828 self._call_no_clientmock(["register", "--email", "user@example.org"])CODE
LOWcertbot/src/certbot/_internal/tests/main_test.py1836 x = self._call_no_clientmock(["register", "--email", "user@example.org"])CODE
LOWcertbot/src/certbot/_internal/tests/main_test.py2344 assert self._call(['update_account', '--email', 'user@example.org']) == \CODE
LOWcertbot/src/certbot/_internal/tests/main_test.py2359 mock_email.return_value = 'user@example.com'CODE
LOWcertbot/src/certbot/_internal/tests/main_test.py2380 assert self._call(['update_account', '-m', 'user@example.com,user@example.org']) is NoneCODE
LOWcertbot/src/certbot/_internal/tests/main_test.py2382 contact=['mailto:user@example.com', 'mailto:user@example.org']CODE
LOWcertbot/src/certbot/_internal/tests/crypto_util_test.py84 mock.Mock(pem='dummy_key'), 'example.com', self.tempdir, strict_permissions=True)CODE
Slop Phrases6 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUMcertbot/examples/generate-csr.sh4# auditable, feel free to adjust it and use it on your production webCOMMENT
LOWcertbot/examples/dev-cli.ini9# make sure to use a valid email and domains!COMMENT
LOWcertbot/src/certbot/_internal/auth_handler.py249 # working with those plugins, make sure to continue to pass `identifier` as aCOMMENT
LOWcertbot/src/certbot/_internal/auth_handler.py251 # Also, make sure to make a copy...COMMENT
LOWcertbot/src/certbot/_internal/storage.py1076 # XXX: Let's make sure to get the file permissions right hereCOMMENT
LOW…tbot/_internal/tests/plugins/nginx/nginxparser_test.py180 ['#', " Don't forget to open up your firewall!"],CODE
Example Usage Blocks4 hits · 6 pts
SeverityFileLineSnippetContext
LOWtools/docker/deploy_images.sh7# Usage:COMMENT
LOWtools/docker/build.sh7# Usage:COMMENT
LOWtools/docker/deploy_manifests.sh7# Usage:COMMENT
LOWtools/docker/test.sh6# Usage:COMMENT
Verbosity Indicators2 hits · 4 pts
SeverityFileLineSnippetContext
LOWcertbot/src/certbot/_internal/account.py279 # Step 1: Delete account specific links and the directoryCOMMENT
LOWcertbot/src/certbot/_internal/account.py282 # Step 2: Remove any accounts links and directories that are now emptyCOMMENT
Structural Annotation Overuse2 hits · 4 pts
SeverityFileLineSnippetContext
LOWcertbot/src/certbot/_internal/account.py279 # Step 1: Delete account specific links and the directoryCOMMENT
LOWcertbot/src/certbot/_internal/account.py282 # Step 2: Remove any accounts links and directories that are now emptyCOMMENT
TODO Padding2 hits · 3 pts
SeverityFileLineSnippetContext
LOWcertbot/src/certbot/_internal/main.py1433 # TODO: Handle errors from _init_le_client?COMMENT
LOWcertbot/src/certbot/_internal/plugins/apache/parser.py361 # TODO: Add error checking code... does the path given even exist?COMMENT
AI Slop Vocabulary2 hits · 2 pts
SeverityFileLineSnippetContext
LOWcertbot/src/certbot/_internal/tests/util_test.py294 pass # just create the fileCODE
LOW.github/codecov.yml1# This disables all reporting from codecov. Let's just set it up to collectCOMMENT
AI Structural Patterns2 hits · 1 pts
SeverityFileLineSnippetContext
LOW…t/src/certbot/_internal/plugins/apache/configurator.py54CODE
LOWcertbot/src/certbot/_internal/tests/main_test.py1412CODE