AI Slop Code RIsk Monitor

healthchecks/healthchecks

Open-source cron job and background task monitoring service, written in Python & Django

40.6 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for healthchecks/healthchecks, a Python project with 10,410 GitHub stars. SynthScan examined 84,143 lines of code across 887 source files, recording 2692 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 40.6 (High pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

40.6
Adjusted Signal
40.6
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
10.4K
Stars
Python
Language
84.1K
Lines of Code
887
Files
2.7K
Pattern Hits
2026-10-12
Scan Date
0.07
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 57.6/100 · HIGH

Can maintainers explain intent, assumptions, and trade-offs? 1235 finding(s).

Hallucinated Dependency & Supply Chain Risk 67.4/100 · HIGH

Are imports declared and package/API names verified? 1415 finding(s).

Agent Over-Engineering Ratio 58.5/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 1236 finding(s).

PR Review Velocity Impact 83.5/100 · CRITICAL

Which changes need focused human review? 2692 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 5HIGH 57MEDIUM 4LOW 2626

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 2692 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers1193 hits · 1393 pts
SeverityFileLineSnippetContext
LOW⚡hc/integrations/pd/tests/test_add_complete.py54 def test_it_requires_pd_enabled(self) -> None:CODE
LOW⚡hc/integrations/pd/tests/test_add_complete.py60 def test_it_requires_rw_access(self) -> None:CODE
LOW⚡hc/integrations/pd/tests/test_add.py43 def test_it_requires_rw_access(self) -> None:CODE
LOW⚡hc/integrations/pd/tests/test_add.py52 def test_it_handles_disabled_integration(self) -> None:CODE
LOW⚡hc/integrations/pd/tests/test_add.py58 def test_it_handles_pd_app_id(self) -> None:CODE
LOWhc/integrations/pd/tests/test_notify.py66 def test_it_handles_reason_fail(self, mock_post: Mock) -> None:CODE
LOWhc/integrations/pd/tests/test_notify.py79 def test_it_shows_cron_schedule_and_tz(self, mock_post: Mock) -> None:CODE
LOWhc/integrations/pd/tests/test_notify.py92 def test_it_shows_oncalendar_schedule_and_tz(self, mock_post: Mock) -> None:CODE
LOWhc/integrations/pd/tests/test_notify.py118 def test_it_requires_pd_enabled(self) -> None:CODE
LOWhc/integrations/pd/tests/test_notify.py126 def test_it_does_not_escape_description(self, mock_post: Mock) -> None:CODE
LOWhc/integrations/pd/tests/test_notify.py139 def test_it_handles_no_last_ping(self, mock_post: Mock) -> None:CODE
LOW⚡hc/integrations/pd/tests/test_help.py12 def test_instructions_work_when_not_logged_in(self) -> None:CODE
LOW⚡hc/integrations/pd/tests/test_help.py22 def test_it_requires_vendor_key(self) -> None:CODE
LOWhc/integrations/webhook/tests/test_edit.py49 def test_it_saves_form_and_redirects(self) -> None:CODE
LOW⚡hc/integrations/webhook/tests/test_edit.py84 def test_it_requires_kind_webhook(self) -> None:CODE
LOW⚡hc/integrations/webhook/tests/test_edit.py92 def test_it_requires_rw_access(self) -> None:CODE
LOW⚡hc/integrations/webhook/tests/test_add.py39 def test_it_adds_two_webhook_urls_and_redirects(self) -> None:CODE
LOW⚡hc/integrations/webhook/tests/test_add.py56 def test_it_adds_webhook_using_team_access(self) -> None:CODE
LOW⚡hc/integrations/webhook/tests/test_add.py74 def test_it_accepts_good_urls(self) -> None:CODE
LOW⚡hc/integrations/webhook/tests/test_add.py120 def test_it_handles_empty_down_url(self) -> None:CODE
LOW⚡hc/integrations/webhook/tests/test_add.py135 def test_it_adds_request_body(self) -> None:CODE
LOW⚡hc/integrations/webhook/tests/test_add.py165 def test_it_rejects_bad_headers(self) -> None:CODE
LOW⚡hc/integrations/webhook/tests/test_add.py206 def test_it_rejects_both_empty(self) -> None:CODE
LOW⚡hc/integrations/webhook/tests/test_add.py220 def test_it_requires_rw_access(self) -> None:CODE
LOW⚡hc/integrations/webhook/tests/test_add.py229 def test_it_handles_disabled_integration(self) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py88 def test_webhooks_handle_curl_errors(self, mock_get: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py133 def test_webhooks_dont_retry_when_sending_test_notifications(CODE
LOWhc/integrations/webhook/tests/test_notify.py153 def test_webhooks_support_variables(self, mock_get: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py177 def test_webhooks_handle_variable_variables(self, mock_get: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py196 def test_webhooks_support_post(self, mock_request: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py217 def test_webhooks_dollarsign_escaping(self, mock_get: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py238 def test_webhooks_handle_up_events(self, mock_get: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py253 def test_webhooks_handle_noop_up_events(self, mock_get: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py268 def test_webhooks_handle_unicode_post_body(self, mock_request: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py286 def test_webhooks_handle_post_headers(self, mock_request: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py303 def test_webhooks_handle_get_headers(self, mock_request: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py319 def test_webhooks_allow_user_agent_override(self, mock_request: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py335 def test_webhooks_support_variables_in_headers(self, mock_request: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py354 def test_it_requires_webhooks_enabled(self) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py369 def test_webhooks_handle_non_ascii_in_headers(self, mock_request: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py403 def test_webhooks_support_json_variable(self, mock_post: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py423 def test_webhooks_support_body_variable_in_body(self, mock_post: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py437 def test_webhooks_dont_support_body_variable_in_url_and_headers(CODE
LOWhc/integrations/webhook/tests/test_notify.py463 def test_webhooks_support_exitstatus_variable(self, mock_post: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py477 def test_webhooks_handle_exitstatus_variable_with_last_ping_missing(CODE
LOWhc/integrations/webhook/tests/test_notify.py494 def test_webhooks_handle_null_exitstatus(self, mock_post: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py510 def test_webhooks_do_not_escape_name_variable(self, mock_post: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py525 def test_webhooks_support_name_json_variable(self, mock_post: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py540 def test_webhooks_do_not_escape_body_variable(self, mock_post: Mock) -> None:CODE
LOWhc/integrations/webhook/tests/test_notify.py561 def test_webhooks_support_body_json_variable(self, mock_post: Mock) -> None:CODE
LOWhc/integrations/discord/tests/test_add_complete.py18 def test_it_handles_oauth_response(self, mock_post: Mock) -> None:CODE
LOWhc/integrations/discord/tests/test_add_complete.py61 def test_it_handles_unexpected_oauth_response(self, mock_post: Mock) -> None:CODE
LOW⚡hc/integrations/discord/tests/test_add_complete.py95 def test_it_handles_access_denied(self) -> None:CODE
LOW⚡hc/integrations/discord/tests/test_add_complete.py113 def test_it_requires_client_id(self) -> None:CODE
LOW⚡hc/integrations/discord/tests/test_add_complete.py118 def test_it_requires_rw_access(self) -> None:CODE
LOW⚡hc/integrations/discord/tests/test_add.py24 def test_it_requires_client_id(self) -> None:CODE
LOW⚡hc/integrations/discord/tests/test_add.py29 def test_it_requires_rw_access(self) -> None:CODE
LOWhc/integrations/discord/tests/test_notify.py58 def test_it_shows_cron_schedule_and_tz(self, mock_post: Mock) -> None:CODE
LOWhc/integrations/discord/tests/test_notify.py72 def test_it_rewrites_discordapp_com(self, mock_post: Mock) -> None:CODE
LOWhc/integrations/discord/tests/test_notify.py85 def test_it_handles_last_ping_failure(self, mock_post: Mock) -> None:CODE
1133 more matches not shown…
Fake / Example Data984 hits · 1239 pts
SeverityFileLineSnippetContext
LOWREADME.md174 DEFAULT_FROM_EMAIL = "valid-sender-address@example.org"CODE
LOWREADME.md189 DEFAULT_FROM_EMAIL = "valid-sender-address@example.org"CODE
LOWREADME.md217 --mail-from 'foo@example.org' \CODE
LOWhc/test.py31 self.alice = User(username="alice", email="alice@example.org")CODE
LOWhc/test.py45 self.bob = User(username="bob", email="bob@example.org")CODE
LOWhc/test.py61 self.charlie = User(username="charlie", email="charlie@example.org")CODE
LOWhc/settings.py72DEFAULT_FROM_EMAIL = os.getenv("DEFAULT_FROM_EMAIL", "healthchecks@example.org")CODE
LOW⚡hc/integrations/pd/tests/test_add_complete.py32 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/pd/tests/test_add_complete.py42 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/pd/tests/test_add_complete.py48 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/pd/tests/test_add_complete.py55 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/pd/tests/test_add_complete.py64 self.client.login(username="bob@example.org", password="password")CODE
LOWhc/integrations/pd/tests/test_add.py18 self.client.login(username="alice@example.org", password="password")CODE
LOWhc/integrations/pd/tests/test_add.py26 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/pd/tests/test_add.py37 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/pd/tests/test_add.py47 self.client.login(username="bob@example.org", password="password")CODE
LOW⚡hc/integrations/pd/tests/test_add.py53 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/pd/tests/test_add.py59 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/pd/tests/test_help.py17 self.client.login(username="alice@example.org", password="password")CODE
LOWhc/integrations/webhook/tests/test_edit.py34 self.client.login(username="alice@example.org", password="password")CODE
LOWhc/integrations/webhook/tests/test_edit.py62 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/webhook/tests/test_edit.py88 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/webhook/tests/test_edit.py96 self.client.login(username="bob@example.org", password="password")CODE
LOW⚡hc/integrations/webhook/tests/test_add.py29 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/webhook/tests/test_add.py47 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/webhook/tests/test_add.py66 self.client.login(username="bob@example.org", password="password")CODE
LOW⚡hc/integrations/webhook/tests/test_add.py84 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/webhook/tests/test_add.py128 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/webhook/tests/test_add.py143 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/webhook/tests/test_add.py158 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/webhook/tests/test_add.py166 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/webhook/tests/test_add.py199 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/webhook/tests/test_add.py207 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/webhook/tests/test_add.py224 self.client.login(username="bob@example.org", password="password")CODE
LOW⚡hc/integrations/webhook/tests/test_add.py230 self.client.login(username="alice@example.org", password="password")CODE
LOWhc/integrations/webhook/tests/test_add.py16 self.client.login(username="alice@example.org", password="password")CODE
LOWhc/integrations/webhook/tests/test_add.py106 self.client.login(username="alice@example.org", password="password")CODE
LOWhc/integrations/webhook/tests/test_add.py179 self.client.login(username="alice@example.org", password="password")CODE
LOWhc/integrations/discord/tests/test_add_complete.py33 self.client.login(username="alice@example.org", password="password")CODE
LOWhc/integrations/discord/tests/test_add_complete.py55 self.client.login(username="alice@example.org", password="password")CODE
LOWhc/integrations/discord/tests/test_add_complete.py73 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/discord/tests/test_add_complete.py88 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/discord/tests/test_add_complete.py102 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/discord/tests/test_add_complete.py114 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/discord/tests/test_add_complete.py126 self.client.login(username="bob@example.org", password="password")CODE
LOW⚡hc/integrations/discord/tests/test_add.py15 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/discord/tests/test_add.py25 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/discord/tests/test_add.py33 self.client.login(username="bob@example.org", password="password")CODE
LOW⚡hc/integrations/msteamsw/tests/test_add.py15 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/msteamsw/tests/test_add.py22 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/msteamsw/tests/test_add.py35 self.client.login(username="bob@example.org", password="password")CODE
LOW⚡hc/integrations/msteamsw/tests/test_add.py41 self.client.login(username="alice@example.org", password="password")CODE
LOWhc/integrations/sms/tests/test_edit.py26 self.client.login(username="alice@example.org", password="password")CODE
LOWhc/integrations/sms/tests/test_edit.py35 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/sms/tests/test_edit.py50 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/sms/tests/test_edit.py58 self.client.login(username="bob@example.org", password="password")CODE
LOW⚡hc/integrations/sms/tests/test_add.py17 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/sms/tests/test_add.py27 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/sms/tests/test_add.py34 self.client.login(username="alice@example.org", password="password")CODE
LOW⚡hc/integrations/sms/tests/test_add.py52 self.client.login(username="alice@example.org", password="password")CODE
924 more matches not shown…
Unused Imports380 hits · 366 pts
SeverityFileLineSnippetContext
LOWdocker/fetchstatus.py20CODE
LOWhc/test.py1CODE
LOWhc/test.py17CODE
LOWhc/test.py19CODE
LOWhc/settings.py8CODE
LOWhc/settings.py451CODE
LOWhc/urls.py1CODE
LOWhc/wsgi.py10CODE
LOWhc/payments/models.py1CODE
LOWhc/payments/context_processors.py1CODE
LOWhc/payments/urls.py1CODE
LOWhc/payments/views.py1CODE
LOWhc/integrations/pd/transport.py1CODE
LOWhc/integrations/pd/forms.py1CODE
LOWhc/integrations/pd/urls.py1CODE
LOWhc/integrations/pd/views.py1CODE
LOWhc/integrations/pd/tests/test_add_complete.py1CODE
LOWhc/integrations/pd/tests/test_add.py1CODE
LOWhc/integrations/pd/tests/test_notify.py1CODE
LOWhc/integrations/pd/tests/test_help.py1CODE
LOWhc/integrations/webhook/transport.py1CODE
LOWhc/integrations/webhook/forms.py1CODE
LOWhc/integrations/webhook/urls.py1CODE
LOWhc/integrations/webhook/views.py1CODE
LOWhc/integrations/webhook/tests/test_edit.py1CODE
LOWhc/integrations/webhook/tests/test_add.py1CODE
LOWhc/integrations/webhook/tests/test_notify.py1CODE
LOWhc/integrations/discord/transport.py1CODE
LOWhc/integrations/discord/urls.py1CODE
LOWhc/integrations/discord/views.py1CODE
LOWhc/integrations/discord/tests/test_add_complete.py1CODE
LOWhc/integrations/discord/tests/test_add.py1CODE
LOWhc/integrations/discord/tests/test_notify.py1CODE
LOWhc/integrations/msteamsw/transport.py1CODE
LOWhc/integrations/msteamsw/urls.py1CODE
LOWhc/integrations/msteamsw/views.py1CODE
LOWhc/integrations/msteamsw/tests/test_add.py1CODE
LOWhc/integrations/msteamsw/tests/test_notify.py1CODE
LOWhc/integrations/sms/transport.py1CODE
LOWhc/integrations/sms/urls.py1CODE
LOWhc/integrations/sms/views.py1CODE
LOWhc/integrations/sms/tests/test_edit.py1CODE
LOWhc/integrations/sms/tests/test_add.py1CODE
LOWhc/integrations/sms/tests/test_notify.py1CODE
LOWhc/integrations/group/transport.py1CODE
LOWhc/integrations/group/forms.py1CODE
LOWhc/integrations/group/urls.py1CODE
LOWhc/integrations/group/views.py1CODE
LOWhc/integrations/group/tests/test_edit.py1CODE
LOWhc/integrations/group/tests/test_add.py1CODE
LOWhc/integrations/group/tests/test_notify.py1CODE
LOWhc/integrations/shell/transport.py1CODE
LOWhc/integrations/shell/forms.py1CODE
LOWhc/integrations/shell/urls.py1CODE
LOWhc/integrations/shell/views.py1CODE
LOWhc/integrations/shell/tests/test_add.py1CODE
LOWhc/integrations/shell/tests/test_notify.py1CODE
LOWhc/integrations/ntfy/transport.py1CODE
LOWhc/integrations/ntfy/forms.py1CODE
LOWhc/integrations/ntfy/urls.py1CODE
320 more matches not shown…
Magic Placeholder Names45 hits · 225 pts
SeverityFileLineSnippetContext
HIGHtemplates/docs/api.md67The client can authenticate itself by including an `X-Api-Key: <your-api-key>`CODE
HIGHtemplates/docs/api.md129curl --header "X-Api-Key: your-api-key" SITE_ROOT/api/v3/checks/CODE
HIGHtemplates/docs/api.md293curl --header "X-Api-Key: your-api-key" SITE_ROOT/api/v3/checks/<uuid>CODE
HIGHtemplates/docs/api.md663 --header "X-Api-Key: your-api-key" \CODE
HIGHtemplates/docs/api.md671 --data '{"api_key": "your-api-key", "name": "Backups", "tags": "prod www", "timeout": 3600, "grace": 60}'CODE
HIGHtemplates/docs/api.md976 --header "X-Api-Key: your-api-key" \CODE
HIGHtemplates/docs/api.md984 --data '{"api_key": "your-api-key", "name": "Backups", "tags": "prod www", "timeout": 3600, "grace": 60}'CODE
HIGHtemplates/docs/api.md1051 --request POST --header "X-Api-Key: your-api-key" --data ""CODE
HIGHtemplates/docs/api.md1125 --request POST --header "X-Api-Key: your-api-key" --data ""CODE
HIGHtemplates/docs/api.md1196 --request DELETE --header "X-Api-Key: your-api-key"CODE
HIGHtemplates/docs/api.md1263 --header "X-Api-Key: your-api-key"CODE
HIGHtemplates/docs/api.md1348 --header "X-Api-Key: your-api-key"CODE
HIGHtemplates/docs/api.md1414 --header "X-Api-Key: your-api-key"CODE
HIGHtemplates/docs/api.md1453curl --header "X-Api-Key: your-api-key" SITE_ROOT/api/v3/channels/CODE
HIGHtemplates/docs/api.md1507curl --header "X-Api-Key: your-api-key" SITE_ROOT/api/v3/badges/CODE
HIGHtemplates/docs/apiv1.md60The client can authenticate itself by including an `X-Api-Key: <your-api-key>`CODE
HIGHtemplates/docs/apiv1.md108curl --header "X-Api-Key: your-api-key" SITE_ROOT/api/v1/checks/CODE
HIGHtemplates/docs/apiv1.md254curl --header "X-Api-Key: your-api-key" SITE_ROOT/api/v1/checks/<uuid>CODE
HIGHtemplates/docs/apiv1.md600 --header "X-Api-Key: your-api-key" \CODE
HIGHtemplates/docs/apiv1.md608 --data '{"api_key": "your-api-key", "name": "Backups", "tags": "prod www", "timeout": 3600, "grace": 60}'CODE
HIGHtemplates/docs/apiv1.md892 --header "X-Api-Key: your-api-key" \CODE
HIGHtemplates/docs/apiv1.md900 --data '{"api_key": "your-api-key", "name": "Backups", "tags": "prod www", "timeout": 3600, "grace": 60}'CODE
HIGHtemplates/docs/apiv1.md960 --request POST --header "X-Api-Key: your-api-key" --data ""CODE
HIGHtemplates/docs/apiv1.md1028 --request POST --header "X-Api-Key: your-api-key" --data ""CODE
HIGHtemplates/docs/apiv1.md1093 --request DELETE --header "X-Api-Key: your-api-key"CODE
HIGHtemplates/docs/apiv1.md1153 --header "X-Api-Key: your-api-key"CODE
HIGHtemplates/docs/apiv1.md1234 --header "X-Api-Key: your-api-key"CODE
HIGHtemplates/docs/apiv1.md1290 --header "X-Api-Key: your-api-key"CODE
HIGHtemplates/docs/apiv1.md1329curl --header "X-Api-Key: your-api-key" SITE_ROOT/api/v1/channels/CODE
HIGHtemplates/docs/apiv1.md1383curl --header "X-Api-Key: your-api-key" SITE_ROOT/api/v1/badges/CODE
HIGHtemplates/docs/apiv2.md80The client can authenticate itself by including an `X-Api-Key: <your-api-key>`CODE
HIGHtemplates/docs/apiv2.md128curl --header "X-Api-Key: your-api-key" SITE_ROOT/api/v2/checks/CODE
HIGHtemplates/docs/apiv2.md278curl --header "X-Api-Key: your-api-key" SITE_ROOT/api/v2/checks/<uuid>CODE
HIGHtemplates/docs/apiv2.md626 --header "X-Api-Key: your-api-key" \CODE
HIGHtemplates/docs/apiv2.md634 --data '{"api_key": "your-api-key", "name": "Backups", "tags": "prod www", "timeout": 3600, "grace": 60}'CODE
HIGHtemplates/docs/apiv2.md919 --header "X-Api-Key: your-api-key" \CODE
HIGHtemplates/docs/apiv2.md927 --data '{"api_key": "your-api-key", "name": "Backups", "tags": "prod www", "timeout": 3600, "grace": 60}'CODE
HIGHtemplates/docs/apiv2.md988 --request POST --header "X-Api-Key: your-api-key" --data ""CODE
HIGHtemplates/docs/apiv2.md1057 --request POST --header "X-Api-Key: your-api-key" --data ""CODE
HIGHtemplates/docs/apiv2.md1123 --request DELETE --header "X-Api-Key: your-api-key"CODE
HIGHtemplates/docs/apiv2.md1184 --header "X-Api-Key: your-api-key"CODE
HIGHtemplates/docs/apiv2.md1265 --header "X-Api-Key: your-api-key"CODE
HIGHtemplates/docs/apiv2.md1321 --header "X-Api-Key: your-api-key"CODE
HIGHtemplates/docs/apiv2.md1360curl --header "X-Api-Key: your-api-key" SITE_ROOT/api/v2/channels/CODE
HIGHtemplates/docs/apiv2.md1414curl --header "X-Api-Key: your-api-key" SITE_ROOT/api/v2/badges/CODE
Empty Error Handlers11 hits · 55 pts
SeverityFileLineSnippetContext
HIGHhc/integrations/sms/transport.py29except ValidationError:CODE
HIGHhc/integrations/zulip/transport.py23except ValidationError:CODE
HIGHhc/integrations/call/transport.py30except ValidationError:CODE
HIGHhc/integrations/opsgenie/transport.py25except ValidationError:CODE
HIGHhc/integrations/telegram/views.py83except TransportError:CODE
HIGHhc/integrations/whatsapp/transport.py32except ValidationError:CODE
HIGHhc/accounts/models.py427except Project.DoesNotExist:CODE
HIGHhc/accounts/models.py432except Project.DoesNotExist:CODE
HIGHhc/accounts/models.py437except Project.DoesNotExist:CODE
HIGHhc/api/models.py604except Ping.DoesNotExist:CODE
HIGHhc/api/transports.py39except Ping.GetBodyError:CODE
Hallucination Indicators5 hits · 50 pts
SeverityFileLineSnippetContext
CRITICALhc/integrations/webhook/forms.py6from django.core.exceptions import ValidationErrorCODE
CRITICALhc/accounts/management/commands/createsuperuser.py9from django.core.exceptions import ValidationErrorCODE
CRITICALhc/api/forms.py6from django.core.exceptions import ValidationErrorCODE
CRITICALhc/front/validators.py7from django.core.exceptions import ValidationErrorCODE
CRITICALstatic/js/jquery-3.6.0.min.js2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
Modern Structural Boilerplate27 hits · 26 pts
SeverityFileLineSnippetContext
LOWhc/test.py21__all__ = ["BaseTestCase", "TestHttpResponse"]CODE
LOWhc/test.py74 def set_sudo_flag(self) -> None:CODE
LOWhc/integrations/discord/views.py21logger = logging.getLogger(__name__)CODE
LOWhc/integrations/discord/tests/test_notify.py14 def _setup_data(self, url: str, status: str = "down") -> None:CODE
LOWhc/integrations/sms/transport.py13logger = logging.getLogger(__name__)CODE
LOWhc/integrations/call/transport.py14logger = logging.getLogger(__name__)CODE
LOWhc/integrations/github/client.py10logger = logging.getLogger(__name__)CODE
LOWhc/integrations/po/transport.py13logger = logging.getLogger(__name__)CODE
LOWhc/integrations/pagertree/views.py16logger = logging.getLogger(__name__)CODE
LOWhc/integrations/googlechat/tests/test_notify.py17 def _setup_data(self, status: str = "down", email_verified: bool = True) -> None:CODE
LOWhc/integrations/pushbullet/views.py22logger = logging.getLogger(__name__)CODE
LOWhc/integrations/slack/transport.py15logger = logging.getLogger(__name__)CODE
LOWhc/integrations/slack/views.py21logger = logging.getLogger(__name__)CODE
LOWhc/integrations/trello/views.py22logger = logging.getLogger(__name__)CODE
LOWhc/integrations/signal/transport.py17logger = logging.getLogger(__name__)CODE
LOWhc/integrations/email/transport.py14logger = logging.getLogger(__name__)CODE
LOWhc/integrations/whatsapp/transport.py14logger = logging.getLogger(__name__)CODE
LOWhc/accounts/models.py350 def update_next_nag_date(self) -> None:CODE
LOWhc/accounts/models.py488 def update_next_nag_dates(self) -> None:CODE
LOWhc/accounts/views.py44logger = logging.getLogger(__name__)CODE
LOWhc/accounts/views.py148def _set_autologin_cookie(response: HttpResponse) -> None:CODE
LOWhc/lib/s3.py23logger = logging.getLogger(__name__)CODE
LOWhc/api/models.py1283 def update_telegram_id(self, new_chat_id: int) -> None:STRING
LOWhc/api/transports.py16logger = logging.getLogger(__name__)CODE
LOWhc/api/tests/test_notify.py14 def _setup_data(self, kind: str, value: str, status: str = "down") -> None:CODE
LOWhc/api/management/commands/prunepingsslow.py11logger = logging.getLogger(__name__)CODE
LOWhc/front/views.py67logger = logging.getLogger(__name__)CODE
Deep Nesting22 hits · 22 pts
SeverityFileLineSnippetContext
LOWhc/integrations/signal/transport.py106CODE
LOWhc/integrations/email/views.py18CODE
LOWhc/accounts/models.py208CODE
LOWhc/accounts/models.py398CODE
LOWhc/accounts/views.py162CODE
LOWhc/accounts/views.py362CODE
LOWhc/accounts/views.py546CODE
LOWhc/lib/curl.py55CODE
LOWhc/lib/html.py42CODE
LOWhc/lib/s3.py120CODE
LOWhc/api/models.py835CODE
LOWhc/api/models.py300CODE
LOWhc/api/models.py493CODE
LOWhc/api/models.py1032CODE
LOWhc/api/views.py181CODE
LOWhc/api/views.py315CODE
LOWhc/api/views.py729CODE
LOWhc/api/management/commands/smtpd.py47CODE
LOWhc/front/views.py606CODE
LOWhc/front/views.py1153CODE
LOWhc/front/views.py1203CODE
LOWhc/front/views.py1350CODE
Over-Commented Block15 hits · 15 pts
SeverityFileLineSnippetContext
LOWhc/accounts/middleware.py61 # elsewhere in the system (when registering new users, when inviting usersCOMMENT
LOWhc/front/views.py641 assert check.alert_afterCOMMENT
LOWstuff/bootstrap/forms.less41COMMENT
LOWstuff/bootstrap/forms.less121// input[type="password"]COMMENT
LOWstuff/bootstrap/forms.less441// Help textCOMMENT
LOWstuff/bootstrap/responsive-utilities.less1// stylelint-disable declaration-no-important, at-rule-no-vendor-prefixCOMMENT
LOWstuff/bootstrap/button-groups.less221}COMMENT
LOWstuff/bootstrap/variables.less181COMMENT
LOWstuff/bootstrap/variables.less321COMMENT
LOWstuff/bootstrap/normalize.less241COMMENT
LOWstuff/bootstrap/normalize.less321COMMENT
LOWstuff/bootstrap/mixins/forms.less41}COMMENT
LOWstuff/bootstrap/mixins/clearfix.less1// ClearfixCOMMENT
LOWstuff/bootstrap/mixins/vendor-prefixes.less1// stylelint-disable indentation, property-no-vendor-prefix, selector-no-vendor-prefixCOMMENT
LOWstatic/css/checks_table.css41#checks-table .my-checks-name,COMMENT
Self-Referential Comments4 hits · 14 pts
SeverityFileLineSnippetContext
MEDIUMhc/api/models.py504 # The following block updates a Check object, then creates a Ping object.COMMENT
MEDIUM⚡hc/api/tests/test_ping_by_slug.py115 # Create a second checkCOMMENT
MEDIUMstuff/bootstrap/variables.less286//## Define the breakpoints at which your layout will change, adapting to different screen sizes.COMMENT
MEDIUMstuff/bootstrap/variables.less340//## Define the maximum width of `.container` for different screen sizes.COMMENT
Cross-Language Confusion1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHhc/api/tests/test_get_pings.py55 # body_raw is null, object_size is null, body_url should be NoneCOMMENT
Excessive Try-Catch Wrapping4 hits · 4 pts
SeverityFileLineSnippetContext
LOWmanage.py14 except Exception:CODE
LOWhc/api/management/commands/prunepingsslow.py32 except Exception:CODE
LOWhc/api/management/commands/sendalerts.py87 except Exception as exc:CODE
LOWhc/api/management/commands/sendalerts.py146 except Exception:CODE
AI Structural Patterns1 hit · 1 pts
SeverityFileLineSnippetContext
LOWhc/api/views.py646CODE