github / github/codeql

False negative: unzip using subprocess or `shutil.unpack_archive` is not covered in py/tarslip

未關閉
#21,712 0 則留言 1 個 reaction 已指派 2 人 已被 @hvitved 認領 在 GitHub 檢視
主要語言
CodeQL
星號
10.1k
分支
2.1k
平均合併
2 天 15 小時
30 天內合併 PR
141

描述

The rule currently misses standard library functions and patterns that perform archive extraction, such as `shutil.unpack_archive` and system `tar` commands invoked via `subprocess`.

https://github.com/positive666/yolo_research/blob/f5795f27a56ca4dbe4c182e12f61309a52e23967/utils/downloads.py#L173
https://github.com/JohnClema/xffl/blob/a920300239a82a85a87d0bf25735762844ee8e9d/aggregator/aggregation.py#L9

Here is a minimal, simplified code example to reproduce:
```python
import tarfile, sys, shutil, zipfile, subprocess
unsafe_filename = sys.argv[1]
tar = tarfile.open(unsafe_filename)
tar.extractall() # detected
# 1. shutil
shutil.unpack_archive(unsafe_filename, "out") # not detected
# 2. subprocess
subprocess.run(["tar", "-xf", unsafe_filename]) # not detected
```

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。