Lightweight static analysis for many languages. Find bug variants with patterns that look like source code.
1828 matches across 20 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/patterns/python/cp_exception.py | 1 | def throw_must_not_go_through_else(): |
| LOW | tests/patterns/python/cp_exception.py | 15 | def no_throw_goes_through_else(): |
| LOW | tests/patterns/python/cp_exception.py | 27 | def may_throw_goes_through_catch_and_else(): |
| LOW | tests/patterns/python/cp_exception.py | 41 | def exception_or_not_goes_through_finally(): |
| LOW | tests/patterns/python/cp_exception.py | 55 | def non_nested_try_statements_are_independent(): |
| LOW | tests/rules/taint_exception.py | 93 | def throw_must_not_go_through_else(input): |
| LOW | tests/rules/taint_exception.py | 110 | def no_throw_goes_through_else(input): |
| LOW | tests/rules/taint_exception.py | 126 | def may_throw_goes_through_catch_and_else(input): |
| LOW | tests/rules/taint_exception.py | 143 | def exception_or_not_goes_through_finally(input): |
| LOW | tests/rules/taint_exception.py | 161 | def throw_may_go_through_catch_and_propagates(input): |
| LOW | tests/perf/timeout.js | 1075 | function isStartEmulateButtonPresent() { |
| LOW | tests/perf/timeout.js | 1136 | function checkCartIdFieldAndToggleBind(cartIdField) { |
| LOW | tests/perf/timeout.js | 1238 | function revertAutocompleteNormalize() { |
| LOW | tests/perf/timeout.js | 1262 | function addCustomerListBtnHandler() { |
| LOW | tests/perf/timeout.js | 1343 | function asmAifSectionClickHandler() { |
| LOW | tests/perf/timeout.js | 1385 | function getCurrentEmulatedCustomerId() { |
| LOW | tests/perf/timeout.js | 1483 | function populateCustomerListModal(targetUrl, componentToUpdate, callFunction) { |
| LOW | tests/perf/timeout.js | 1520 | function addRatesTableSorterParser() { |
| LOW | tests/perf/timeout.js | 1793 | function getNodeFromRowAndCellIndex(rows, rowIndex, cellIndex) { |
| LOW | tests/perf/timeout.js | 1926 | function computeTableHeaderCellIndexes(t) { |
| LOW | tests/perf/timeout.js | 1995 | function checkHeaderOptionsSortingLocked(table, i) { |
| LOW | tests/perf/three.js | 21805 | function materialNeedsSmoothNormals ( material ) { |
| LOW | tests/perf/three.js | 21833 | function bufferGuessVertexColorType( material ) { |
| LOW | tests/perf/three.js | 24365 | function unrollImmediateBufferMaterial ( globject ) { |
| LOW | cli/tests/conftest.py | 103 | def pytest_collection_modifyitems( |
| LOW | cli/tests/conftest.py | 638 | def _mk_osemgrep_project_root(): |
| LOW | cli/tests/conftest.py | 685 | def run_semgrep_on_copied_files( |
| LOW | cli/tests/conftest.py | 704 | def run_semgrep_in_test_folder( |
| LOW | cli/tests/conftest.py | 757 | def lockfile_path_in_tmp_for_perf(monkeypatch: pytest.MonkeyPatch, tmp_path: Path): |
| LOW | cli/tests/default/unit/test_version.py | 19 | def test_version_check_caching(tmp_path, mocker, monkeypatch): |
| LOW | …i/tests/default/unit/test_resolve_dependency_source.py | 26 | def test_handle_missing_parser_for_lockfile(mock_parsers_dict) -> None: |
| LOW | …i/tests/default/unit/test_resolve_dependency_source.py | 60 | def test_dependency_parser_exception(mock_parsers_dict) -> None: |
| LOW | cli/tests/default/unit/test_run_scan.py | 45 | def test_raises_invalid_rule_schema_under_none(): |
| LOW | cli/tests/default/unit/test_run_scan.py | 56 | def test_no_raise_under_full_even_with_rule_parse_error(): |
| LOW | cli/tests/default/unit/test_run_scan.py | 63 | def test_no_raise_under_none_when_no_rule_parse_errors(): |
| LOW | cli/tests/default/unit/test_config_resolver.py | 52 | def mocked_rpc_validation_error(mocker): |
| LOW | cli/tests/default/unit/test_config_resolver.py | 106 | def test__fetch_semgrep_cloud_platform_scan_config( |
| LOW | cli/tests/default/unit/test_config_resolver.py | 140 | def test__fetch_semgrep_cloud_platform_scan_config__fallback( |
| LOW | cli/tests/default/unit/test_config_resolver.py | 213 | def test__download_semgrep_cloud_platform_scan_config_success( |
| LOW | cli/tests/default/unit/test_config_resolver.py | 234 | def test__download_semgrep_cloud_platform_scan_config_unauthorized( |
| LOW | cli/tests/default/unit/test_config_resolver.py | 254 | def test__project_metadata_for_standalone_scan( |
| LOW | cli/tests/default/unit/test_config_resolver.py | 266 | def test__project_metadata_for_standalone_scan__no_repo_throws( |
| LOW | cli/tests/default/unit/test_config_resolver.py | 275 | def test__project_metadata_for_standalone_scan__no_repo_success( |
| LOW | cli/tests/default/unit/test_config_resolver.py | 318 | def test_parse_config_string_jsonschema_fallback(mocked_rpc_validation_error): |
| LOW | cli/tests/default/unit/test_config_resolver.py | 343 | def test_parse_config_string_as_rules_no_surrogate_pairs_in_rules_file(mocker): |
| LOW | cli/tests/default/unit/test_config_resolver.py | 383 | def test_parse_config_string_skips_validation_when_none(mocker): |
| LOW | cli/tests/default/unit/test_config_resolver.py | 421 | def test_parse_config_string_core_only_skips_jsonschema_under_force(mocker): |
| LOW | cli/tests/default/unit/test_config_resolver.py | 460 | def test_parse_config_string_validates_core_rules_by_default(mocker): |
| LOW | cli/tests/default/unit/test_config_resolver.py | 489 | def test_yaml_schema_error_points_to_correct_rule(mocked_rpc_validation_error): |
| LOW | cli/tests/default/unit/test_config_resolver.py | 514 | def test_yaml_schema_error_picks_correct_rule_among_many(mocked_rpc_validation_error): |
| LOW | cli/tests/default/unit/test_config_resolver.py | 542 | def test_json_schema_error_shows_filename(mocked_rpc_validation_error): |
| LOW | cli/tests/default/unit/test_config_resolver.py | 559 | def test_yaml_schema_error_message_content(mocked_rpc_validation_error): |
| LOW | cli/tests/default/unit/test_yaml_parsing.py | 105 | def test_default_yaml_type_safe(): |
| LOW | cli/tests/default/unit/test_yaml_parsing.py | 123 | def test_invalid_metavariable_regex(): |
| LOW | cli/tests/default/unit/test_yaml_parsing.py | 146 | def test_invalid_metavariable_comparison(): |
| LOW | cli/tests/default/unit/test_yaml_parsing.py | 192 | def test_invalid_pattern_child(): |
| LOW | cli/tests/default/unit/test_yaml_parsing.py | 216 | def test_invalid_rule_with_null(): |
| LOW | cli/tests/default/unit/test_join_rule.py | 60 | def test_condition_parse_dot_behavior(): |
| LOW | cli/tests/default/unit/test_join_rule.py | 89 | def test_invalid_condition_string(condition_string): |
| LOW | cli/tests/default/unit/test_join_rule.py | 106 | def test_create_collection_set_from_conditions(): |
| 621 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | .pre-commit-config.yaml | 1 | # coupling: if you add a check in this file, please add it first in |
| LOW | .pre-commit-config.yaml | 161 | hooks: |
| LOW | .pre-commit-config.yaml | 241 | # TODO: remove once file targeting is revamped and supports |
| LOW | .pre-commit-config.yaml | 261 | # batches and run one semgrep per batch. This is why it's |
| LOW | .pre-commit-hooks.yaml | 1 | # See https://pre-commit.com/#new-hooks for more information on this file. |
| LOW | semgrep.yml | 1 | # This file contains Semgrep rules. See https://semgrep.dev for more info. |
| LOW | mypy-tests.ini | 1 | # TODO: explain why we have a different mypy setup for test code. |
| LOW | setup.py | 1 | # |
| LOW | tests/patterns/go/partial_single_field2.go | 1 | package main |
| LOW | tests/patterns/go/misc_ref_new.go | 21 | //body, err := io.ReadAll(res.Body) |
| LOW | tests/patterns/python/python2.py | 1 | #ERROR: match |
| LOW | tests/patterns/python/import_metavar_fullpath.py | 1 | # what actually matters in this test is the value bound to $X |
| LOW | tests/patterns/python/cp_label.py | 1 | # This is not actually valid Python. Python does not allow comments after line |
| LOW | tests/patterns/python/misc_fake_propa.py | 1 | # This used to generate a FakeTokStr exn when we introduced the |
| LOW | tests/patterns/js/infer_const_regexp.js | 1 | // Constant propagation should work with regexp literals just like string |
| LOW | tests/patterns/rust/attribute_matching.rs | 41 | // MATCH: |
| LOW | tests/patterns/rust/misc_naming_recursion.rs | 1 | // this was causing -dump_named_ast to recurse indefinitely |
| LOW | tests/patterns/java/metavar_typed_bool.java | 41 | |
| LOW | tests/patterns/json/metavar_array.json | 1 | // Note that this file is not really a valid JSON file because |
| LOW | …erns/cpp/parsing_todo_tree_sitter/non_recoverable1.cpp | 21 | #include "tensorflow/core/framework/tensor_util.h" |
| LOW | …erns/cpp/parsing_todo_tree_sitter/non_recoverable1.cpp | 261 | unit_dimension++; |
| LOW | …erns/cpp/parsing_todo_tree_sitter/non_recoverable1.cpp | 281 | // |
| LOW | tests/patterns/csharp/todo/misc_linq.cs | 1 | // this used to not match because of bad interaction with -fast |
| LOW | tests/patterns/ruby/metavar_interpolated.rb | 1 | # https://github.com/returntocorp/semgrep/issues/3560 |
| LOW | tests/autofix/python/metavar_string2.py | 1 | # Forked from metavar_string.py to comment out the f string below but test |
| LOW | tests/autofix/ts/fix_cast.ts | 1 | // Regression test for https://github.com/returntocorp/semgrep/issues/6233. The |
| LOW | tests/rules_error_recovery/lines_of_file_outofbound.tf | 1 | # On this target file, we get some parse errors on the "bar" field |
| LOW | tests/rules/typed_metavar_metavar_regex.go | 1 | func f(c *http.Request) { |
| LOW | tests/rules/kotlin_slow_import.kt | 21 | // "acceptCharset: ${req.acceptCharset()} \n" + |
| LOW | tests/rules/kotlin_slow_import.kt | 41 | // "local.uri: ${local.uri} \n" + |
| LOW | tests/rules/pattern_regex_inside.py | 1 | # from https://github.com/returntocorp/semgrep/issues/912 |
| LOW | tests/rules/macro_arg_taint.rs | 1 | // if this does not properly translate the macro args, |
| LOW | tests/rules/sym_prop_no_merge1.go | 1 | func test() { |
| LOW | tests/rules/taint_labels_rec.rs | 1 | async fn test(client: Client, id: String) -> Option<Json<Post>> { |
| LOW | tests/rules/relevant_rule_badutf8.js | 1 | // Char below somehow causes PCRE engine to throw a BadUTF8 error. |
| LOW | tests/rules/date_comparison.py | 1 | #ok: date_rule |
| LOW | tests/parsing/js/cp_assign_record_assign.js | 1 | // This used to raise `Impossible` during constant propagation because |
| LOW | tests/parsing/dart/dart3_grammar_features.dart | 1 | // Smoke test for grammar features added by the tree-sitter-dart bump: |
| LOW | tests/parsing/java/textblocks.java | 1 | //@Controller |
| LOW | tests/parsing/java/textblocks.java | 21 | |
| LOW | tests/parsing/swift/expressions.swift | 41 | // correctly parsed, even though that issue has been mitigated. |
| LOW | tests/parsing/swift/expressions.swift | 241 | ({ x in x }); |
| LOW | tests/perf/three.js | 30161 | points.push( points[ 0 ] ); |
| LOW | tests/perf/three.js | 30501 | // |
| LOW | tests/perf/three.js | 31321 | // var c = []; |
| LOW | cli/pyproject.toml | 41 | |
| LOW | cli/setup.py | 1 | # |
| LOW | cli/tests/conftest.py | 1 | # |
| LOW | cli/tests/conftest.py | 21 | # |
| LOW | cli/tests/conftest.py | 601 | # Fixtures |
| LOW | cli/tests/semgrep_runner.py | 1 | # |
| LOW | cli/tests/semgrep_runner.py | 61 | / "semgrep" |
| LOW | cli/tests/fixtures.py | 1 | # |
| LOW | cli/tests/default/unit/test_version.py | 1 | # |
| LOW | …i/tests/default/unit/test_resolve_dependency_source.py | 1 | # |
| LOW | cli/tests/default/unit/test_engine_type.py | 1 | # |
| LOW | cli/tests/default/unit/test_engine_type.py | 41 | # |
| LOW | cli/tests/default/unit/test_run_scan.py | 1 | # |
| LOW | cli/tests/default/unit/test_config_resolver.py | 1 | # |
| LOW | cli/tests/default/unit/test_yaml_parsing.py | 1 | # |
| 446 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | tests/precommit_dogfooding/python.yml | 6561 | - pattern: cryptography.hazmat.primitives.asymmetric.dsa.generate_private_key(..., |
| CRITICAL | tests/precommit_dogfooding/python.yml | 6563 | - pattern: cryptography.hazmat.primitives.asymmetric.dsa.generate_private_key($SIZE, |
| CRITICAL | tests/precommit_dogfooding/python.yml | 7675 | - pattern-inside: cryptography.hazmat.primitives.asymmetric.ec.generate_private_key(...) |
| CRITICAL | tests/precommit_dogfooding/python.yml | 8333 | pattern: cryptography.hazmat.primitives.ciphers.algorithms.ARC4(...) |
| CRITICAL | tests/precommit_dogfooding/python.yml | 8539 | pattern: cryptography.hazmat.primitives.ciphers.algorithms.Blowfish(...) |
| CRITICAL | tests/precommit_dogfooding/python.yml | 8807 | - pattern: cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key(..., |
| CRITICAL | tests/precommit_dogfooding/python.yml | 8809 | - pattern: cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key($EXP, |
| CRITICAL | tests/precommit_dogfooding/python.yml | 8903 | pattern: cryptography.hazmat.primitives.ciphers.algorithms.IDEA(...) |
| CRITICAL | tests/precommit_dogfooding/python.yml | 9143 | pattern: cryptography.hazmat.primitives.ciphers.modes.ECB(...) |
| CRITICAL | tests/rules/not_found_exn2.yaml | 7 | cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key(..., key_size=$VALUE, ...) |
| CRITICAL | tests/rules/tainted-file-path.yaml | 10 | org.apache.commons.io.FilenameUtils.getName(...) to only retrieve the file |
| CRITICAL | perf/r2c-rules/r2c-security-audit.yml | 1055 | method such as org.apache.commons.io.FilenameUtils.getName(...) to only |
| CRITICAL | perf/r2c-rules/r2c-security-audit.yml | 2020 | - pattern: java.nio.file.Files.setPosixFilePermissions($FILE, java.nio.file.attribute.PosixFilePermissions.fromStr |
| CRITICAL | perf/r2c-rules/r2c-security-audit.yml | 2022 | $TYPE $P = java.nio.file.attribute.PosixFilePermissions.fromString("=~/(^......r..$)|(^.......w.$)|(^........x |
| CRITICAL | perf/r2c-rules/r2c-security-audit.yml | 2418 | method such as org.apache.commons.io.FilenameUtils.getName(...) to only |
| CRITICAL | perf/r2c-rules/r2c-security-audit.yml | 3800 | pattern: cryptography.hazmat.primitives.ciphers.algorithms.Blowfish(...) |
| CRITICAL | perf/r2c-rules/r2c-security-audit.yml | 3815 | pattern: cryptography.hazmat.primitives.ciphers.algorithms.IDEA(...) |
| CRITICAL | perf/r2c-rules/r2c-security-audit.yml | 3830 | pattern: cryptography.hazmat.primitives.ciphers.algorithms.ARC4(...) |
| CRITICAL | perf/r2c-rules/r2c-security-audit.yml | 3846 | pattern: cryptography.hazmat.primitives.ciphers.modes.ECB(...) |
| CRITICAL | perf/r2c-rules/r2c-security-audit.yml | 3899 | - pattern-inside: cryptography.hazmat.primitives.asymmetric.ec.generate_private_key(...) |
| CRITICAL | perf/r2c-rules/r2c-ci.yml | 556 | method such as org.apache.commons.io.FilenameUtils.getName(...) to only |
| CRITICAL | perf/r2c-rules/r2c-ci.yml | 891 | method such as org.apache.commons.io.FilenameUtils.getName(...) to only |
| CRITICAL | perf/r2c-rules/r2c-ci.yml | 1784 | pattern: cryptography.hazmat.primitives.ciphers.algorithms.Blowfish(...) |
| CRITICAL | perf/r2c-rules/r2c-ci.yml | 1799 | pattern: cryptography.hazmat.primitives.ciphers.algorithms.IDEA(...) |
| CRITICAL | perf/r2c-rules/r2c-ci.yml | 1814 | pattern: cryptography.hazmat.primitives.ciphers.algorithms.ARC4(...) |
| CRITICAL | perf/r2c-rules/r2c-ci.yml | 1830 | pattern: cryptography.hazmat.primitives.ciphers.modes.ECB(...) |
| CRITICAL | perf/r2c-rules/r2c-ci.yml | 1883 | - pattern-inside: cryptography.hazmat.primitives.asymmetric.ec.generate_private_key(...) |
| CRITICAL | perf/r2c-rules/java.yml | 16 | method such as org.apache.commons.io.FilenameUtils.getName(...) to only |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | .pre-commit-config.yaml | 19 | # ---------------------------------------------------------- |
| MEDIUM | .pre-commit-config.yaml | 21 | # ---------------------------------------------------------- |
| MEDIUM | .pre-commit-config.yaml | 60 | # ---------------------------------------------------------- |
| MEDIUM | .pre-commit-config.yaml | 62 | # ---------------------------------------------------------- |
| MEDIUM | .pre-commit-config.yaml | 163 | # ---------------------------------------------------------- |
| MEDIUM | .pre-commit-config.yaml | 165 | # ---------------------------------------------------------- |
| MEDIUM | .pre-commit-config.yaml | 182 | # ---------------------------------------------------------- |
| MEDIUM | .pre-commit-config.yaml | 184 | # ---------------------------------------------------------- |
| MEDIUM | .pre-commit-config.yaml | 201 | # ---------------------------------------------------------- |
| MEDIUM | .pre-commit-config.yaml | 203 | # ---------------------------------------------------------- |
| MEDIUM | .pre-commit-config.yaml | 225 | # ---------------------------------------------------------- |
| MEDIUM | .pre-commit-config.yaml | 227 | # ---------------------------------------------------------- |
| MEDIUM | cli/tests/default/unit/test_scans_v2.py | 174 | # --------------------------------------------------------------------------- |
| MEDIUM | cli/tests/default/unit/test_scans_v2.py | 176 | # --------------------------------------------------------------------------- |
| MEDIUM | cli/tests/default/unit/test_scans_v2.py | 246 | # --------------------------------------------------------------------------- |
| MEDIUM | cli/tests/default/unit/test_scans_v2.py | 248 | # --------------------------------------------------------------------------- |
| MEDIUM | cli/tests/default/mcp/test_supply_chain_hook.py | 21 | # --------------------------------------------------------------------------------- |
| MEDIUM | cli/tests/default/mcp/test_supply_chain_hook.py | 23 | # --------------------------------------------------------------------------------- |
| MEDIUM | cli/tests/default/mcp/test_supply_chain_hook.py | 159 | # --------------------------------------------------------------------------------- |
| MEDIUM | cli/tests/default/mcp/test_supply_chain_hook.py | 161 | # --------------------------------------------------------------------------------- |
| MEDIUM | cli/tests/default/mcp/test_supply_chain_hook.py | 213 | # --------------------------------------------------------------------------------- |
| MEDIUM | cli/tests/default/mcp/test_supply_chain_hook.py | 215 | # --------------------------------------------------------------------------------- |
| MEDIUM | cli/src/semgrep/git.py | 437 | # ============================== |
| MEDIUM | cli/src/semgrep/git.py | 439 | # ============================== |
| MEDIUM | cli/src/semgrep/git.py | 462 | # ================================== |
| MEDIUM | cli/src/semgrep/git.py | 464 | # ================================== |
| MEDIUM | cli/src/semgrep/run_scan.py | 1048 | # --------------------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1050 | # --------------------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1084 | # --------------------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1086 | # --------------------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1109 | # --------------------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1111 | # --------------------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1132 | # --------------------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1134 | # --------------------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1327 | # ---------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1329 | # ---------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1390 | # ---------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1392 | # ---------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1429 | # ---------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1431 | # ---------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1516 | # ---------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1518 | # ---------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1586 | # --------------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1588 | # --------------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1624 | # --------------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1626 | # --------------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1650 | # --------------------------------- |
| MEDIUM | cli/src/semgrep/run_scan.py | 1652 | # --------------------------------- |
| MEDIUM | cli/src/semgrep/mcp/server.py | 69 | # --------------------------------------------------------------------------------- |
| MEDIUM | cli/src/semgrep/mcp/server.py | 71 | # --------------------------------------------------------------------------------- |
| MEDIUM | cli/src/semgrep/mcp/server.py | 160 | # --------------------------------------------------------------------------------- |
| MEDIUM | cli/src/semgrep/mcp/server.py | 162 | # --------------------------------------------------------------------------------- |
| MEDIUM | cli/src/semgrep/mcp/server.py | 489 | # --------------------------------------------------------------------------------- |
| MEDIUM | cli/src/semgrep/mcp/server.py | 491 | # --------------------------------------------------------------------------------- |
| MEDIUM | cli/src/semgrep/mcp/server.py | 509 | # --------------------------------------------------------------------------------- |
| MEDIUM | cli/src/semgrep/mcp/server.py | 511 | # --------------------------------------------------------------------------------- |
| MEDIUM | cli/src/semgrep/mcp/server.py | 1309 | # --------------------------------------------------------------------------------- |
| MEDIUM | cli/src/semgrep/mcp/server.py | 1311 | # --------------------------------------------------------------------------------- |
| MEDIUM | cli/src/semgrep/mcp/server.py | 1350 | # --------------------------------------------------------------------------------- |
| MEDIUM | cli/src/semgrep/mcp/server.py | 1352 | # --------------------------------------------------------------------------------- |
| 30 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/patterns/python/wildcard_qualified.py | 1 | |
| LOW | tests/patterns/python/already_resolved_with_wildcard.py | 2 | |
| LOW | tests/patterns/python/misc_import.py | 2 | |
| LOW | tests/patterns/python/misc_import.py | 4 | |
| LOW | tests/patterns/python/scoped_wildcard.py | 11 | |
| LOW | tests/patterns/python/import_negatives.py | 2 | |
| LOW | tests/patterns/python/import_negatives.py | 4 | |
| LOW | tests/patterns/python/import_negatives.py | 6 | |
| LOW | tests/patterns/python/import_negatives2.py | 2 | |
| LOW | tests/patterns/python/import_negatives2.py | 4 | |
| LOW | tests/patterns/python/import_negatives2.py | 6 | |
| LOW | tests/patterns/python/import_metavar_fullpath.py | 6 | |
| LOW | tests/patterns/python/import_metavar_fullpath.py | 8 | |
| LOW | tests/patterns/python/import_metavar_fullpath.py | 10 | |
| LOW | tests/patterns/python/import_metavar_fullpath.py | 12 | |
| LOW | tests/patterns/python/import_metavar_fullpath.py | 14 | |
| LOW | tests/patterns/python/import_metavar_fullpath.py | 16 | |
| LOW | tests/patterns/python/misc_regression1.py | 1 | |
| LOW | tests/patterns/python/imports.py | 3 | |
| LOW | tests/patterns/python/imports.py | 6 | |
| LOW | tests/patterns/python/imports.py | 8 | |
| LOW | tests/patterns/python/imports.py | 11 | |
| LOW | tests/patterns/python/imports.py | 12 | |
| LOW | tests/patterns/python/imports.py | 12 | |
| LOW | tests/patterns/python/imports.py | 14 | |
| LOW | tests/patterns/python/imports.py | 14 | |
| LOW | tests/patterns/python/imports.py | 16 | |
| LOW | tests/patterns/python/imports.py | 16 | |
| LOW | tests/patterns/python/imports.py | 20 | |
| LOW | tests/patterns/python/imports.py | 21 | |
| LOW | tests/patterns/python/imports.py | 22 | |
| LOW | tests/patterns/python/imports.py | 23 | |
| LOW | tests/patterns/python/imports.py | 25 | |
| LOW | tests/patterns/python/imports.py | 26 | |
| LOW | tests/patterns/python/imports.py | 27 | |
| LOW | tests/patterns/python/imports.py | 28 | |
| LOW | tests/patterns/python/imports.py | 29 | |
| LOW | tests/patterns/python/imports.py | 30 | |
| LOW | tests/patterns/python/imports.py | 31 | |
| LOW | tests/patterns/python/imports.py | 32 | |
| LOW | tests/patterns/python/imports.py | 33 | |
| LOW | tests/patterns/python/imports.py | 36 | |
| LOW | tests/patterns/python/imports.py | 36 | |
| LOW | tests/patterns/python/imports.py | 39 | |
| LOW | tests/patterns/python/imports.py | 39 | |
| LOW | tests/patterns/python/imports.py | 42 | |
| LOW | tests/patterns/python/imports.py | 45 | |
| LOW | tests/patterns/python/imports.py | 46 | |
| LOW | tests/patterns/python/imports.py | 47 | |
| LOW | tests/patterns/python/imports.py | 48 | |
| LOW | tests/patterns/python/imports.py | 50 | |
| LOW | tests/patterns/python/imports.py | 51 | |
| LOW | tests/patterns/python/imports.py | 52 | |
| LOW | tests/patterns/python/imports.py | 53 | |
| LOW | tests/patterns/python/imports.py | 54 | |
| LOW | tests/patterns/python/imports.py | 55 | |
| LOW | tests/patterns/python/imports.py | 56 | |
| LOW | tests/patterns/python/imports.py | 57 | |
| LOW | tests/patterns/python/imports.py | 62 | |
| LOW | tests/patterns/python/imports.py | 62 | |
| 128 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | CHANGELOG.md | 2680 | except Exception: |
| LOW | CHANGELOG.md | 10214 | except Exception: |
| LOW | tests/patterns/python/deep_try.py | 5 | except Exception: |
| LOW | tests/patterns/python/cp_exception.py | 5 | except Exception as e: |
| LOW | tests/patterns/python/cp_exception.py | 19 | except Exception as e: |
| LOW | tests/patterns/python/cp_exception.py | 31 | except Exception as e: |
| LOW | tests/patterns/python/cp_exception.py | 45 | except Exception as e: |
| LOW | tests/patterns/python/cp_exception.py | 62 | except Exception as e: |
| LOW | tests/patterns/python/cp_exception.py | 75 | except Exception as e: |
| LOW | tests/patterns/python/misc_exn.py | 5 | except Exception: |
| LOW | tests/rules/taint_exception.py | 14 | except Exception as e: |
| LOW | tests/rules/taint_exception.py | 25 | except Exception as e: |
| LOW | tests/rules/taint_exception.py | 59 | except Exception as e: |
| LOW | tests/rules/taint_exception.py | 70 | except Exception as e: |
| LOW | tests/rules/taint_exception.py | 98 | except Exception as e: |
| LOW | tests/rules/taint_exception.py | 115 | except Exception as e: |
| LOW | tests/rules/taint_exception.py | 131 | except Exception as e: |
| LOW | tests/rules/taint_exception.py | 148 | except Exception as e: |
| LOW | tests/rules/taint_exception.py | 171 | except Exception as e: |
| LOW | tests/rules/taint_exception.py | 185 | except Exception as e: |
| LOW | tests/rules/taint_clean_in_try_no_finally.py | 5 | except Exception: |
| LOW | tests/parsing/python/as_pattern.py | 3 | except Exception as e: |
| LOW | cli/setup.py | 49 | except Exception: |
| MEDIUM | cli/setup.py | 38 | def linux_detect_libc(): |
| LOW | cli/tests/default/unit/test_error_handler.py | 185 | except Exception: |
| LOW | cli/tests/default/unit/test_error_handler.py | 223 | except Exception: |
| LOW | cli/tests/default/unit/test_error_handler.py | 254 | except Exception: |
| LOW | cli/src/semdep/package_restrictions.py | 59 | except Exception as e: |
| LOW | cli/src/semdep/parsers/util.py | 92 | except Exception as e: |
| LOW | cli/src/semdep/parsers/util.py | 382 | except Exception as e: |
| LOW | cli/src/semdep/parsers/poetry.py | 281 | except Exception as e: |
| MEDIUM | cli/src/semgrep/metrics.py | 670 | def gather_click_params(self) -> None: |
| LOW | cli/src/semgrep/metrics.py | 232 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 241 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 247 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 421 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 429 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 437 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 443 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 449 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 455 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 461 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 468 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 608 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 617 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 626 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 635 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 258 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 284 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 296 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 337 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 346 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 381 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 490 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 510 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 529 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 553 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 592 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 683 | except Exception as e: |
| LOW | cli/src/semgrep/metrics.py | 734 | except Exception as e: |
| 59 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | semgrep.yml | 1 | # This file contains Semgrep rules. See https://semgrep.dev for more info. |
| MEDIUM | semgrep.yml | 8 | # This file is also used in CI, see .circleci/config.yml |
| MEDIUM | cli/tests/default/unit/test_saved_scan_config.py | 53 | # Create a handler that will dump the config when handling a scan response |
| MEDIUM | cli/tests/default/unit/test_saved_scan_config.py | 62 | # Create a second handler that loads the saved config via start_scan |
| MEDIUM | cli/tests/default/unit/test_symbol_analysis.py | 169 | # Create a Java file and gradle lockfile |
| MEDIUM | cli/tests/default/unit/test_symbol_analysis.py | 553 | # Create a subproject directory but scan a different directory |
| MEDIUM | cli/tests/default/e2e-other/parsers/test_yarn.py | 297 | """# This file is generated by running "yarn install" inside your project. |
| MEDIUM | cli/tests/default/e2e-other/parsers/test_yarn.py | 405 | """# This file is generated by running "yarn install" inside your project. |
| MEDIUM | cli/tests/default/e2e/test_ignores.py | 29 | # This file is included by the .semgrepignore above. |
| MEDIUM | cli/tests/default/e2e/test_diff_scan_preserves_repo.py | 51 | # Create the rule file (untracked) |
| MEDIUM | …fault/e2e/targets/parse_metrics/partial-parse-error.rb | 193 | # This method is called to process HTTP requests |
| MEDIUM | cli/tests/default/e2e/targets/parse_metrics/ok.rb | 33 | # Create an instance of the Sensu client process, start the |
| MEDIUM | cli/tests/default/e2e/targets/parse_metrics/ok.rb | 57 | # Create a Sensu client keepalive payload, to be sent over the |
| MEDIUM | cli/tests/default/e2e/targets/parse_metrics/ok.rb | 125 | # Create an in progress key for a check, used to determine if an |
| MEDIUM | cli/tests/default/e2e/targets/parse_metrics/ok.rb | 377 | # Create a check execution proc, used to execute standalone |
| MEDIUM | cli/tests/default/e2e/targets/parse_metrics/ok.rb | 560 | # Create a check result intended for deregistering a client. |
| MEDIUM | …default/e2e/targets/dependency_aware/dart/pubspec.yaml | 66 | # The following section is specific to Flutter packages. |
| MEDIUM | cli/src/semdep/parsers/composer.py | 17 | # Import necessary modules and classes |
| MEDIUM | cli/src/semdep/parsers/util.py | 76 | """This class is a callable wrapper around a lockfile and manifest parser |
| MEDIUM | cli/src/semdep/parsers/yarn.py | 302 | # This file is generated by running "yarn install" inside your project. |
| MEDIUM | cli/src/semdep/matchers/pip_requirements.py | 178 | # Create a subproject from each group of requirements files and the corresponding manifest |
| MEDIUM | cli/src/semdep/external/packaging/tags.py | 2 | # This file is dual licensed under the terms of the Apache License, Version |
| MEDIUM | cli/src/semdep/external/packaging/version.py | 2 | # This file is dual licensed under the terms of the Apache License, Version |
| MEDIUM | cli/src/semdep/external/packaging/__init__.py | 1 | # This file is dual licensed under the terms of the Apache License, Version |
| MEDIUM | cli/src/semdep/external/packaging/utils.py | 2 | # This file is dual licensed under the terms of the Apache License, Version |
| MEDIUM | cli/src/semdep/external/packaging/_structures.py | 2 | # This file is dual licensed under the terms of the Apache License, Version |
| MEDIUM | cli/src/semdep/external/packaging/__about__.py | 1 | # This file is dual licensed under the terms of the Apache License, Version |
| MEDIUM | cli/src/semdep/external/packaging/specifiers.py | 2 | # This file is dual licensed under the terms of the Apache License, Version |
| MEDIUM | cli/src/semgrep/profile_manager.py | 25 | # This method is an even more rudimentary tool for profiling |
| MEDIUM | cli/src/semgrep/test.py | 13 | # This file is DEPRECATED! Please modify instead osemgrep test in |
| MEDIUM | cli/src/semgrep/join_rule.py | 557 | # Create a model map. This allows dynamically creating DB tables based |
| MEDIUM | cli/src/semgrep/output_extra.py | 22 | # This class is easily extendable if we want to add more information to the CLI output |
| MEDIUM | cli/src/semgrep/output.py | 133 | # This class is the internal representation of OutputSettings below. |
| MEDIUM | cli/src/semgrep/mcp/server.py | 255 | # Create a temporary directory |
| MEDIUM | cli/src/semgrep/console_scripts/entrypoint.py | 2 | # This file is the Semgrep CLI entry point of the Semgrep pip package, |
| MEDIUM | cli/src/semgrep/console_scripts/pysemgrep.py | 16 | # This file is not part of the Python 'semgrep' package; it's a script. |
| MEDIUM | cli/src/semgrep/commands/mcp.py | 185 | # Create a fast MCP server |
| MEDIUM | cli/src/semgrep/external/git_url_parser.py | 1 | # This file is forked from https://github.com/coala/git-url-parse/blob/master/giturlparse/parser.py |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | cli/setup.py | 104 | |
| LOW | cli/tests/conftest.py | 313 | |
| LOW | cli/tests/conftest.py | 425 | |
| LOW | cli/tests/default/unit/test_semgrep_test.py | 50 | |
| LOW | cli/tests/default/e2e-other/test_ssc.py | 602 | |
| LOW | cli/src/semdep/golang_version.py | 226 | |
| LOW | cli/src/semdep/golang_version.py | 332 | |
| LOW | cli/src/semdep/package_restrictions.py | 30 | |
| LOW | cli/src/semdep/maven_version.py | 98 | |
| LOW | cli/src/semdep/maven_version.py | 138 | |
| LOW | cli/src/semdep/parsers/pnpm.py | 480 | |
| LOW | cli/src/semdep/parsers/composer.py | 61 | |
| LOW | cli/src/semdep/parsers/go_mod.py | 107 | |
| LOW | cli/src/semdep/parsers/pom_tree.py | 91 | |
| LOW | cli/src/semdep/parsers/pubspec_lock.py | 39 | |
| LOW | cli/src/semdep/matchers/gradle.py | 98 | |
| LOW | cli/src/semdep/external/packaging/tags.py | 314 | |
| LOW | cli/src/semdep/external/packaging/tags.py | 346 | |
| LOW | cli/src/semdep/external/packaging/version.py | 197 | |
| LOW | cli/src/semdep/external/packaging/version.py | 394 | |
| LOW | cli/src/semdep/external/packaging/_manylinux.py | 267 | |
| LOW | cli/src/semdep/external/packaging/specifiers.py | 752 | |
| LOW | cli/src/semgrep/dependency_aware_rule.py | 146 | |
| LOW | cli/src/semgrep/dependency_aware_rule.py | 323 | |
| LOW | cli/src/semgrep/scan_report.py | 246 | |
| LOW | cli/src/semgrep/scan_report.py | 259 | |
| LOW | cli/src/semgrep/metrics.py | 299 | |
| LOW | cli/src/semgrep/subproject.py | 138 | |
| LOW | cli/src/semgrep/subproject.py | 160 | |
| LOW | cli/src/semgrep/subproject.py | 176 | |
| LOW | cli/src/semgrep/subproject.py | 399 | |
| LOW | cli/src/semgrep/error_location.py | 157 | |
| LOW | cli/src/semgrep/error.py | 249 | |
| LOW | cli/src/semgrep/error.py | 563 | |
| LOW | cli/src/semgrep/error.py | 565 | |
| LOW | cli/src/semgrep/symbol_analysis.py | 87 | |
| LOW | cli/src/semgrep/symbol_analysis.py | 201 | |
| LOW | cli/src/semgrep/rule_match.py | 516 | |
| LOW | cli/src/semgrep/rule_match.py | 579 | |
| LOW | cli/src/semgrep/test.py | 161 | |
| LOW | cli/src/semgrep/core_runner.py | 282 | |
| LOW | cli/src/semgrep/core_runner.py | 880 | |
| LOW | cli/src/semgrep/core_runner.py | 966 | |
| LOW | cli/src/semgrep/run_scan.py | 270 | |
| LOW | cli/src/semgrep/run_scan.py | 404 | |
| LOW | cli/src/semgrep/run_scan.py | 481 | |
| LOW | cli/src/semgrep/run_scan.py | 697 | |
| LOW | cli/src/semgrep/run_scan.py | 950 | |
| LOW | cli/src/semgrep/run_scan.py | 1013 | |
| LOW | cli/src/semgrep/run_scan.py | 1235 | |
| LOW | cli/src/semgrep/target_manager.py | 96 | |
| LOW | cli/src/semgrep/target_manager.py | 239 | |
| LOW | cli/src/semgrep/target_manager.py | 302 | |
| LOW | cli/src/semgrep/target_manager.py | 1190 | |
| LOW | cli/src/semgrep/join_rule.py | 140 | |
| LOW | cli/src/semgrep/rpc.py | 186 | |
| LOW | cli/src/semgrep/engine.py | 45 | |
| LOW | cli/src/semgrep/engine.py | 130 | |
| LOW | cli/src/semgrep/rule.py | 277 | |
| LOW | cli/src/semgrep/rule.py | 295 | |
| 36 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | cli/tests/default/unit/test_config_resolver.py | 0 | { "rules": [ { "id": "test-rule", "message": "test rule", "languages": ["python"], "severity": "warning", "pattern": "$x |
| HIGH | cli/tests/default/unit/test_config_resolver.py | 0 | { "rules": [ { "id": "test-rule", "message": "test rule", "languages": ["python"], "severity": "warning", "pattern": "$x |
| HIGH | cli/tests/default/unit/test_config_resolver.py | 0 | { "rules": [ { "id": "test-rule", "message": "test rule", "languages": ["python"], "severity": "warning", "pattern": "$x |
| HIGH | cli/tests/default/unit/test_error_handler.py | 0 | check that data is posted to fail-open url and zero exit code is returned |
| HIGH | cli/tests/default/unit/test_error_handler.py | 0 | check that data is posted to fail-open url and zero exit code is returned |
| HIGH | cli/tests/default/unit/test_error_handler.py | 0 | check that data is posted to fail-open url and zero exit code is returned |
| HIGH | cli/tests/default/e2e-other/test_ci.py | 0 | test that an invalid api key returns exit code 13, even when errors are supressed |
| HIGH | cli/tests/default/e2e-other/test_ci.py | 0 | test that an invalid api key returns exit code 13, even when errors are supressed |
| HIGH | cli/tests/default/e2e-other/test_ci.py | 0 | test that an invalid api key returns exit code 13, even when errors are supressed |
| HIGH | …lt/e2e/targets/autofix/django-none-password-default.py | 0 | creates and saves a poster with the given email and password. |
| HIGH | …o-none-password-default.py-text-not-dryrun/results.txt | 0 | creates and saves a poster with the given email and password. |
| HIGH | …jango-none-password-default.py-text-dryrun/results.txt | 0 | creates and saves a poster with the given email and password. |
| HIGH | …jango-none-password-default.py-text-dryrun/results.txt | 0 | creates and saves a poster with the given email and password. |
| HIGH | cli/src/semgrep/metrics.py | 0 | assumes configs is list of arguments passed to semgrep using --config |
| HIGH | cli/src/semgrep/metrics.py | 0 | assumes configs is list of arguments passed to semgrep using --config |
| HIGH | cli/src/semgrep/metrics.py | 0 | assumes configs is list of arguments passed to semgrep using --config |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | .pre-commit-hooks.yaml | 14 | # for pre-commit. Essentially, setup.py runs 'pip install semgrep==0.xxx.yyy'. |
| MEDIUM | tests/perf/l10000.js | 3514 | // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes |
| MEDIUM | tests/perf/l10000.js | 3838 | // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes |
| MEDIUM | tests/perf/three.js | 3514 | // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes |
| MEDIUM | tests/perf/three.js | 3838 | // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes |
| MEDIUM | tests/perf/bloom/l10000.js | 3515 | // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes |
| MEDIUM | tests/perf/bloom/l10000.js | 3839 | // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes |
| MEDIUM | cli/tests/default/e2e/targets/parse_metrics/ok.rb | 143 | # tokens. Hook commands may expect/read and utilize JSON |
| MEDIUM | cli/tests/default/e2e/targets/parse_metrics/ok.rb | 251 | # method as a parameter, the extension may utilize it. This |
| MEDIUM | cli/tests/default/e2e/targets/bad/invalid_c_long.c | 1 | /*;--------------------------------------------------------------------------;;This program, "bzip2", the associated lib |
| LOW | cli/src/semdep/parsers/gradle.py | 105 | # support for manifest parsing. In that case just use the lockfile. |
| LOW | cli/src/semdep/external/packaging/specifiers.py | 500 | # version. If it's not we can short circuit and just return False now |
| LOW | cli/src/semdep/external/packaging/specifiers.py | 526 | # version. If it's not we can short circuit and just return False now |
| LOW | cli/src/semdep/external/packaging/specifiers.py | 707 | # then we'll just return None since we don't know if this should have |
| MEDIUM | cli/src/semgrep/dependency_aware_rule.py | 296 | # TODO: associate these in a more robust way. This currently |
| LOW | cli/src/semgrep/git.py | 370 | # If we already know that the base commit is the merge base, just return |
| LOW | cli/src/semgrep/error.py | 541 | # TODO: generalize in a SemgrepCliError and just pass the level, code and type_ |
| LOW | cli/src/semgrep/rpc.py | 135 | # date, let's just use a catch-all. In the end it doesn't really matter |
| LOW | cli/src/semgrep/rule.py | 339 | # /weird/), just return the empty string, and we'll hash based on rule id + |
| MEDIUM | cli/src/semgrep/resolve_dependency_source.py | 460 | # TODO: Reimplement this once more robust error handling for lockfileless resolution is implemented |
| LOW | cli/src/semgrep/mcp/semgrep.py | 235 | # if they exist on the local filesystem, we could just pass the paths |
| LOW | cli/src/semgrep/console_scripts/entrypoint.py | 18 | # semgrep-core, but it is simple from Python because you can simply use |
| MEDIUM | cli/src/semgrep/console_scripts/entrypoint.py | 22 | # Again, it is simpler to use a Python script and leverage importlib.resources. |
| MEDIUM | cli/src/semgrep/console_scripts/entrypoint.py | 172 | # test harness, etc.), set NO_COLOR so cmdliner reverts to plain output. |
| LOW | cli/src/semgrep/semgrep_interfaces/rule_schema_v1.yaml | 281 | # I would normally just use `allOf`, but since it doensn't short circuit, |
| MEDIUM | cli/src/semgrep/semgrep_interfaces/generate.py | 80 | # Constructors are sorted by increasing maturity to facilitate meaningful |
| LOW | cli/src/semgrep/commands/ci.py | 949 | # settings have been passed. So we can just use the "normal" |
| MEDIUM | cli/src/semgrep/commands/scan.py | 872 | # I wish there was an easy way to leverage the engine_params from the |
| MEDIUM | perf/configs/ci_small_repos.yaml | 85 | # For more comprehensive rule timing information |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | cli/tests/default/e2e-other/parsers/test_swiftpm.py | 342 | "branch": null, |
| HIGH | cli/tests/default/e2e-other/parsers/test_swiftpm.py | 351 | "branch": null, |
| HIGH | cli/tests/default/e2e-other/parsers/test_swiftpm.py | 360 | "branch": null, |
| HIGH | cli/src/semgrep/mcp/server.py | 1201 | - Run: `semgrep install-semgrep-pro || true` |
| HIGH | cli/src/semgrep/mcp/hooks/post_tool.py | 43 | # "decision": "block"|undefined, |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | tests/patterns/js/dots_stmts.js | 5 | print("do stuff"); |
| HIGH | tests/patterns/js/deep_exprstmt.js | 10 | print(bar()); |
| HIGH | tests/patterns/ts/deep_exprstmt.ts | 10 | print(bar()); |
| HIGH | tests/patterns/ts/dots_stmts.ts | 5 | print("do stuff"); |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | cli/tests/default/mcp/test_create_temp_files.py | 40 | # Check if temp directory was created |
| LOW | cli/tests/default/mcp/test_create_temp_files.py | 44 | # Check if files were created with correct content |
| LOW | cli/tests/default/mcp/test_create_temp_files.py | 71 | # Check if temp directory was created |
| LOW | cli/tests/default/mcp/test_create_temp_files.py | 101 | # Check if temp directory was created |
| LOW | cli/tests/default/e2e-other/test_ci.py | 2792 | # Check if we should mimic an existing settings file via simulation |
| LOW | cli/src/semdep/golang_version.py | 155 | ): # Check if anything exists after the core version spec |
| LOW | cli/src/semdep/golang_version.py | 251 | # Check if the identifier is a number |
| LOW | cli/src/semdep/matchers/pip_requirements.py | 127 | # Check if the lockfile is in a 'requirements' directory |
| LOW | cli/src/semgrep/scan_report.py | 513 | # Check if any secret rule has the generic secrets AI ruleset |
| LOW | cli/src/semgrep/main.py | 95 | # Check if any of the exclusionary commands are provided |
| LOW | cli/src/semgrep/mcp/server.py | 212 | # Check if normalized path is still absolute |
| LOW | .github/workflows/sync-with-PRO.yml | 64 | # Check if any commits are already synced from Pro |
| LOW | src/main/flags.sh | 46 | # Check if SEMGREP_NIX_BUILD is not set |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/parsing/cpp/operator_templated3.cpp | 7 | :: don't forget to update hdf5_daa_layer.cu accordingly |
| LOW | cli/tests/conftest.py | 501 | # so make sure to explicitly delete any ambient CI variables. |
| LOW | cli/tests/default/e2e/test_permissions.py | 90 | # We make sure to not run as root since it can read files lacking |
| MEDIUM | …default/e2e/targets/dependency_aware/dart/pubspec.yaml | 70 | # included with your application, so that you can use the icons in |
| MEDIUM | cli/src/semgrep/console_scripts/entrypoint.py | 39 | # alt: you can also add '-W ignore::DeprecationWarning' after the python3 above, |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | cli/src/semdep/parsers/pnpm.py | 414 | Parses the dependencies of a package in a `pnpm-lock.yaml` file (version >=9.0). In pnpm-lock.yaml files versi |
| HIGH | cli/src/semgrep/mcp/server.py | 240 | Creates temporary files from code content Args: code_files: List of CodeFile objects Returns: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tests/naming/python/scope.py | 13 | |
| MEDIUM | tests/naming/python/scope.py | 14 | |
| MEDIUM | tests/rules/taint_exception.py | 8 | |
| MEDIUM | tests/rules/taint_exception.py | 53 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | cli/tests/default/unit/test_paths_to_transitivity.py | 106 | This entire paragraph was pretty much generated by Copilot wow |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | cli/src/semgrep/target_manager.py | 250 | # this print statement we need to check if any target is in a |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | scripts/generate_cheatsheet.py | 5 | # Usage: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/rules/taint_clean_in_try_no_finally.py | 1 | def test_function(): |