yaml.semgrep.metadata-category.metadata-category

Author
225
Download Count*
License
This Semgrep rule is missing a valid 'category' field in the 'metadata'. 'category' must be one of 'security', 'correctness', 'best-practice', 'performance', 'maintainability', or 'portability'.
Run Locally
Run in CI
Defintion
rules:
- id: metadata-category
message: This Semgrep rule is missing a valid 'category' field in the
'metadata'. 'category' must be one of 'security', 'correctness',
'best-practice', 'performance', 'maintainability', or 'portability'.
severity: INFO
patterns:
- pattern-inside: "rules: [..., $RULE, ...]"
- pattern: "id: $RULEID"
- pattern-not-inside: |
- ...
metadata:
...
category: $CATEGORY
languages:
- yaml
metadata:
category: best-practice
technology:
- semgrep
license: Commons Clause License Condition v1.0[LGPL-2.1-only]
Examples
metadata-category.test.yaml
rules:
# ruleid: metadata-category
- id: unchecked-subprocess-call
patterns:
- pattern-either:
- pattern: |
subprocess.call(...)
- pattern: |
subprocess.call(...)
- pattern-not-inside: |
$S = subprocess.call(...)
- pattern-not-inside: |
subprocess.call(...) == $X
message: >-
bad stuff
severity: WARNING
fix: subprocess.check_call(...)
# ok: metadata-category
- id: subprocess-run
patterns: subprocess.run(...)
message: >-
bad stuff
severity: WARNING
fix: subprocess.check_call(...)
metadata:
category: python
- metadata:
category: python
# ok: metadata-category
id: subprocess-run-2
patterns: subprocess.run(...)
message: >-
bad stuff
severity: WARNING
fix: subprocess.check_call(...)
Short Link: https://sg.run/N8wx