UNPKG

mcp-server-semgrep

Version:

MCP Server for Semgrep Integration - static code analysis with AI

72 lines (71 loc) 3.01 kB
rules: - id: duplicate-path-assignment languages: - python message: path for `$URL` is uselessly assigned twice metadata: category: maintainability technology: - django references: - https://docs.djangoproject.com/en/3.2/topics/http/urls/#naming-url-patterns patterns: - pattern: | [..., django.urls.path('$URL', $VIEW, ...), ..., django.urls.path('$URL', $VIEW, ...), ...] severity: WARNING - id: conflicting-path-assignment languages: - python message: >- The path for `$URL` is assigned once to view `$VIEW` and once to `$DIFFERENT_VIEW`, which can lead to unexpected behavior. Verify what the intended target view is and delete the other route. metadata: category: maintainability technology: - django references: - https://docs.djangoproject.com/en/3.2/topics/http/urls/#naming-url-patterns patterns: - pattern: | [..., django.urls.path('$URL', $VIEW, ...), ..., django.urls.path('$URL', $DIFFERENT_VIEW, ...), ...] - pattern-not: | [..., django.urls.path('$URL', $VIEW, ...), ..., django.urls.path('$URL', $VIEW, ...), ...] severity: ERROR - id: duplicate-path-assignment-different-names languages: - python message: path for `$URL` is assigned twice with different names metadata: category: maintainability technology: - django references: - https://docs.djangoproject.com/en/3.2/topics/http/urls/#naming-url-patterns patterns: - pattern: | [..., django.urls.path('$URL', $VIEW, name='$NAME', ...), ..., django.urls.path('$URL', $VIEW, name='$OTHER_NAME', ...), ...] - pattern-not: | [..., django.urls.path('$URL', $VIEW, name='$NAME', ...), ..., django.urls.path('$URL', $VIEW, name='$NAME', ...), ...] severity: WARNING - id: duplicate-name-assignment languages: - python message: >- The name `$NAME` is used for both `$URL` and `$OTHER_URL`, which can lead to unexpected behavior when using URL reversing. Pick a unique name for each path. metadata: category: maintainability technology: - django references: - https://docs.djangoproject.com/en/3.2/topics/http/urls/#naming-url-patterns patterns: - pattern: | [..., django.urls.path('$URL', $VIEW, name='$NAME', ...), ..., django.urls.path('$OTHER_URL', $OTHER_VIEW, name='$NAME', ...), ...] - pattern-not: | [..., django.urls.path('$URL', $VIEW, name='$NAME', ...), ..., django.urls.path('$URL', $VIEW, name='$NAME', ...), ...] - pattern-not: | [..., django.urls.path('$URL', $VIEW, name='$NAME', ...), ..., django.urls.path('$URL', $OTHER_VIEW, name='$NAME', ...), ...] - pattern-not: | [..., django.urls.path('$URL', $VIEW, name='$NAME', ...), ..., django.urls.path('$OTHER_URL', $VIEW, name='$NAME', ...), ...] severity: ERROR