AI Slop Code RIsk Monitor

semgrep/semgrep

Lightweight static analysis for many languages. Find bug variants with patterns that look like source code.

4.6 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for semgrep/semgrep, a C project with 16,960 GitHub stars. SynthScan examined 774,013 lines of code across 5891 source files, recording 2719 pattern matches distributed across 27 syntactic categories. The legacy adjusted pattern signal is 4.6 (Low 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.

4.6
Adjusted Signal
4.6
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
17.0K
Stars
C
Language
774.0K
Lines of Code
5.9K
Files
2.7K
Pattern Hits
2026-10-12
Scan Date
0.02
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 13.6/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 3.6/100 · LOW

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

Agent Over-Engineering Ratio 10.0/100 · LOW

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

PR Review Velocity Impact 21.0/100 · LOW

Which changes need focused human review? 2719 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 30HIGH 62MEDIUM 173LOW 2454

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 2719 distinct pattern matches across 27 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.

Over-Commented Block939 hits · 931 pts
SeverityFileLineSnippetContext
LOW.pre-commit-config.yaml1# coupling: if you add a check in this file, please add it first inCOMMENT
LOW.pre-commit-config.yaml161 - repo: https://github.com/google/go-jsonnetCOMMENT
LOW.pre-commit-config.yaml241 # do nothing because the target files are passedCOMMENT
LOW.pre-commit-config.yaml261 # it runs on all the files in a repo). In that case ICOMMENT
LOW.pre-commit-hooks.yaml1# See https://pre-commit.com/#new-hooks for more information on this file.COMMENT
LOWsemgrep.yml1# This file contains Semgrep rules. See https://semgrep.dev for more info.COMMENT
LOWmypy-tests.ini1# TODO: explain why we have a different mypy setup for test code.COMMENT
LOWsetup.py1#COMMENT
LOWtests/patterns/go/partial_single_field2.go1package mainCOMMENT
LOWtests/patterns/go/misc_ref_new.go21 //body, err := io.ReadAll(res.Body)COMMENT
LOW…sts/patterns/python/const_fold_edge_floor_div_large.py1# Floor division with dividends >= 2^62 must fold to the correct result.COMMENT
LOWtests/patterns/python/python2.py1#ERROR: matchCOMMENT
LOWtests/patterns/python/import_metavar_fullpath.py1# what actually matters in this test is the value bound to $XCOMMENT
LOWtests/patterns/python/cp_label.py1# This is not actually valid Python. Python does not allow comments after lineCOMMENT
LOWtests/patterns/python/misc_fake_propa.py1# This used to generate a FakeTokStr exn when we introduced theCOMMENT
LOWtests/patterns/js/infer_const_regexp.js1// Constant propagation should work with regexp literals just like stringCOMMENT
LOWtests/patterns/dart/dart_import_package_collision.dart1// Verifies the Naming_utils.unsafe_canonicals guard in Naming_AST: twoCOMMENT
LOWtests/patterns/rust/attribute_matching.rs41// MATCH:COMMENT
LOWtests/patterns/rust/misc_naming_recursion.rs1// this was causing -dump_named_ast to recurse indefinitelyCOMMENT
LOWtests/patterns/java/metavar_typed_bool.java41COMMENT
LOWtests/patterns/json/metavar_array.json1// Note that this file is not really a valid JSON file becauseCOMMENT
LOWtests/patterns/cpp/preprocessor_elif.cpp1#if FIRSTCOMMENT
LOW…erns/cpp/parsing_todo_tree_sitter/non_recoverable1.cpp21#include "tensorflow/core/framework/tensor_util.h"COMMENT
LOW…erns/cpp/parsing_todo_tree_sitter/non_recoverable1.cpp261 unit_dimension++;COMMENT
LOW…erns/cpp/parsing_todo_tree_sitter/non_recoverable1.cpp281//COMMENT
LOWtests/patterns/csharp/todo/misc_linq.cs1// this used to not match because of bad interaction with -fastCOMMENT
LOWtests/patterns/ruby/metavar_interpolated.rb1# https://github.com/returntocorp/semgrep/issues/3560COMMENT
LOWtests/autofix/python/metavar_string2.py1# Forked from metavar_string.py to comment out the f string below but testCOMMENT
LOWtests/autofix/ts/fix_cast.ts1// Regression test for https://github.com/returntocorp/semgrep/issues/6233. TheCOMMENT
LOWtests/rules_v2/const_fold_overflow.py1# Regression tests for 64-bit integer overflow detection in constant folding.COMMENT
LOWtests/rules_error_recovery/lines_of_file_outofbound.tf1# On this target file, we get some parse errors on the "bar" fieldCOMMENT
LOWtests/rules/typed_metavar_metavar_regex.go1func f(c *http.Request) {COMMENT
LOWtests/rules/kotlin_slow_import.kt21 // "acceptCharset: ${req.acceptCharset()} \n" +COMMENT
LOWtests/rules/kotlin_slow_import.kt41 // "local.uri: ${local.uri} \n" +COMMENT
LOWtests/rules/constprop_bitwise.py1# Tests for bitwise, shift, unary, floor-division, modulo, and power operatorCOMMENT
LOWtests/rules/pattern_regex_inside.py1# from https://github.com/returntocorp/semgrep/issues/912COMMENT
LOWtests/rules/macro_arg_taint.rs1// if this does not properly translate the macro args,COMMENT
LOWtests/rules/sym_prop_no_merge1.go1func test() {COMMENT
LOWtests/rules/constprop_sccp.py1# Tests for SCCP (Sparse Conditional Constant Propagation).COMMENT
LOWtests/rules/taint_labels_rec.rs1async fn test(client: Client, id: String) -> Option<Json<Post>> {COMMENT
LOWtests/rules/relevant_rule_badutf8.js1// Char below somehow causes PCRE engine to throw a BadUTF8 error.COMMENT
LOWtests/rules/date_comparison.py1#ok: date_ruleCOMMENT
LOWtests/parsing/js/cp_assign_record_assign.js1// This used to raise `Impossible` during constant propagation becauseCOMMENT
LOWtests/parsing/dart/dart3_grammar_features.dart1// Smoke test for grammar features added by the tree-sitter-dart bump:COMMENT
LOWtests/parsing/java/textblocks.java1//@ControllerCOMMENT
LOWtests/parsing/java/textblocks.java21COMMENT
LOWtests/parsing/swift/expressions.swift41// correctly parsed, even though that issue has been mitigated.COMMENT
LOWtests/parsing/swift/expressions.swift241({ x in x });COMMENT
LOWtests/perf/three.js30161 points.push( points[ 0 ] );COMMENT
LOWtests/perf/three.js30501//COMMENT
LOWtests/perf/three.js31321// var c = [];COMMENT
LOWcli/pyproject.toml41# These specifiers are flexible so semgrep can coexist with other tools.COMMENT
LOWcli/setup.py1#COMMENT
LOWcli/setup.py81COMMENT
LOWcli/tests/conftest.py1#COMMENT
LOWcli/tests/conftest.py21#COMMENT
LOWcli/tests/conftest.py601# FixturesCOMMENT
LOWcli/tests/semgrep_runner.py1#COMMENT
LOWcli/tests/semgrep_runner.py61 / "semgrep"COMMENT
LOWcli/tests/fixtures.py1#COMMENT
879 more matches not shown…
Hyper-Verbose Identifiers908 hits · 914 pts
SeverityFileLineSnippetContext
LOW⚡tests/patterns/python/cp_exception.py1def throw_must_not_go_through_else():CODE
LOW⚡tests/patterns/python/cp_exception.py15def no_throw_goes_through_else():CODE
LOW⚡tests/patterns/python/cp_exception.py27def may_throw_goes_through_catch_and_else():CODE
LOW⚡tests/patterns/python/cp_exception.py41def exception_or_not_goes_through_finally():CODE
LOW⚡tests/patterns/python/cp_exception.py55def non_nested_try_statements_are_independent():CODE
LOWtests/rules/constprop_bitwise.py45def test_bitwise_and_no_match():CODE
LOWtests/rules/constprop_bitwise.py80def test_arith_right_shift_negative():CODE
LOWtests/rules/constprop_bitwise.py94def test_non_constant_operand():CODE
LOWtests/rules/constprop_bitwise.py110def test_bitnot_double_is_identity():CODE
LOWtests/rules/constprop_bitwise.py117def test_bitnot_positive_is_negative():CODE
LOWtests/rules/constprop_bitwise.py135def test_floordiv_both_negative():CODE
LOWtests/rules/constprop_bitwise.py152def test_floordiv_non_constant(n):CODE
LOWtests/rules/constprop_bitwise.py161def test_floordiv_neg_dividend_drives_sccp():CODE
LOWtests/rules/constprop_bitwise.py172def test_floordiv_neg_divisor_drives_sccp():CODE
LOWtests/rules/constprop_sccp_integration.py45def test_multi_hop_arithmetic():CODE
LOWtests/rules/constprop_sccp_integration.py95def test_loop_invariant_then_sccp():CODE
LOWtests/rules/constprop_sccp_integration.py128def test_floordiv_neg_drives_sccp():CODE
LOWtests/rules/constprop_sccp_integration.py170def test_not_equal_drives_sccp():CODE
LOWtests/rules/constprop_sccp_integration.py181def test_comparison_lte_drives_sccp():CODE
LOWtests/rules/constprop_sccp_integration.py193def test_floordiv_unknown_does_not_drive_sccp(n):CODE
LOWtests/rules/constprop_sccp_integration.py203def test_mod_unknown_does_not_drive_sccp(n):CODE
LOWtests/rules/taint_exception.py93def throw_must_not_go_through_else(input):CODE
LOWtests/rules/taint_exception.py110def no_throw_goes_through_else(input):CODE
LOWtests/rules/taint_exception.py126def may_throw_goes_through_catch_and_else(input):CODE
LOWtests/rules/taint_exception.py143def exception_or_not_goes_through_finally(input):CODE
LOWtests/rules/taint_exception.py161def throw_may_go_through_catch_and_propagates(input):CODE
LOWtests/rules/constprop_sccp.py51def test_arithmetic_condition():CODE
LOWtests/rules/constprop_sccp.py88def test_only_defined_in_live_branch():CODE
LOWtests/rules/constprop_sccp.py102def test_dead_branch_propagation():CODE
LOWtests/rules/constprop_sccp.py173def test_greater_than_or_equal_condition():CODE
LOWtests/rules/constprop_sccp.py184def test_less_than_or_equal_false():CODE
LOWtests/rules/constprop_sccp.py198def test_elif_dead_first_branch():CODE
LOWtests/rules/constprop_sccp.py214def test_loop_invariant_drives_sccp():CODE
LOW…/parsing/python/async_generators_and_comprehensions.py31async def await_inside_comprehension():CODE
LOWtests/perf/timeout.js1075function isStartEmulateButtonPresent() {CODE
LOWtests/perf/timeout.js1136function checkCartIdFieldAndToggleBind(cartIdField) {CODE
LOWtests/perf/timeout.js1238function revertAutocompleteNormalize() {CODE
LOWtests/perf/timeout.js1262function addCustomerListBtnHandler() {CODE
LOWtests/perf/timeout.js1343function asmAifSectionClickHandler() {CODE
LOWtests/perf/timeout.js1385function getCurrentEmulatedCustomerId() {CODE
LOWtests/perf/timeout.js1483function populateCustomerListModal(targetUrl, componentToUpdate, callFunction) {CODE
LOWtests/perf/timeout.js1520function addRatesTableSorterParser() {CODE
LOWtests/perf/timeout.js1793 function getNodeFromRowAndCellIndex(rows, rowIndex, cellIndex) {CODE
LOWtests/perf/timeout.js1926 function computeTableHeaderCellIndexes(t) {CODE
LOWtests/perf/timeout.js1995 function checkHeaderOptionsSortingLocked(table, i) {CODE
LOWtests/perf/three.js21805 function materialNeedsSmoothNormals ( material ) {CODE
LOWtests/perf/three.js21833 function bufferGuessVertexColorType( material ) {CODE
LOWtests/perf/three.js24365 function unrollImmediateBufferMaterial ( globject ) {CODE
LOWcli/tests/conftest.py103def pytest_collection_modifyitems(CODE
LOWcli/tests/conftest.py638def _mk_osemgrep_project_root():CODE
LOWcli/tests/conftest.py685def run_semgrep_on_copied_files(CODE
LOWcli/tests/conftest.py704def run_semgrep_in_test_folder(CODE
LOWcli/tests/conftest.py757def lockfile_path_in_tmp_for_perf(monkeypatch: pytest.MonkeyPatch, tmp_path: Path):CODE
LOWcli/tests/default/unit/test_version.py19def test_version_check_caching(tmp_path, mocker, monkeypatch):CODE
LOW…i/tests/default/unit/test_resolve_dependency_source.py28def test_handle_missing_parser_for_lockfile(mock_parsers_dict) -> None:CODE
LOW…i/tests/default/unit/test_resolve_dependency_source.py62def test_dependency_parser_exception(mock_parsers_dict) -> None:CODE
LOW…i/tests/default/unit/test_resolve_dependency_source.py107def test_gradle_module_attribution_rpc_transport(mocker, enabled, persistent):CODE
LOWcli/tests/default/unit/test_dependency_path_wiring.py76def test_subproject_deps_feed_the_parent_index():CODE
LOWcli/tests/default/unit/test_run_scan.py45def test_raises_invalid_rule_schema_under_none():CODE
LOWcli/tests/default/unit/test_run_scan.py56def test_no_raise_under_full_even_with_rule_parse_error():CODE
848 more matches not shown…
Decorative Section Separators100 hits · 308 pts
SeverityFileLineSnippetContext
MEDIUM.pre-commit-config.yaml22 # ----------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml24 # ----------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml63 # ----------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml65 # ----------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml165 # ----------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml167 # ----------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml184 # ----------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml186 # ----------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml203 # ----------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml205 # ----------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml227 # ----------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml229 # ----------------------------------------------------------COMMENT
MEDIUM⚡cli/tests/default/unit/test_scans_v2.py174# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡cli/tests/default/unit/test_scans_v2.py176# ---------------------------------------------------------------------------COMMENT
MEDIUMcli/tests/default/unit/test_scans_v2.py246# ---------------------------------------------------------------------------COMMENT
MEDIUMcli/tests/default/unit/test_scans_v2.py248# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡cli/tests/default/unit/test_scans_v2.py268# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡cli/tests/default/unit/test_scans_v2.py270# ---------------------------------------------------------------------------COMMENT
MEDIUMcli/tests/default/unit/parsers/test_maven_install.py41# ---------------------------------------------------------------------------COMMENT
MEDIUMcli/tests/default/unit/parsers/test_maven_install.py43# ---------------------------------------------------------------------------COMMENT
MEDIUMcli/tests/default/unit/parsers/test_maven_install.py73# ---------------------------------------------------------------------------COMMENT
MEDIUMcli/tests/default/unit/parsers/test_maven_install.py75# ---------------------------------------------------------------------------COMMENT
MEDIUMcli/tests/default/unit/parsers/test_maven_install.py290# ---------------------------------------------------------------------------COMMENT
MEDIUMcli/tests/default/unit/parsers/test_maven_install.py292# ---------------------------------------------------------------------------COMMENT
MEDIUMcli/tests/default/unit/parsers/test_maven_install.py416# ---------------------------------------------------------------------------COMMENT
MEDIUMcli/tests/default/unit/parsers/test_maven_install.py418# ---------------------------------------------------------------------------COMMENT
MEDIUMcli/tests/default/mcp/test_supply_chain_hook.py21# ---------------------------------------------------------------------------------COMMENT
MEDIUMcli/tests/default/mcp/test_supply_chain_hook.py23# ---------------------------------------------------------------------------------COMMENT
MEDIUM⚡cli/tests/default/mcp/test_supply_chain_hook.py159# ---------------------------------------------------------------------------------COMMENT
MEDIUM⚡cli/tests/default/mcp/test_supply_chain_hook.py161# ---------------------------------------------------------------------------------COMMENT
MEDIUM⚡cli/tests/default/mcp/test_supply_chain_hook.py213# ---------------------------------------------------------------------------------COMMENT
MEDIUM⚡cli/tests/default/mcp/test_supply_chain_hook.py215# ---------------------------------------------------------------------------------COMMENT
MEDIUMcli/src/semgrep/git.py487 # ==============================STRING
MEDIUMcli/src/semgrep/git.py489 # ==============================STRING
MEDIUMcli/src/semgrep/git.py512 # ==================================STRING
MEDIUMcli/src/semgrep/git.py514 # ==================================STRING
MEDIUMcli/src/semgrep/run_scan.py1086 # ---------------------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1088 # ---------------------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1122 # ---------------------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1124 # ---------------------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1148 # ---------------------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1150 # ---------------------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1171 # ---------------------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1173 # ---------------------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1380 # ----------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1382 # ----------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1465 # ----------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1467 # ----------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1504 # ----------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1506 # ----------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1597 # ----------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1599 # ----------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1669 # ---------------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1671 # ---------------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1726 # ---------------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1728 # ---------------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1752 # ---------------------------------COMMENT
MEDIUMcli/src/semgrep/run_scan.py1754 # ---------------------------------COMMENT
MEDIUMcli/src/semgrep/mcp/server.py71# ---------------------------------------------------------------------------------COMMENT
MEDIUMcli/src/semgrep/mcp/server.py73# ---------------------------------------------------------------------------------COMMENT
40 more matches not shown…
Hallucination Indicators30 hits · 300 pts
SeverityFileLineSnippetContext
CRITICALtests/precommit_dogfooding/python.yml6561 - pattern: cryptography.hazmat.primitives.asymmetric.dsa.generate_private_key(...,CODE
CRITICALtests/precommit_dogfooding/python.yml6563 - pattern: cryptography.hazmat.primitives.asymmetric.dsa.generate_private_key($SIZE,CODE
CRITICALtests/precommit_dogfooding/python.yml7675 - pattern-inside: cryptography.hazmat.primitives.asymmetric.ec.generate_private_key(...)CODE
CRITICALtests/precommit_dogfooding/python.yml8333 pattern: cryptography.hazmat.primitives.ciphers.algorithms.ARC4(...)CODE
CRITICALtests/precommit_dogfooding/python.yml8539 pattern: cryptography.hazmat.primitives.ciphers.algorithms.Blowfish(...)CODE
CRITICALtests/precommit_dogfooding/python.yml8807 - pattern: cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key(...,CODE
CRITICALtests/precommit_dogfooding/python.yml8809 - pattern: cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key($EXP,CODE
CRITICALtests/precommit_dogfooding/python.yml8903 pattern: cryptography.hazmat.primitives.ciphers.algorithms.IDEA(...)CODE
CRITICALtests/precommit_dogfooding/python.yml9143 pattern: cryptography.hazmat.primitives.ciphers.modes.ECB(...)CODE
CRITICALtests/rules/not_found_exn2.yaml7 cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key(..., key_size=$VALUE, ...)CODE
CRITICALtests/rules/tainted-file-path.yaml10 org.apache.commons.io.FilenameUtils.getName(...) to only retrieve the fileCODE
CRITICAL…rc/semgrep-scala/test/corpus/semgrep_real_patterns.txt444 com.auth0.jwt.algorithms.Algorithm.HMAC256($SECRET);CODE
CRITICAL…g/javascript/test/ok/pfff/parsing/big/minimized.min.js30h.material.uniforms.t2D.value=d;!0===d.matrixAutoUpdate&&d.updateMatrix();h.material.uniforms.uvTransform.value.copy(d.mCODE
CRITICALperf/r2c-rules/r2c-security-audit.yml1055 method such as org.apache.commons.io.FilenameUtils.getName(...) to onlyCODE
CRITICALperf/r2c-rules/r2c-security-audit.yml2020 - pattern: java.nio.file.Files.setPosixFilePermissions($FILE, java.nio.file.attribute.PosixFilePermissions.fromStrCODE
CRITICALperf/r2c-rules/r2c-security-audit.yml2022 $TYPE $P = java.nio.file.attribute.PosixFilePermissions.fromString("=~/(^......r..$)|(^.......w.$)|(^........xCODE
CRITICALperf/r2c-rules/r2c-security-audit.yml2418 method such as org.apache.commons.io.FilenameUtils.getName(...) to onlyCODE
CRITICALperf/r2c-rules/r2c-security-audit.yml3800 pattern: cryptography.hazmat.primitives.ciphers.algorithms.Blowfish(...)CODE
CRITICALperf/r2c-rules/r2c-security-audit.yml3815 pattern: cryptography.hazmat.primitives.ciphers.algorithms.IDEA(...)CODE
CRITICALperf/r2c-rules/r2c-security-audit.yml3830 pattern: cryptography.hazmat.primitives.ciphers.algorithms.ARC4(...)CODE
CRITICALperf/r2c-rules/r2c-security-audit.yml3846 pattern: cryptography.hazmat.primitives.ciphers.modes.ECB(...)CODE
CRITICALperf/r2c-rules/r2c-security-audit.yml3899 - pattern-inside: cryptography.hazmat.primitives.asymmetric.ec.generate_private_key(...)CODE
CRITICALperf/r2c-rules/r2c-ci.yml556 method such as org.apache.commons.io.FilenameUtils.getName(...) to onlyCODE
CRITICALperf/r2c-rules/r2c-ci.yml891 method such as org.apache.commons.io.FilenameUtils.getName(...) to onlyCODE
CRITICALperf/r2c-rules/r2c-ci.yml1784 pattern: cryptography.hazmat.primitives.ciphers.algorithms.Blowfish(...)CODE
CRITICALperf/r2c-rules/r2c-ci.yml1799 pattern: cryptography.hazmat.primitives.ciphers.algorithms.IDEA(...)CODE
CRITICALperf/r2c-rules/r2c-ci.yml1814 pattern: cryptography.hazmat.primitives.ciphers.algorithms.ARC4(...)CODE
CRITICALperf/r2c-rules/r2c-ci.yml1830 pattern: cryptography.hazmat.primitives.ciphers.modes.ECB(...)CODE
CRITICALperf/r2c-rules/r2c-ci.yml1883 - pattern-inside: cryptography.hazmat.primitives.asymmetric.ec.generate_private_key(...)CODE
CRITICALperf/r2c-rules/java.yml16 method such as org.apache.commons.io.FilenameUtils.getName(...) to onlyCODE
Empty Error Handlers43 hits · 215 pts
SeverityFileLineSnippetContext
HIGHtests/patterns/python/deep_try.py5except Exception:CODE
HIGHtests/patterns/python/less_catch_multiple.py4except C:CODE
HIGHtests/patterns/python/less_catch_multiple.py6except B:CODE
HIGHtests/patterns/python/less_catch_multiple.py8except A:CODE
HIGHtests/patterns/python/less_catch_multiple.py14except C:CODE
HIGHtests/patterns/python/less_catch_multiple.py16except A:CODE
HIGHtests/patterns/python/less_catch_multiple.py18except B:CODE
HIGHtests/patterns/python/less_catch_multiple.py23except C:CODE
HIGHtests/patterns/python/less_catch_multiple.py25except A:CODE
HIGHtests/patterns/python/less_catch_multiple.py30except C:CODE
HIGHtests/patterns/python/less_catch_multiple.py32except B:CODE
HIGHtests/patterns/python/less_catch_multiple.py37except A:CODE
HIGHtests/patterns/python/less_catch_multiple.py42except B:CODE
HIGHtests/patterns/python/less_catch_multiple.py44except:CODE
HIGHtests/patterns/python/misc_except_matching.py4except ValueError:CODE
HIGHtests/patterns/python/misc_except_matching.py10except (ValueError, TypeError):CODE
HIGHtests/patterns/python/misc_except_matching.py16except (ValueError):CODE
HIGHtests/patterns/python/dots_except_as.py4except HTTPError as e:CODE
HIGHtests/patterns/python/less_catch.py4except B:CODE
HIGHtests/patterns/python/less_catch.py6except A:CODE
HIGHtests/patterns/python/less_catch.py12except A:CODE
HIGHtests/patterns/python/less_catch.py14except B:CODE
HIGHtests/patterns/python/less_catch.py19except:CODE
HIGHtests/patterns/python/less_catch.py24except B:CODE
HIGHcli/setup.py41except Exception:CODE
HIGHcli/src/semdep/parsers/maven_install.py153except Exception:CODE
HIGHcli/src/semdep/parsers/maven_install.py230except Exception:CODE
HIGHcli/src/semdep/external/packaging/tags.py208except ValueError:CODE
HIGHcli/src/semgrep/parsing_data.py55except OSError:CODE
HIGHcli/src/semgrep/parsing_data.py98except OSError:CODE
HIGHcli/src/semgrep/core_runner.py264except BaseException: # noqa: B036CODE
HIGHcli/src/semgrep/rpc.py107except (OSError, ValueError):CODE
HIGHcli/src/semgrep/rpc.py580except subprocess.TimeoutExpired:CODE
HIGHcli/src/semgrep/rpc.py566except subprocess.TimeoutExpired:CODE
HIGHcli/src/semgrep/engine.py147except (OSError, ValueError):CODE
HIGHcli/src/semgrep/config_resolver.py216except Exception:CODE
HIGHcli/src/semgrep/config_resolver.py365except Exception:CODE
HIGHcli/src/semgrep/rule_lang.py492except FileNotFoundError:CODE
HIGHcli/src/semgrep/app/session.py82except (OSError, subprocess.CalledProcessError):CODE
HIGHcli/src/semgrep/console_scripts/entrypoint.py128except (FileNotFoundError, ModuleNotFoundError):CODE
HIGHcli/src/semgrep/commands/install.py149except Exception:CODE
HIGH…/ocaml-tree-sitter-semgrep/scripts/grammar_registry.py57except UnknownGrammarError:CODE
HIGH.github/workflows/libs/bump-uses.py87except (FileNotFoundError, subprocess.TimeoutExpired):CODE
Unused Imports199 hits · 159 pts
SeverityFileLineSnippetContext
LOWtests/patterns/python/wildcard_qualified.py1CODE
LOWtests/patterns/python/already_resolved_with_wildcard.py2CODE
LOWtests/patterns/python/misc_import.py2CODE
LOWtests/patterns/python/misc_import.py4CODE
LOWtests/patterns/python/scoped_wildcard.py11CODE
LOWtests/patterns/python/import_negatives.py2CODE
LOWtests/patterns/python/import_negatives.py4CODE
LOWtests/patterns/python/import_negatives.py6CODE
LOWtests/patterns/python/import_negatives2.py2CODE
LOWtests/patterns/python/import_negatives2.py4CODE
LOWtests/patterns/python/import_negatives2.py6CODE
LOWtests/patterns/python/import_metavar_fullpath.py6CODE
LOWtests/patterns/python/import_metavar_fullpath.py8CODE
LOWtests/patterns/python/import_metavar_fullpath.py10CODE
LOWtests/patterns/python/import_metavar_fullpath.py12CODE
LOWtests/patterns/python/import_metavar_fullpath.py14CODE
LOWtests/patterns/python/import_metavar_fullpath.py16CODE
LOWtests/patterns/python/misc_regression1.py1CODE
LOWtests/patterns/python/imports.py3CODE
LOWtests/patterns/python/imports.py6CODE
LOWtests/patterns/python/imports.py8CODE
LOWtests/patterns/python/imports.py11CODE
LOWtests/patterns/python/imports.py12CODE
LOWtests/patterns/python/imports.py12CODE
LOWtests/patterns/python/imports.py14CODE
LOWtests/patterns/python/imports.py14CODE
LOWtests/patterns/python/imports.py16CODE
LOWtests/patterns/python/imports.py16CODE
LOWtests/patterns/python/imports.py20CODE
LOWtests/patterns/python/imports.py21CODE
LOWtests/patterns/python/imports.py22CODE
LOWtests/patterns/python/imports.py23CODE
LOWtests/patterns/python/imports.py25CODE
LOWtests/patterns/python/imports.py26CODE
LOWtests/patterns/python/imports.py27CODE
LOWtests/patterns/python/imports.py28CODE
LOWtests/patterns/python/imports.py29CODE
LOWtests/patterns/python/imports.py30CODE
LOWtests/patterns/python/imports.py31CODE
LOWtests/patterns/python/imports.py32CODE
LOWtests/patterns/python/imports.py33CODE
LOWtests/patterns/python/imports.py36CODE
LOWtests/patterns/python/imports.py36CODE
LOWtests/patterns/python/imports.py39CODE
LOWtests/patterns/python/imports.py39CODE
LOWtests/patterns/python/imports.py42CODE
LOWtests/patterns/python/imports.py45CODE
LOWtests/patterns/python/imports.py46CODE
LOWtests/patterns/python/imports.py47CODE
LOWtests/patterns/python/imports.py48CODE
LOWtests/patterns/python/imports.py50CODE
LOWtests/patterns/python/imports.py51CODE
LOWtests/patterns/python/imports.py52CODE
LOWtests/patterns/python/imports.py53CODE
LOWtests/patterns/python/imports.py54CODE
LOWtests/patterns/python/imports.py55CODE
LOWtests/patterns/python/imports.py56CODE
LOWtests/patterns/python/imports.py57CODE
LOWtests/patterns/python/imports.py62CODE
LOWtests/patterns/python/imports.py62CODE
139 more matches not shown…
Excessive Try-Catch Wrapping137 hits · 136 pts
SeverityFileLineSnippetContext
LOWCHANGELOG.md3064 except Exception:CODE
LOWCHANGELOG.md10598 except Exception:CODE
LOWtests/patterns/python/deep_try.py5 except Exception:CODE
LOW⚡tests/patterns/python/cp_exception.py5 except Exception as e:CODE
LOW⚡tests/patterns/python/cp_exception.py19 except Exception as e:CODE
LOW⚡tests/patterns/python/cp_exception.py31 except Exception as e:CODE
LOW⚡tests/patterns/python/cp_exception.py45 except Exception as e:CODE
LOW⚡tests/patterns/python/cp_exception.py62 except Exception as e:CODE
LOWtests/patterns/python/cp_exception.py75 except Exception as e:CODE
LOWtests/patterns/python/misc_exn.py5 except Exception:CODE
LOWtests/rules/taint_exception.py14 except Exception as e:CODE
LOWtests/rules/taint_exception.py25 except Exception as e:CODE
LOWtests/rules/taint_exception.py59 except Exception as e:CODE
LOWtests/rules/taint_exception.py70 except Exception as e:CODE
LOWtests/rules/taint_exception.py98 except Exception as e:CODE
LOWtests/rules/taint_exception.py115 except Exception as e:CODE
LOWtests/rules/taint_exception.py131 except Exception as e:CODE
LOWtests/rules/taint_exception.py148 except Exception as e:CODE
LOWtests/rules/taint_exception.py171 except Exception as e:CODE
LOWtests/rules/taint_exception.py185 except Exception as e:CODE
LOWtests/rules/taint_clean_in_try_no_finally.py5 except Exception:CODE
LOWtests/parsing/python/as_pattern.py3except Exception as e:CODE
LOWcli/setup.py41 except Exception:CODE
MEDIUMcli/setup.py30def linux_detect_libc():CODE
LOWcli/tests/default/unit/test_error_handler.py185 except Exception:CODE
LOWcli/tests/default/unit/test_error_handler.py223 except Exception:CODE
LOWcli/tests/default/unit/test_error_handler.py254 except Exception:CODE
LOWcli/src/semdep/package_restrictions.py59 except Exception as e:CODE
LOWcli/src/semdep/parsers/maven_install.py111 except Exception:CODE
LOWcli/src/semdep/parsers/maven_install.py118 except Exception:CODE
LOW⚡cli/src/semdep/parsers/maven_install.py145 except Exception:CODE
LOW⚡cli/src/semdep/parsers/maven_install.py153 except Exception:CODE
LOW⚡cli/src/semdep/parsers/maven_install.py158 except Exception:CODE
LOWcli/src/semdep/parsers/maven_install.py196 except Exception:CODE
LOWcli/src/semdep/parsers/maven_install.py207 except Exception:CODE
LOWcli/src/semdep/parsers/maven_install.py212 except Exception:CODE
LOWcli/src/semdep/parsers/maven_install.py230 except Exception:CODE
LOWcli/src/semdep/parsers/maven_install.py256 except Exception:CODE
LOWcli/src/semdep/parsers/maven_install.py267 except Exception:CODE
LOWcli/src/semdep/parsers/maven_install.py279 except Exception:CODE
LOWcli/src/semdep/parsers/maven_install.py286 except Exception:CODE
LOWcli/src/semdep/parsers/maven_install.py335 except Exception:CODE
LOWcli/src/semdep/parsers/util.py92 except Exception as e:CODE
LOWcli/src/semdep/parsers/util.py382 except Exception as e:CODE
LOWcli/src/semdep/parsers/poetry.py281 except Exception as e:CODE
MEDIUMcli/src/semgrep/metrics.py532def clear_install_pro_error(self) -> None:CODE
MEDIUMcli/src/semgrep/metrics.py750def gather_click_params(self) -> None:CODE
LOW⚡cli/src/semgrep/metrics.py286 except Exception as e:CODE
LOW⚡cli/src/semgrep/metrics.py295 except Exception as e:CODE
LOW⚡cli/src/semgrep/metrics.py301 except Exception as e:CODE
LOW⚡cli/src/semgrep/metrics.py475 except Exception as e:CODE
LOW⚡cli/src/semgrep/metrics.py483 except Exception as e:CODE
LOW⚡cli/src/semgrep/metrics.py491 except Exception as e:CODE
LOW⚡cli/src/semgrep/metrics.py497 except Exception as e:CODE
LOW⚡cli/src/semgrep/metrics.py503 except Exception as e:CODE
LOW⚡cli/src/semgrep/metrics.py509 except Exception as e:CODE
LOW⚡cli/src/semgrep/metrics.py515 except Exception as e:CODE
LOW⚡cli/src/semgrep/metrics.py523 except Exception as e:CODE
LOW⚡cli/src/semgrep/metrics.py529 except Exception as e:CODE
LOW⚡cli/src/semgrep/metrics.py535 except Exception as e:CODE
77 more matches not shown…
Self-Referential Comments39 hits · 109 pts
SeverityFileLineSnippetContext
MEDIUMsemgrep.yml1# This file contains Semgrep rules. See https://semgrep.dev for more info.COMMENT
MEDIUMsemgrep.yml8# This file is also used in CI, see .circleci/config.ymlCOMMENT
MEDIUMcli/tests/default/unit/test_saved_scan_config.py56 # Create a handler that will dump the config when handling a scan responseCOMMENT
MEDIUMcli/tests/default/unit/test_saved_scan_config.py70 # Create a second handler that loads the saved config via start_scanCOMMENT
MEDIUMcli/tests/default/unit/test_symbol_analysis.py169 # Create a Java file and gradle lockfileCOMMENT
MEDIUMcli/tests/default/unit/test_symbol_analysis.py553 # Create a subproject directory but scan a different directoryCOMMENT
MEDIUMcli/tests/default/e2e-other/parsers/test_yarn.py297 """# This file is generated by running "yarn install" inside your project.STRING
MEDIUMcli/tests/default/e2e-other/parsers/test_yarn.py405 """# This file is generated by running "yarn install" inside your project.STRING
MEDIUMcli/tests/default/e2e/test_ignores.py29 # This file is included by the .semgrepignore above.COMMENT
MEDIUMcli/tests/default/e2e/test_diff_scan_preserves_repo.py51 # Create the rule file (untracked)COMMENT
MEDIUM…fault/e2e/targets/parse_metrics/partial-parse-error.rb193 # This method is called to process HTTP requestsCOMMENT
MEDIUMcli/tests/default/e2e/targets/parse_metrics/ok.rb33 # Create an instance of the Sensu client process, start theCOMMENT
MEDIUMcli/tests/default/e2e/targets/parse_metrics/ok.rb57 # Create a Sensu client keepalive payload, to be sent over theCOMMENT
MEDIUMcli/tests/default/e2e/targets/parse_metrics/ok.rb125 # Create an in progress key for a check, used to determine if anCOMMENT
MEDIUMcli/tests/default/e2e/targets/parse_metrics/ok.rb377 # Create a check execution proc, used to execute standaloneCOMMENT
MEDIUMcli/tests/default/e2e/targets/parse_metrics/ok.rb560 # Create a check result intended for deregistering a client.COMMENT
MEDIUM…default/e2e/targets/dependency_aware/dart/pubspec.yaml66# The following section is specific to Flutter packages.COMMENT
MEDIUMcli/src/semdep/parsers/composer.py17# Import necessary modules and classesCOMMENT
MEDIUMcli/src/semdep/parsers/util.py76 """This class is a callable wrapper around a lockfile and manifest parserSTRING
MEDIUMcli/src/semdep/parsers/yarn.py302# This file is generated by running "yarn install" inside your project.COMMENT
MEDIUMcli/src/semdep/matchers/pip_requirements.py178 # Create a subproject from each group of requirements files and the corresponding manifestCOMMENT
MEDIUMcli/src/semdep/external/packaging/tags.py2# This file is dual licensed under the terms of the Apache License, VersionCOMMENT
MEDIUMcli/src/semdep/external/packaging/version.py2# This file is dual licensed under the terms of the Apache License, VersionCOMMENT
MEDIUMcli/src/semdep/external/packaging/__init__.py1# This file is dual licensed under the terms of the Apache License, VersionCOMMENT
MEDIUMcli/src/semdep/external/packaging/utils.py2# This file is dual licensed under the terms of the Apache License, VersionCOMMENT
MEDIUMcli/src/semdep/external/packaging/_structures.py2# This file is dual licensed under the terms of the Apache License, VersionCOMMENT
MEDIUMcli/src/semdep/external/packaging/__about__.py1# This file is dual licensed under the terms of the Apache License, VersionCOMMENT
MEDIUMcli/src/semdep/external/packaging/specifiers.py2# This file is dual licensed under the terms of the Apache License, VersionCOMMENT
MEDIUMcli/src/semgrep/profile_manager.py25 # This method is an even more rudimentary tool for profilingCOMMENT
MEDIUMcli/src/semgrep/test.py13# This file is DEPRECATED! Please modify instead osemgrep test inCOMMENT
MEDIUMcli/src/semgrep/join_rule.py558 # Create a model map. This allows dynamically creating DB tables basedCOMMENT
MEDIUMcli/src/semgrep/output_extra.py22# This class is easily extendable if we want to add more information to the CLI outputCOMMENT
MEDIUMcli/src/semgrep/output.py133# This class is the internal representation of OutputSettings below.COMMENT
MEDIUMcli/src/semgrep/mcp/server.py257 # Create a temporary directoryCOMMENT
MEDIUMcli/src/semgrep/console_scripts/entrypoint.py2# This file is the Semgrep CLI entry point of the Semgrep pip package,COMMENT
MEDIUMcli/src/semgrep/console_scripts/pysemgrep.py16# This file is not part of the Python 'semgrep' package; it's a script.COMMENT
MEDIUMcli/src/semgrep/commands/mcp.py185 # Create a fast MCP serverSTRING
MEDIUMcli/src/semgrep/external/git_url_parser.py1# This file is forked from https://github.com/coala/git-url-parse/blob/master/giturlparse/parser.pyCOMMENT
MEDIUM…bs/ocaml-tree-sitter-semgrep/lang/ruby/test/ok/poly.rb69# Create a string of the polynomial in sort-of-readable form.COMMENT
Deep Nesting101 hits · 94 pts
SeverityFileLineSnippetContext
LOWcli/setup.py76CODE
LOWcli/tests/conftest.py313CODE
LOWcli/tests/conftest.py425CODE
LOWcli/tests/default/unit/test_semgrep_test.py50CODE
LOWcli/tests/default/e2e-other/test_ssc.py841CODE
LOWcli/src/semdep/golang_version.py226CODE
LOWcli/src/semdep/golang_version.py332CODE
LOWcli/src/semdep/package_restrictions.py30CODE
LOWcli/src/semdep/maven_version.py98CODE
LOWcli/src/semdep/maven_version.py138CODE
LOWcli/src/semdep/parsers/maven_install.py188CODE
LOWcli/src/semdep/parsers/pnpm.py480CODE
LOWcli/src/semdep/parsers/composer.py61CODE
LOWcli/src/semdep/parsers/go_mod.py107CODE
LOWcli/src/semdep/parsers/pom_tree.py91CODE
LOWcli/src/semdep/parsers/pubspec_lock.py39CODE
LOWcli/src/semdep/matchers/gradle.py98CODE
LOWcli/src/semdep/external/packaging/tags.py314CODE
LOWcli/src/semdep/external/packaging/tags.py346CODE
LOWcli/src/semdep/external/packaging/version.py197CODE
LOWcli/src/semdep/external/packaging/version.py394CODE
LOWcli/src/semdep/external/packaging/_manylinux.py267CODE
LOWcli/src/semdep/external/packaging/specifiers.py752CODE
LOWcli/src/semgrep/dependency_aware_rule.py312CODE
LOWcli/src/semgrep/dependency_aware_rule.py497CODE
LOWcli/src/semgrep/dependency_aware_rule.py192CODE
LOWcli/src/semgrep/scan_report.py253CODE
LOWcli/src/semgrep/scan_report.py266CODE
LOWcli/src/semgrep/metrics.py353CODE
LOWcli/src/semgrep/subproject.py148CODE
LOWcli/src/semgrep/subproject.py170CODE
LOWcli/src/semgrep/subproject.py186CODE
LOWcli/src/semgrep/subproject.py433CODE
LOWcli/src/semgrep/error_location.py162CODE
LOWcli/src/semgrep/error.py249CODE
LOWcli/src/semgrep/error.py563CODE
LOWcli/src/semgrep/error.py565CODE
LOWcli/src/semgrep/symbol_analysis.py87CODE
LOWcli/src/semgrep/symbol_analysis.py201CODE
LOWcli/src/semgrep/rule_match.py516CODE
LOWcli/src/semgrep/rule_match.py579CODE
LOWcli/src/semgrep/test.py161CODE
LOWcli/src/semgrep/core_runner.py313CODE
LOWcli/src/semgrep/core_runner.py847CODE
LOWcli/src/semgrep/core_runner.py933CODE
LOWcli/src/semgrep/run_scan.py272CODE
LOWcli/src/semgrep/run_scan.py406CODE
LOWcli/src/semgrep/run_scan.py483CODE
LOWcli/src/semgrep/run_scan.py701CODE
LOWcli/src/semgrep/run_scan.py986CODE
LOWcli/src/semgrep/run_scan.py1049CODE
LOWcli/src/semgrep/run_scan.py1276CODE
LOWcli/src/semgrep/target_manager.py96CODE
LOWcli/src/semgrep/target_manager.py239CODE
LOWcli/src/semgrep/target_manager.py302CODE
LOWcli/src/semgrep/target_manager.py1194CODE
LOWcli/src/semgrep/join_rule.py140CODE
LOWcli/src/semgrep/rpc.py325CODE
LOWcli/src/semgrep/rpc.py97CODE
LOWcli/src/semgrep/engine.py45CODE
41 more matches not shown…
AI Slop Vocabulary33 hits · 74 pts
SeverityFileLineSnippetContext
MEDIUM.pre-commit-hooks.yaml14 # for pre-commit. Essentially, setup.py runs 'pip install semgrep==0.xxx.yyy'.COMMENT
MEDIUMtests/perf/l10000.js3514 // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axesCOMMENT
MEDIUMtests/perf/l10000.js3838 // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axesCOMMENT
MEDIUMtests/perf/three.js3514 // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axesCOMMENT
MEDIUMtests/perf/three.js3838 // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axesCOMMENT
MEDIUMtests/perf/bloom/l10000.js3515 // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axesCOMMENT
MEDIUMtests/perf/bloom/l10000.js3839 // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axesCOMMENT
MEDIUMcli/tests/default/e2e/targets/parse_metrics/ok.rb143 # tokens. Hook commands may expect/read and utilize JSONCOMMENT
MEDIUMcli/tests/default/e2e/targets/parse_metrics/ok.rb251 # method as a parameter, the extension may utilize it. ThisCOMMENT
MEDIUMcli/tests/default/e2e/targets/bad/invalid_c_long.c1/*;--------------------------------------------------------------------------;;This program, "bzip2", the associated libCOMMENT
LOWcli/src/semdep/parsers/gradle.py105 # support for manifest parsing. In that case just use the lockfile.COMMENT
LOWcli/src/semdep/external/packaging/specifiers.py500 # version. If it's not we can short circuit and just return False nowSTRING
LOWcli/src/semdep/external/packaging/specifiers.py526 # version. If it's not we can short circuit and just return False nowSTRING
LOWcli/src/semdep/external/packaging/specifiers.py707 # then we'll just return None since we don't know if this should haveSTRING
MEDIUMcli/src/semgrep/dependency_aware_rule.py470 # TODO: associate these in a more robust way. This currentlyCOMMENT
LOWcli/src/semgrep/git.py420 # If we already know that the base commit is the merge base, just returnSTRING
LOWcli/src/semgrep/error.py541# TODO: generalize in a SemgrepCliError and just pass the level, code and type_COMMENT
LOWcli/src/semgrep/rpc.py274 # date, let's just use a catch-all. In the end it doesn't really matterCOMMENT
LOWcli/src/semgrep/rule.py339 # /weird/), just return the empty string, and we'll hash based on rule id +COMMENT
MEDIUMcli/src/semgrep/resolve_dependency_source.py467 # TODO: Reimplement this once more robust error handling for lockfileless resolution is implementedCOMMENT
LOWcli/src/semgrep/mcp/semgrep.py235 # if they exist on the local filesystem, we could just pass the pathsCOMMENT
LOWcli/src/semgrep/console_scripts/entrypoint.py18# semgrep-core, but it is simple from Python because you can simply useCOMMENT
MEDIUMcli/src/semgrep/console_scripts/entrypoint.py22# Again, it is simpler to use a Python script and leverage importlib.resources.COMMENT
MEDIUMcli/src/semgrep/console_scripts/entrypoint.py172 # test harness, etc.), set NO_COLOR so cmdliner reverts to plain output.COMMENT
LOWcli/src/semgrep/semgrep_interfaces/rule_schema_v1.yaml281 # I would normally just use `allOf`, but since it doensn't short circuit,COMMENT
MEDIUMcli/src/semgrep/semgrep_interfaces/generate.py80# Constructors are sorted by increasing maturity to facilitate meaningfulCOMMENT
LOWcli/src/semgrep/commands/ci.py1075 # settings have been passed. So we can just use the "normal"COMMENT
MEDIUMcli/src/semgrep/commands/scan.py877 # I wish there was an easy way to leverage the engine_params from theCOMMENT
MEDIUM…-hack/fyi/semgrep-grammars/src/semgrep-hack/grammar.js52 // By using an empty statement, we leverage a statement type that is strictly only used withinCOMMENT
MEDIUM…grep/lang/semgrep-grammars/src/semgrep-hack/grammar.js52 // By using an empty statement, we leverage a statement type that is strictly only used withinCOMMENT
MEDIUM…e-sitter-semgrep/scripts/test_scanner_memory_safety.py84# (scanner.c to test, directory holding its tree_sitter/ headers, harness)STRING
MEDIUM…e-sitter-semgrep/scripts/test_scanner_memory_safety.py111 source.write_text(f'#include "{scanner}"\n{harness}')CODE
MEDIUMperf/configs/ci_small_repos.yaml85 # For more comprehensive rule timing informationCOMMENT
Fake / Example Data83 hits · 68 pts
SeverityFileLineSnippetContext
LOW⚡tests/perf/timeout.js749 if (input.val() == input.attr('placeholder')) {CODE
LOW⚡tests/perf/timeout.js751 input.removeClass('placeholder');CODE
LOW⚡tests/perf/timeout.js755 if (input.val() == '' || input.val() == input.attr('placeholder')) {CODE
LOW⚡tests/perf/timeout.js756 input.addClass('placeholder');CODE
LOW⚡tests/perf/timeout.js757 input.val(input.attr('placeholder'));CODE
LOWtests/perf/timeout.js980 if (input.val() == input.attr('placeholder')) {CODE
LOWtests/perf/timeout.js1091 return !('placeholder' in i);CODE
LOWtests/perf/timeout.js1137 if (!$(cartIdField).hasClass('placeholder') && $("input[name='customerId']").val().length > 0) {CODE
LOWtests/perf/timeout.js1177 if (!$(el).hasClass('placeholder')) {CODE
LOWcli/tests/conftest.py497 env_["SEMGREP_APP_TOKEN"] = "fake_token"CODE
LOW⚡cli/tests/default/e2e-other/test_login.py46 # for the input=fake_key to work?COMMENT
LOW⚡cli/tests/default/e2e-other/test_login.py49 fake_key = "key123"CODE
LOW⚡cli/tests/default/e2e-other/test_login.py56 input=fake_key,CODE
LOWcli/tests/default/e2e-other/test_login.py70 fake_key = "key123"CODE
LOWcli/tests/default/e2e-other/test_login.py84 env={"SEMGREP_APP_TOKEN": fake_key},CODE
LOWcli/tests/default/e2e-other/test_login.py110 fake_key = "key123"CODE
LOWcli/tests/default/e2e-other/test_login.py122 env={"SEMGREP_APP_TOKEN": fake_key},CODE
LOWcli/tests/default/e2e-other/test_ci.py1339# env["SEMGREP_APP_TOKEN"] = "fake-key-from-tests"COMMENT
LOWcli/tests/default/e2e-other/test_ci.py1031 env["SEMGREP_APP_TOKEN"] = "fake-key-from-tests"CODE
LOWcli/tests/default/e2e-other/test_ci.py1203 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py1500 env["SEMGREP_APP_TOKEN"] = "fake-key-from-tests"CODE
LOWcli/tests/default/e2e-other/test_ci.py1651 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py1692 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py1722 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py1753 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py1816 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py1861 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2009 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2047 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2100 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2137 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2190 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2224 "SEMGREP_APP_TOKEN": "fake-key-from-tests",CODE
LOWcli/tests/default/e2e-other/test_ci.py2253 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2290 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2312 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2341 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2360 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2379 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2398 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2421 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2464 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2504 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2538 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2557 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2590 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2609 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2627 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2646 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2700 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2742 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2792 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2866 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py2935 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py3017 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py3058 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py3213 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py3410 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
LOWcli/tests/default/e2e-other/test_ci.py3509 env={"SEMGREP_APP_TOKEN": "fake-key-from-tests"},CODE
LOWcli/tests/default/e2e-other/test_ci.py3605 env={"SEMGREP_APP_TOKEN": "fake_key"},CODE
23 more matches not shown…
Verbosity Indicators17 hits · 32 pts
SeverityFileLineSnippetContext
LOWcli/src/semgrep/target_manager.py250 # this print statement we need to check if any target is in aCOMMENT
LOW…tree-sitter-semgrep/lang/c-sharp/test/ok/ConvexHull.cs38 // Step 1: Select four points arbitrarily to form the initial simplex (tetrahedron)COMMENT
LOW…tree-sitter-semgrep/lang/c-sharp/test/ok/ConvexHull.cs90 // Step 1: Check if our latest point is outside of the hullCOMMENT
LOW⚡…tree-sitter-semgrep/lang/c-sharp/test/ok/ConvexHull.cs103 // Step 2: Clean the way for ourselves (Resets the "isFacing" sentinels on the Vertices)COMMENT
LOW⚡…tree-sitter-semgrep/lang/c-sharp/test/ok/ConvexHull.cs106 // Step 3: Mark all the vertices on the horizonCOMMENT
LOW⚡…tree-sitter-semgrep/lang/c-sharp/test/ok/ConvexHull.cs115 // Step 4: Remind each vertex what its original index was (foreshadowing!)COMMENT
LOW⚡…tree-sitter-semgrep/lang/c-sharp/test/ok/ConvexHull.cs119 // Step 5: Sort the horizon vertices clockwise about the point-average-average axisCOMMENT
LOW…tree-sitter-semgrep/lang/c-sharp/test/ok/ConvexHull.cs137 // Step 6: Create new triangles around this horizon and call it good...COMMENT
LOW…tree-sitter-semgrep/lang/c-sharp/test/ok/ConvexHull.cs271 // Step 0: Contrive some pointsCOMMENT
LOW…-sitter-semgrep/lang/c-sharp-pro/test/ok/ConvexHull.cs38 // Step 1: Select four points arbitrarily to form the initial simplex (tetrahedron)COMMENT
LOW…-sitter-semgrep/lang/c-sharp-pro/test/ok/ConvexHull.cs90 // Step 1: Check if our latest point is outside of the hullCOMMENT
LOW⚡…-sitter-semgrep/lang/c-sharp-pro/test/ok/ConvexHull.cs103 // Step 2: Clean the way for ourselves (Resets the "isFacing" sentinels on the Vertices)COMMENT
LOW⚡…-sitter-semgrep/lang/c-sharp-pro/test/ok/ConvexHull.cs106 // Step 3: Mark all the vertices on the horizonCOMMENT
LOW⚡…-sitter-semgrep/lang/c-sharp-pro/test/ok/ConvexHull.cs115 // Step 4: Remind each vertex what its original index was (foreshadowing!)COMMENT
LOW⚡…-sitter-semgrep/lang/c-sharp-pro/test/ok/ConvexHull.cs119 // Step 5: Sort the horizon vertices clockwise about the point-average-average axisCOMMENT
LOW…-sitter-semgrep/lang/c-sharp-pro/test/ok/ConvexHull.cs137 // Step 6: Create new triangles around this horizon and call it good...COMMENT
LOW…-sitter-semgrep/lang/c-sharp-pro/test/ok/ConvexHull.cs271 // Step 0: Contrive some pointsCOMMENT
Structural Annotation Overuse16 hits · 30 pts
SeverityFileLineSnippetContext
LOW…tree-sitter-semgrep/lang/c-sharp/test/ok/ConvexHull.cs38 // Step 1: Select four points arbitrarily to form the initial simplex (tetrahedron)COMMENT
LOW…tree-sitter-semgrep/lang/c-sharp/test/ok/ConvexHull.cs90 // Step 1: Check if our latest point is outside of the hullCOMMENT
LOW⚡…tree-sitter-semgrep/lang/c-sharp/test/ok/ConvexHull.cs103 // Step 2: Clean the way for ourselves (Resets the "isFacing" sentinels on the Vertices)COMMENT
LOW⚡…tree-sitter-semgrep/lang/c-sharp/test/ok/ConvexHull.cs106 // Step 3: Mark all the vertices on the horizonCOMMENT
LOW⚡…tree-sitter-semgrep/lang/c-sharp/test/ok/ConvexHull.cs115 // Step 4: Remind each vertex what its original index was (foreshadowing!)COMMENT
LOW⚡…tree-sitter-semgrep/lang/c-sharp/test/ok/ConvexHull.cs119 // Step 5: Sort the horizon vertices clockwise about the point-average-average axisCOMMENT
LOW…tree-sitter-semgrep/lang/c-sharp/test/ok/ConvexHull.cs137 // Step 6: Create new triangles around this horizon and call it good...COMMENT
LOW…tree-sitter-semgrep/lang/c-sharp/test/ok/ConvexHull.cs271 // Step 0: Contrive some pointsCOMMENT
LOW…-sitter-semgrep/lang/c-sharp-pro/test/ok/ConvexHull.cs38 // Step 1: Select four points arbitrarily to form the initial simplex (tetrahedron)COMMENT
LOW…-sitter-semgrep/lang/c-sharp-pro/test/ok/ConvexHull.cs90 // Step 1: Check if our latest point is outside of the hullCOMMENT
LOW⚡…-sitter-semgrep/lang/c-sharp-pro/test/ok/ConvexHull.cs103 // Step 2: Clean the way for ourselves (Resets the "isFacing" sentinels on the Vertices)COMMENT
LOW⚡…-sitter-semgrep/lang/c-sharp-pro/test/ok/ConvexHull.cs106 // Step 3: Mark all the vertices on the horizonCOMMENT
LOW⚡…-sitter-semgrep/lang/c-sharp-pro/test/ok/ConvexHull.cs115 // Step 4: Remind each vertex what its original index was (foreshadowing!)COMMENT
LOW⚡…-sitter-semgrep/lang/c-sharp-pro/test/ok/ConvexHull.cs119 // Step 5: Sort the horizon vertices clockwise about the point-average-average axisCOMMENT
LOW…-sitter-semgrep/lang/c-sharp-pro/test/ok/ConvexHull.cs137 // Step 6: Create new triangles around this horizon and call it good...COMMENT
LOW…-sitter-semgrep/lang/c-sharp-pro/test/ok/ConvexHull.cs271 // Step 0: Contrive some pointsCOMMENT
Cross-File Repetition6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHcli/tests/default/unit/test_yaml_parsing.py0rules: - id: rule_id pattern: | $x == $x $y == $y languages: [python] severity: info message: badSTRING
HIGHcli/tests/default/unit/test_rule_match.py0rules: - id: rule_id pattern: | $x == $x $y == $y languages: [python] severity: info message: badSTRING
HIGHcli/tests/default/unit/test_match_hashes.py0rules: - id: rule_id pattern: | $x == $x $y == $y languages: [python] severity: info message: badSTRING
HIGH…lt/e2e/targets/autofix/django-none-password-default.py0creates and saves a poster with the given email and password.STRING
HIGH…o-none-password-default.py-text-not-dryrun/results.txt0creates and saves a poster with the given email and password.STRING
HIGH…jango-none-password-default.py-text-dryrun/results.txt0creates and saves a poster with the given email and password.STRING
Cross-Language Confusion6 hits · 26 pts
SeverityFileLineSnippetContext
HIGHcli/tests/default/unit/parsers/test_maven_install.py467 """A valid JSON document whose root is not an object (array, scalar, null)STRING
HIGH⚡cli/tests/default/e2e-other/parsers/test_swiftpm.py342 "branch": null,STRING
HIGH⚡cli/tests/default/e2e-other/parsers/test_swiftpm.py351 "branch": null,STRING
HIGH⚡cli/tests/default/e2e-other/parsers/test_swiftpm.py360 "branch": null,STRING
HIGHcli/src/semgrep/mcp/server.py1203 - Run: `semgrep install-semgrep-pro || true`CODE
HIGHcli/src/semgrep/mcp/hooks/post_tool.py43 # "decision": "block"|undefined,COMMENT
Redundant / Tautological Comments14 hits · 20 pts
SeverityFileLineSnippetContext
LOWcli/tests/default/mcp/test_create_temp_files.py40 # Check if temp directory was createdCOMMENT
LOWcli/tests/default/mcp/test_create_temp_files.py44 # Check if files were created with correct contentCOMMENT
LOWcli/tests/default/mcp/test_create_temp_files.py71 # Check if temp directory was createdCOMMENT
LOWcli/tests/default/mcp/test_create_temp_files.py101 # Check if temp directory was createdCOMMENT
LOWcli/tests/default/e2e-other/test_ci.py3456 # Check if we should mimic an existing settings file via simulationCOMMENT
LOWcli/src/semdep/golang_version.py155 ): # Check if anything exists after the core version specCODE
LOWcli/src/semdep/golang_version.py251 # Check if the identifier is a numberCOMMENT
LOWcli/src/semdep/matchers/pip_requirements.py127 # Check if the lockfile is in a 'requirements' directoryCOMMENT
LOWcli/src/semgrep/scan_report.py532 # Check if any secret rule has the generic secrets AI rulesetCOMMENT
LOWcli/src/semgrep/main.py95 # Check if any of the exclusionary commands are providedCOMMENT
LOWcli/src/semgrep/mcp/server.py214 # Check if normalized path is still absoluteCOMMENT
LOW…bs/ocaml-tree-sitter-semgrep/lang/ruby/test/ok/poly.rb74 # Assign exponents to each term, making pairs of coeff and exponent,COMMENT
LOW.github/workflows/sync-with-PRO.yml67 # Check if any commits are already synced from ProCOMMENT
LOWsrc/main/flags.sh46# Check if SEMGREP_NIX_BUILD is not setCOMMENT
Cross-Language Confusion (JS/TS)4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHtests/patterns/js/dots_stmts.js5 print("do stuff");CODE
HIGHtests/patterns/js/deep_exprstmt.js10 print(bar());CODE
HIGHtests/patterns/ts/deep_exprstmt.ts10 print(bar());CODE
HIGHtests/patterns/ts/dots_stmts.ts5 print("do stuff");CODE
AI Structural Patterns18 hits · 16 pts
SeverityFileLineSnippetContext
LOWtests/tainting_rules/python/simpl_django_redirect.py36CODE
LOWtests/rules/metavar_pattern_open_redirect.py52CODE
LOWtests/rules/sym_prop_open_redirect.py52CODE
LOWtests/perf/timeout.py70CODE
LOWtests/perf/force_timeout.py70CODE
LOWtests/perf/timeout_gracefully.py66CODE
LOWcli/tests/conftest.py425CODE
LOWcli/tests/fixtures.py48CODE
LOWcli/tests/default/e2e-other/test_ci.py3725CODE
LOWcli/tests/default/e2e-other/test_ci.py3921CODE
LOW…tests/default/e2e/targets/equivalence/open_redirect.py66CODE
LOWcli/tests/default/e2e/targets/test_test/long.py66CODE
LOWcli/src/semgrep/rule_match.py576CODE
LOWcli/src/semgrep/core_runner.py609CODE
LOWcli/src/semgrep/run_scan.py1049CODE
LOWcli/src/semgrep/run_scan.py1276CODE
LOWcli/src/semgrep/output.py414CODE
LOWcli/src/semgrep/mcp/server.py631CODE
Slop Phrases5 hits · 10 pts
SeverityFileLineSnippetContext
LOWtests/parsing/cpp/operator_templated3.cpp7 :: don't forget to update hdf5_daa_layer.cu accordinglyCODE
LOWcli/tests/conftest.py501 # so make sure to explicitly delete any ambient CI variables.COMMENT
LOWcli/tests/default/e2e/test_permissions.py90 # We make sure to not run as root since it can read files lackingCOMMENT
MEDIUM…default/e2e/targets/dependency_aware/dart/pubspec.yaml70 # included with your application, so that you can use the icons inCOMMENT
MEDIUMcli/src/semgrep/console_scripts/entrypoint.py39# alt: you can also add '-W ignore::DeprecationWarning' after the python3 above,COMMENT
Docstring Block Structure2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHcli/src/semdep/parsers/pnpm.py414 Parses the dependencies of a package in a `pnpm-lock.yaml` file (version >=9.0). In pnpm-lock.yaml files versiSTRING
HIGHcli/src/semgrep/mcp/server.py242 Creates temporary files from code content Args: code_files: List of CodeFile objects Returns: STRING
Modern AI Meta-Vocabulary3 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUMREADME.md134 - [Semgrep Code (SAST)](https://semgrep.dev/products/semgrep-code?utm_medium=readme&utm_source=github&utm_content=semgCODE
MEDIUMcli/README.md134 - [Semgrep Code (SAST)](https://semgrep.dev/products/semgrep-code?utm_medium=readme&utm_source=github&utm_content=semgCODE
MEDIUM⚡cli/tests/default/unit/test_scans_v2.py175# POST-retry orchestration tests (mock _poll_for_config_v2 directly)COMMENT
Dead Code4 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUMtests/naming/python/scope.py13CODE
MEDIUMtests/naming/python/scope.py14CODE
MEDIUMtests/rules/taint_exception.py8CODE
MEDIUMtests/rules/taint_exception.py53CODE
Modern Structural Boilerplate8 hits · 8 pts
SeverityFileLineSnippetContext
LOWcli/src/semdep/external/packaging/tags.py26logger = logging.getLogger(__name__)CODE
LOWcli/src/semdep/external/packaging/version.py14__all__ = ["parse", "Version", "LegacyVersion", "InvalidVersion", "VERSION_PATTERN"]CODE
LOWcli/src/semdep/external/packaging/__init__.py16__all__ = [CODE
LOWcli/src/semdep/external/packaging/__about__.py5__all__ = [CODE
LOWcli/src/semgrep/telemetry.py274 def update_attributes(self, new_attrs: Attributes) -> None:CODE
LOWcli/src/semgrep/app/auth.py23logger = logging.getLogger(__name__)CODE
LOWcli/src/semgrep/app/auth.py94def set_token(token: str) -> None:CODE
LOW…grep/semgrep_interfaces/scripts/jsonschema2protobuf.py19logger = logging.getLogger(__name__)CODE
Synthetic Comment Markers1 hit · 2 pts
SeverityFileLineSnippetContext
HIGHcli/tests/default/unit/test_paths_to_transitivity.py106 This entire paragraph was pretty much generated by Copilot wowSTRING
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWcli/src/semgrep/mcp/hooks/inject_secure_defaults.py207 # TODO: implement this hook for WindsurfCOMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWscripts/generate_cheatsheet.py5# Usage:COMMENT
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtests/rules/taint_clean_in_try_no_finally.py1def test_function():CODE