github / github/codeql

False positive - Incomplete string escaping

オープン
#18,379 コメント 9 件 リアクション 0 件 担当者 0 名 GitHub で見る
false-positive
主要言語
CodeQL
スター
10.1k
フォーク
2.1k
平均マージ
2日 15時間
マージ済み PR(30日)
141

説明

**Description of the false positive**

```
Incomplete string escaping or encoding
This does not escape backslash characters in the input.
```

```ts
part = `"${part.replace(/"/g, '\\"')}"`;
```

This is intentional,

actual string: `abc\"` -> `"abc\\""`

JS:
```js
'abc\\"' '"abc\\\\""'
```

This code is used in a client library to serialize caller input as-is from list to header value.

```ts
const input = ["a", "b", `\\"`];
const serialized = `a,b,"\\\\""`;
```

**Code samples or links to source code**

https://github.com/smithy-lang/smithy-typescript/blob/d8446cfa3bf6cbcf1187d1ad744ac5a296e442d7/packages/smithy-client/src/quote-header.ts#L8

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Start with the linked packages/smithy-client/src/quote-header.ts example and inspect the CodeQL finding that flags its string escaping. Reproduce the report with the provided inputs, then identify the relevant query coverage; done means intentional backslashes in this serialization are no longer reported as incomplete escaping.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
typescript
領域
security
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。