Skip to content

Commit cf19c1c

Browse files
author
Grayson H
authored
Remove top-ellipses from various rules for performance (semgrep#1510)
1 parent 6b22995 commit cf19c1c

File tree

36 files changed

+93
-94
lines changed

36 files changed

+93
-94
lines changed

go/lang/security/audit/net/dynamic-httptrace-clienttrace.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ rules:
2121
- go
2222
patterns:
2323
- pattern-not-inside: |
24+
package $PACKAGE
2425
...
2526
&httptrace.ClientTrace { ... }
2627
...
2728
- pattern: httptrace.WithClientTrace($ANY, $TRACE)
28-
2929
severity: WARNING
3030
languages:
3131
- go

go/lang/security/audit/net/wip-xss-using-responsewriter-and-printf.yaml

+5-6
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,12 @@ rules:
33
patterns:
44
- pattern-inside: |
55
func $FUNC(..., $W http.ResponseWriter, ...) {
6-
...
6+
...
7+
var $TEMPLATE = "..."
8+
...
9+
$W.Write([]byte(fmt.$PRINTF($TEMPLATE, ...)), ...)
10+
...
711
}
8-
- pattern-inside: |
9-
...
10-
var $T = "..."
11-
...
12-
$W.Write([]byte(fmt.$PRINTF($T, ...)), ...)
1312
- pattern-either:
1413
- pattern: |
1514
$PARAMS = r.URL.Query()
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,23 @@
1+
const { ok } = require('assert');
12
const jwt = require('jsonwebtoken');
23

34
// ruleid: jwt-decode-without-verify
45
if (jwt.decode(token, true).param === true) {
56
console.log('token is valid');
67
}
8+
9+
function ok(token, key) {
10+
// ok: jwt-decode-without-verify
11+
jwt.verify(token, key);
12+
if (jwt.decode(token, true).param === true) {
13+
console.log('token is valid');
14+
}
15+
}
16+
17+
const ok2 = (token, key) => {
18+
// ok: jwt-decode-without-verify
19+
jwt.verify(token, key);
20+
if (jwt.decode(token, true).param === true) {
21+
console.log('token is valid');
22+
}
23+
};

javascript/jsonwebtoken/security/audit/jwt-decode-without-verify.jsx

+10-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
11
const jwt = require('jsonwebtoken');
22

3-
const bad = () => {
4-
// ruleid: jwt-decode-without-verify
3+
const bad = (token) => {
4+
// ruleid: jwt-decode-without-verify
5+
if (jwt.decode(token, true).param === true) {
6+
console.log('token is valid');
7+
}
8+
};
9+
10+
const ok = (token, key) => {
11+
// ok: jwt-decode-without-verify
12+
jwt.verify(token, key);
513
if (jwt.decode(token, true).param === true) {
614
console.log('token is valid');
715
}

javascript/jsonwebtoken/security/audit/jwt-decode-without-verify.yaml

+2-7
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,7 @@ rules:
2323
- pattern-inside: |
2424
$JWT = require('jsonwebtoken');
2525
...
26-
- pattern-either:
27-
- pattern: |
28-
$JWT.decode(...)
29-
- pattern: |
30-
$JWT.decode(...).$PARAM
3126
- pattern-not-inside: |
27+
$JWT.verify($TOKEN, ...)
3228
...
33-
$JWT.verify(...)
34-
...
29+
- pattern: $JWT.decode($TOKEN, ...)

javascript/lang/security/audit/path-traversal/path-join-resolve-traversal.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ rules:
22
- id: path-join-resolve-traversal
33
patterns:
44
- pattern-inside: |
5-
...
65
$PATH = require('path');
76
...
87
- pattern-either:

javascript/lang/security/audit/vm-injection.yaml

-2
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,6 @@ rules:
100100
- javascript
101101
patterns:
102102
- pattern-inside: |
103-
...
104103
$VM = require('vm');
105104
...
106105
- pattern-either:
@@ -199,7 +198,6 @@ rules:
199198
- javascript
200199
patterns:
201200
- pattern-inside: |
202-
...
203201
$VM = require('vm');
204202
...
205203
- pattern-either:

javascript/phantom/security/audit/phantom-injection.yaml

-4
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,8 @@ rules:
1212
languages: [javascript, typescript]
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
$PHANTOM = require('phantom');
1716
...
18-
- pattern-not-inside: |
19-
var $INPUT = "...";
20-
...
2117
- pattern-either:
2218
- pattern: $PAGE.open($INPUT,...)
2319
- pattern: $PAGE.property("content",$INPUT,...)

javascript/playwright/security/audit/playwright-addinitscript-code-injection.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ async function test4(userInput) {
66
const page = await browser.newPage();
77
const context = await browser.newContext();
88

9-
// ok
9+
// ok:playwright-addinitscript-code-injection
1010
await context.addInitScript(x => console.log(x), 5);
1111

1212
// ruleid:playwright-addinitscript-code-injection

javascript/playwright/security/audit/playwright-addinitscript-code-injection.yaml

-6
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,9 @@ rules:
1212
languages: [javascript, typescript]
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
require('playwright');
1716
...
1817
- pattern-not-inside: |
19-
...
20-
var $INPUT = "...";
21-
...
22-
- pattern-not-inside: |
23-
...
2418
var $INPUT = function $FNAME(...){...};
2519
...
2620
- pattern: $CONTEXT.addInitScript($INPUT,...)

javascript/playwright/security/audit/playwright-evaluate-arg-injection.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ rules:
1212
languages: [javascript, typescript]
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
require('playwright');
1716
...
1817
- pattern-either:

javascript/playwright/security/audit/playwright-evaluate-code-injection.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ async function test2(userInput) {
55
const browser = await chromium.launch();
66
const page = await browser.newPage();
77

8-
// ok
8+
// ok:playwright-evaluate-code-injection
99
await page.evaluate(x => console.log(x), 5);
1010

1111
// ruleid:playwright-evaluate-code-injection

javascript/playwright/security/audit/playwright-evaluate-code-injection.yaml

-6
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,9 @@ rules:
1212
languages: [javascript, typescript]
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
require('playwright');
1716
...
1817
- pattern-not-inside: |
19-
...
20-
var $INPUT = "...";
21-
...
22-
- pattern-not-inside: |
23-
...
2418
var $INPUT = function $FNAME(...){...};
2519
...
2620
- pattern-either:

javascript/playwright/security/audit/playwright-exposed-chrome-devtools.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ rules:
1212
languages: [javascript, typescript]
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
require('playwright');
1716
...
1817
- pattern-either:

javascript/playwright/security/audit/playwright-goto-injection.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@ rules:
1212
languages: [javascript, typescript]
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
require('playwright');
1716
...
1817
- pattern-not-inside: |
18+
require('playwright');
1919
...
2020
var $INPUT = "...";
2121
...
22+
$PAGE.goto($INPUT,...)
2223
- pattern: $PAGE.goto($INPUT,...)
2324
- pattern-not: $PAGE.goto("...",...)

javascript/playwright/security/audit/playwright-setcontent-injection.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@ rules:
1212
languages: [javascript, typescript]
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
require('playwright');
1716
...
1817
- pattern-not-inside: |
18+
require('playwright');
1919
...
2020
var $INPUT = "...";
2121
...
22+
$PAGE.setContent($INPUT,...)
2223
- pattern: $PAGE.setContent($INPUT,...)
2324
- pattern-not: $PAGE.setContent("...",...)

javascript/puppeteer/security/audit/puppeteer-evaluate-arg-injection.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ rules:
1212
languages: [javascript, typescript]
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
require('puppeteer');
1716
...
1817
- pattern-either:

javascript/puppeteer/security/audit/puppeteer-evaluate-code-injection.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ async function test2(userInput) {
55
const browser = await puppeteer.launch();
66
const page = await browser.newPage();
77

8-
// ok
8+
// ok:puppeteer-evaluate-code-injection
99
await page.evaluate(x => console.log(x), 5);
1010

1111
// ruleid:puppeteer-evaluate-code-injection

javascript/puppeteer/security/audit/puppeteer-evaluate-code-injection.yaml

-6
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,9 @@ rules:
1212
languages: [javascript, typescript]
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
require('puppeteer');
1716
...
1817
- pattern-not-inside: |
19-
...
20-
var $INPUT = "...";
21-
...
22-
- pattern-not-inside: |
23-
...
2418
var $INPUT = function $FNAME(...){...};
2519
...
2620
- pattern-either:

javascript/puppeteer/security/audit/puppeteer-exposed-chrome-devtools.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ rules:
1212
languages: [javascript, typescript]
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
require('puppeteer');
1716
...
1817
- pattern-either:

javascript/puppeteer/security/audit/puppeteer-goto-injection.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@ rules:
1212
languages: [javascript, typescript]
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
require('puppeteer');
1716
...
1817
- pattern-not-inside: |
18+
require('puppeteer');
1919
...
2020
var $INPUT = "...";
2121
...
22+
$PAGE.goto($INPUT,...)
2223
- pattern: $PAGE.goto($INPUT,...)
2324
- pattern-not: $PAGE.goto("...",...)

javascript/puppeteer/security/audit/puppeteer-setcontent-injection.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ rules:
1212
languages: [javascript, typescript]
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
require('puppeteer');
1716
...
1817
- pattern-not-inside: |
18+
require('puppeteer');
1919
...
2020
var $INPUT = "...";
2121
...

javascript/sandbox/security/audit/sandbox-code-injection.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ rules:
1212
- sandbox
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
$SANDBOX = require('sandbox');
1716
...
1817
- pattern-not-inside: |

javascript/serialize-javascript/security/audit/unsafe-serialize-javascript.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ rules:
1212
- serialize-javascript
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
$S = require('serialize-javascript');
1716
...
1817
- pattern-not-inside: escape(...)

javascript/shelljs/security/shelljs-exec-injection.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ rules:
1212
languages: [javascript, typescript]
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
require('shelljs');
1716
...
1817
- pattern-not-inside: |
18+
require('shelljs');
1919
...
2020
var $INPUT = "...";
2121
...

javascript/vm2/security/audit/vm2-code-injection.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ rules:
1212
- vm2
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
require('vm2');
1716
...
1817
- pattern-not-inside: |
1918
$CODE = "...";
2019
...
2120
- pattern-not-inside: |
21+
require('vm2');
2222
...
2323
$CODE = new VMScript(...);
2424
...

javascript/vm2/security/audit/vm2-context-injection.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ rules:
1212
- vm2
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
$VM = require('vm2');
1716
...
1817
- pattern-either:

javascript/wkhtmltoimage/security/audit/wkhtmltoimage-injection.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ rules:
1212
languages: [javascript, typescript]
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
$WK = require('wkhtmltoimage');
1716
...
1817
- pattern-not-inside: |

javascript/wkhtmltopdf/security/audit/wkhtmltopdf-injection.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ rules:
1212
languages: [javascript, typescript]
1313
patterns:
1414
- pattern-inside: |
15-
...
1615
$WK = require('wkhtmltopdf');
1716
...
1817
- pattern-not-inside: |

python/django/best-practice/upsell_django_environ.yaml

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
rules:
22
- id: use-django-environ
33
patterns:
4-
- pattern-not: |
5-
...
4+
- pattern-not-inside: |
65
import environ
76
...
87
- pattern-either:

python/django/security/injection/path-traversal/path-traversal-file-name.yaml

+10-8
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,16 @@ rules:
1616
- pattern-inside: |
1717
def $F(...):
1818
...
19-
- pattern-not: |
20-
...
21-
os.path.realpath(...)
22-
...
23-
- pattern-not: |
24-
...
25-
os.path.abspath(...)
26-
...
19+
- pattern-not-inside: |
20+
def $F(...):
21+
...
22+
os.path.realpath(...)
23+
...
24+
- pattern-not-inside: |
25+
def $F(...):
26+
...
27+
os.path.abspath(...)
28+
...
2729
- pattern-either:
2830
# match % use cases
2931
- pattern: |

0 commit comments

Comments
 (0)