Set up a personal VPN in the cloud
229 matches across 12 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | CLAUDE.md | 348 | def test_regression_openssl_inline_comments(): |
| LOW | tests/test_package_preinstall.py | 27 | def test_preinstall_disabled_by_default(self): |
| LOW | tests/test_package_preinstall.py | 53 | def test_preinstall_disabled_explicitly(self): |
| LOW | tests/test_cloud_init_template.py | 28 | def create_expected_cloud_init(): |
| LOW | tests/test_cloud_init_template.py | 192 | def test_indentation_consistency(self): |
| LOW | tests/validate_jinja2_templates.py | 34 | def check_inline_comments_in_expressions(template_content: str, template_path: Path) -> list[str]: |
| LOW | tests/validate_jinja2_templates.py | 69 | def check_undefined_variables(template_path: Path) -> list[str]: |
| LOW | tests/validate_jinja2_templates.py | 180 | def check_common_antipatterns(template_path: Path) -> list[str]: |
| LOW | tests/unit/test_comprehensive_boolean_scan.py | 98 | def test_no_string_true_false_in_set_fact(self): |
| LOW | tests/unit/test_comprehensive_boolean_scan.py | 113 | def test_no_bare_false_in_jinja_else(self): |
| LOW | tests/unit/test_comprehensive_boolean_scan.py | 129 | def test_when_conditions_use_booleans(self): |
| LOW | tests/unit/test_comprehensive_boolean_scan.py | 163 | def test_template_files_boolean_usage(self): |
| LOW | tests/unit/test_comprehensive_boolean_scan.py | 189 | def test_all_when_conditions_would_work(self): |
| LOW | tests/unit/test_comprehensive_boolean_scan.py | 218 | def test_no_other_problematic_patterns(self): |
| LOW | tests/unit/test_comprehensive_boolean_scan.py | 267 | def test_verify_our_fixes_are_correct(self): |
| LOW | tests/unit/test_comprehensive_boolean_scan.py | 289 | def test_templates_handle_booleans_correctly(self): |
| LOW | tests/unit/test_lightsail_boto3_fix.py | 42 | def test_lightsail_region_facts_imports(self): |
| LOW | tests/unit/test_destroy.py | 41 | def test_destroy_playbook_syntax(): |
| LOW | tests/unit/test_destroy.py | 51 | def test_destroy_playbook_has_rescue(): |
| LOW | tests/unit/test_destroy.py | 59 | def test_destroy_playbook_has_confirmation(): |
| LOW | tests/unit/test_destroy.py | 66 | def test_all_provider_destroy_files_exist(): |
| LOW | tests/unit/test_destroy.py | 73 | def test_all_provider_destroy_files_valid_yaml(): |
| LOW | tests/unit/test_destroy.py | 82 | def test_provider_destroy_uses_absent_state(): |
| LOW | tests/unit/test_destroy.py | 99 | def test_lightsail_destroy_uses_cloudformation(): |
| LOW | tests/unit/test_destroy.py | 107 | def test_gce_destroy_cleans_subsidiary_resources(): |
| LOW | tests/unit/test_destroy.py | 116 | def test_vultr_destroy_cleans_firewall_group(): |
| LOW | tests/unit/test_destroy.py | 123 | def test_openstack_destroy_cleans_security_group(): |
| LOW | tests/unit/test_destroy.py | 130 | def test_cloudstack_destroy_cleans_security_group(): |
| LOW | tests/unit/test_destroy.py | 137 | def test_subsidiary_cleanup_is_best_effort(): |
| LOW | tests/unit/test_destroy.py | 152 | def test_linode_uses_label_not_name(): |
| LOW | tests/unit/test_destroy.py | 159 | def test_azure_deletes_resource_group(): |
| LOW | tests/unit/test_destroy.py | 167 | def test_algo_script_has_destroy_command(): |
| LOW | tests/unit/test_destroy.py | 175 | def test_algo_script_destroy_requires_ip(): |
| LOW | tests/unit/test_destroy.py | 182 | def test_server_yml_stores_algo_region(): |
| LOW | tests/unit/test_destroy.py | 189 | def test_destroy_playbook_validates_region_for_required_providers(): |
| LOW | tests/unit/test_destroy.py | 197 | def test_destroy_playbook_loads_server_config(): |
| LOW | tests/unit/test_destroy.py | 25 | def test_destroy_playbook_exists(): |
| LOW | tests/unit/test_destroy.py | 30 | def test_destroy_playbook_valid_yaml(): |
| LOW | tests/unit/test_cloud_provider_configs.py | 48 | def test_no_deprecated_instance_types(): |
| LOW | tests/unit/test_cloud_provider_configs.py | 60 | def test_required_fields_present(): |
| LOW | tests/unit/test_strongswan_templates.py | 50 | def get_strongswan_test_variables(scenario="default"): |
| LOW | tests/unit/test_strongswan_templates.py | 102 | def test_strongswan_templates(): |
| LOW | tests/unit/test_strongswan_templates.py | 178 | def test_openssl_template_constraints(): |
| LOW | tests/unit/test_strongswan_templates.py | 223 | def test_mobileconfig_template(): |
| LOW | tests/unit/test_yaml_jinja2_expressions.py | 258 | def test_regression_openssl_inline_comments(): |
| LOW | tests/unit/test_yaml_jinja2_expressions.py | 301 | def test_edge_cases_inline_comments(): |
| LOW | tests/unit/test_yaml_jinja2_expressions.py | 364 | def test_yaml_files_no_inline_comments(): |
| LOW | tests/unit/test_yaml_jinja2_expressions.py | 387 | def test_openssl_file_specifically(): |
| LOW | tests/unit/test_iptables_rules.py | 118 | def test_alternative_ingress_snat(): |
| LOW | tests/unit/test_iptables_rules.py | 148 | def test_ipsec_forward_rule_has_policy_match(): |
| LOW | tests/unit/test_iptables_rules.py | 171 | def test_wireguard_forward_rule_no_policy_match(): |
| LOW | tests/unit/test_iptables_rules.py | 197 | def test_output_interface_in_nat_rules(): |
| LOW | tests/unit/test_iptables_rules.py | 225 | def test_dns_firewall_restricted_to_vpn(): |
| LOW | tests/unit/test_user_management.py | 42 | def test_server_selection_format(): |
| LOW | tests/unit/test_user_management.py | 71 | def test_ssh_key_preservation(): |
| LOW | tests/unit/test_user_management.py | 98 | def test_ca_password_handling(): |
| LOW | tests/unit/test_user_management.py | 127 | def test_user_config_generation(): |
| LOW | tests/unit/test_user_management.py | 149 | def test_duplicate_user_handling(): |
| LOW | tests/unit/test_basic_sanity.py | 19 | def test_pyproject_file_exists(): |
| LOW | tests/unit/test_basic_sanity.py | 77 | def test_cloud_init_header_format(): |
| 39 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | config.cfg | 3 | # ============================================ |
| MEDIUM | config.cfg | 5 | # ============================================ |
| MEDIUM | config.cfg | 10 | # ============================================ |
| MEDIUM | server.yml | 48 | # ============================================================ |
| MEDIUM | server.yml | 52 | # ============================================================ |
| MEDIUM | tests/test-wireguard-real-async.yml | 3 | # ================================================== |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 5 | # ============================================================================= |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 12 | # ============================================================================= |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 46 | # ============================================================================= |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 48 | # ============================================================================= |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 85 | # ============================================================================= |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 87 | # ============================================================================= |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 151 | # ============================================================================= |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 153 | # ============================================================================= |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 193 | # ============================================================================= |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 195 | # ============================================================================= |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 228 | # ============================================================================= |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 230 | # ============================================================================= |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 387 | # ============================================================================= |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 389 | # ============================================================================= |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 556 | # ============================================================================= |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 558 | # ============================================================================= |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 600 | # ============================================================================= |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 602 | # ============================================================================= |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | config.cfg | 162 | # Set use_existing_eip to "true" if you want to use a pre-allocated Elastic IP |
| LOW | tests/validate_jinja2_templates.py | 57 | # Check if it's likely a comment (has text after it) |
| LOW | tests/unit/test_comprehensive_boolean_scan.py | 150 | # Check if it's a simple condition (good) or comparing to string (bad) |
| LOW | tests/unit/test_comprehensive_boolean_scan.py | 210 | # Check if it's using one of our boolean variables |
| LOW | tests/unit/test_comprehensive_boolean_scan.py | 258 | # Check if it's a known safe pattern |
| LOW | tests/unit/test_strongswan_templates.py | 206 | # Check if the # is within {{ }} |
| LOW | tests/unit/test_yaml_jinja2_expressions.py | 78 | # Check if the # is within a list or dict literal |
| LOW | tests/unit/test_yaml_jinja2_expressions.py | 95 | # Check if it's escaped |
| LOW | tests/unit/test_yaml_jinja2_expressions.py | 140 | # Check if the # is within a list or dict literal |
| LOW | tests/unit/test_template_rendering.py | 170 | # Check if main.yml defines these |
| LOW | tests/unit/test_template_rendering.py | 225 | # Check if the expected endpoint format is in the output |
| LOW | tests/unit/test_template_rendering.py | 317 | # Check if we have Jinja2 available |
| LOW | tests/unit/test_docker_localhost_deployment.py | 90 | # Check if Dockerfile exists |
| LOW | tests/unit/test_openssl_compatibility.py | 288 | # Check if this looks like a client cert vs server cert |
| LOW | tests/integration/ansible-service-wrapper.py | 32 | # Check if it's a known service |
| LOW | tests/integration/mock_modules/apt.py | 65 | # Check if we need to install anything |
| LOW | tests/integration/mock_modules/apt.py | 82 | # Check if we need to remove anything |
| LOW | tests/e2e/test-vpn-connectivity.sh | 501 | # Check if IPsec service is running on host |
| LOW | roles/strongswan/handlers/main.yml | 13 | # Check if StrongSwan is actually running |
| LOW | roles/common/tasks/ubuntu.yml | 21 | # Check if kernel was updated (most critical reboot reason) |
| LOW | scripts/track-test-effectiveness.py | 92 | # Check if PR was merged (indicating it fixed a real issue) |
| LOW | .github/workflows/integration-tests.yml | 200 | # Check if interface has peers |
| LOW | .github/workflows/test-effectiveness.yml | 44 | # Check if we need to create an issue |
| LOW | .github/workflows/test-effectiveness.yml | 46 | # Check if issue already exists |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/test_cloud_init_template.py | 253 | except Exception as e: |
| LOW | tests/validate_jinja2_templates.py | 113 | except Exception: |
| LOW | tests/validate_jinja2_templates.py | 141 | except Exception: |
| LOW | tests/validate_jinja2_templates.py | 174 | except Exception as e: |
| LOW | tests/validate_jinja2_templates.py | 204 | except Exception: |
| LOW | tests/unit/test_lightsail_boto3_fix.py | 61 | except Exception as e: |
| LOW | tests/unit/test_lightsail_boto3_fix.py | 92 | except Exception: |
| LOW | tests/unit/test_strongswan_templates.py | 164 | except Exception as e: |
| LOW | tests/unit/test_strongswan_templates.py | 218 | except Exception as e: |
| LOW | tests/unit/test_strongswan_templates.py | 298 | except Exception as e: |
| LOW | tests/unit/test_yaml_jinja2_expressions.py | 152 | except Exception as e: |
| LOW | tests/unit/test_yaml_jinja2_expressions.py | 251 | except Exception as e: |
| LOW | tests/unit/test_user_management.py | 196 | except Exception as e: |
| LOW | tests/unit/test_basic_sanity.py | 117 | except Exception as e: |
| LOW | tests/unit/test_generated_configs.py | 380 | except Exception as e: |
| LOW | tests/unit/test_template_rendering.py | 87 | except Exception as e: |
| LOW | tests/unit/test_template_rendering.py | 146 | except Exception as e: |
| LOW | tests/unit/test_template_rendering.py | 235 | except Exception as e: |
| LOW | tests/unit/test_template_rendering.py | 309 | except Exception as e: |
| LOW | tests/unit/test_template_rendering.py | 340 | except Exception as e: |
| LOW | tests/unit/test_config_validation.py | 144 | except Exception as e: |
| LOW | tests/unit/test_wireguard_key_generation.py | 63 | except Exception: |
| LOW | tests/unit/test_wireguard_key_generation.py | 122 | except Exception as e: |
| LOW | tests/unit/test_wireguard_key_generation.py | 179 | except Exception as e: |
| LOW | tests/unit/test_wireguard_key_generation.py | 341 | except Exception as e: |
| LOW | tests/unit/test_scaleway_fix.py | 128 | except Exception as e: |
| LOW | tests/unit/test_docker_localhost_deployment.py | 162 | except Exception as e: |
| LOW | tests/unit/test_openssl_compatibility.py | 568 | except Exception as e: |
| LOW | tests/unit/test_double_templating.py | 78 | except Exception: |
| LOW | tests/integration/mock_modules/command.py | 65 | except Exception as e: |
| LOW | tests/integration/mock_modules/shell.py | 60 | except Exception as e: |
| LOW | library/x25519_pubkey.py | 87 | except Exception as e: |
| LOW | library/x25519_pubkey.py | 120 | except Exception as e: |
| MEDIUM | scripts/track-test-effectiveness.py | 19 | print(f"Error fetching {endpoint}: {result.stderr}") |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/conftest.py | 98 | |
| LOW | tests/test_cloud_init_template.py | 192 | |
| LOW | tests/validate_jinja2_templates.py | 34 | |
| LOW | tests/unit/test_comprehensive_boolean_scan.py | 129 | |
| LOW | tests/unit/test_comprehensive_boolean_scan.py | 218 | |
| LOW | tests/unit/test_lightsail_boto3_fix.py | 64 | |
| LOW | tests/unit/test_strongswan_templates.py | 102 | |
| LOW | tests/unit/test_strongswan_templates.py | 178 | |
| LOW | tests/unit/test_yaml_jinja2_expressions.py | 68 | |
| LOW | tests/unit/test_yaml_jinja2_expressions.py | 209 | |
| LOW | tests/unit/test_yaml_jinja2_expressions.py | 301 | |
| LOW | tests/unit/test_generated_configs.py | 21 | |
| LOW | tests/unit/test_generated_configs.py | 96 | |
| LOW | tests/unit/test_generated_configs.py | 172 | |
| LOW | tests/unit/test_generated_configs.py | 298 | |
| LOW | tests/unit/test_template_rendering.py | 29 | |
| LOW | tests/unit/test_template_rendering.py | 187 | |
| LOW | tests/unit/test_template_rendering.py | 247 | |
| LOW | tests/unit/test_wireguard_key_generation.py | 70 | |
| LOW | tests/integration/mock_modules/command.py | 9 | |
| LOW | tests/integration/mock_modules/apt.py | 9 | |
| LOW | library/scaleway_compute.py | 560 | |
| LOW | library/scaleway_compute.py | 589 | |
| LOW | library/x25519_pubkey.py | 32 | |
| LOW | scripts/track-test-effectiveness.py | 24 | |
| LOW | scripts/track-test-effectiveness.py | 85 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tests/test_package_preinstall.py | 11 | # Create a simplified test template with just the packages section |
| MEDIUM | tests/test-local-config.sh | 13 | # Create a minimal test configuration |
| MEDIUM | tests/unit/test_wireguard_key_generation.py | 233 | # Create a WireGuard config using our keys |
| MEDIUM | tests/unit/test_docker_localhost_deployment.py | 23 | # Create a test WireGuard config |
| MEDIUM | tests/e2e/test-vpn-connectivity.sh | 462 | # Create a minimal strongswan.conf |
| MEDIUM | .github/workflows/integration-tests.yml | 286 | # Create a minimal valid config |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tests/unit/test_strongswan_templates.py | 237 | |
| MEDIUM | tests/unit/test_strongswan_templates.py | 256 | |
| MEDIUM | tests/unit/test_strongswan_templates.py | 257 | |
| MEDIUM | tests/unit/test_strongswan_templates.py | 302 | |
| MEDIUM | tests/unit/test_strongswan_templates.py | 305 | |
| MEDIUM | tests/unit/test_strongswan_templates.py | 306 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/unit/test_strongswan_templates.py | 30 | # Simple mock - just return True for now |
| MEDIUM | tests/unit/test_yaml_jinja2_expressions.py | 162 | """Get a comprehensive set of test variables for expression validation.""" |
| MEDIUM | tests/unit/test_template_rendering.py | 43 | """Get a comprehensive set of test variables for template rendering""" |
| MEDIUM | roles/dns/tasks/ubuntu.yml | 119 | # Additional hardening on top of comprehensive AppArmor |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | tests/test_cloud_init_template.py | 74 | - sudo apt-get remove -y --purge sshguard || true |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | config.cfg | 1 | --- |
| LOW | tests/integration/mock-apparmor_status.sh | 1 | #!/bin/bash |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/unit/test_template_rendering.py | 319 | |
| LOW | library/lightsail_region_facts.py | 58 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | library/scaleway_compute.py | 294 | def perform_action(compute_api, server, action): |