py/HardcodedCredentials misses common credential patterns and flags usernames.
還沒有人認領這個 Issue。
評估
研究方向
從 py/HardcodedCredentials 規則開始,重現 issue 中的 API-key、URL-credential、username 和 options 範例。閱讀該規則如何對 credential 模式建模,以及如何透過 options 字典傳播 taint。完成的標準是:能夠偵測出缺少的 credential 情況,同時不會將一般 username 視為 credential,並且涵蓋回報的範例。
由索引模型根據 Issue 內容生成。
描述
Some patterns are missing, for example:
api_key = "sk-1234567890" # Missed: API key
db_url = "postgres://user:pass@host/db" # Missed: URL credentials
Second, I am not sure if the username is seen as a credential in a usual project, but this rule will flag the username.
This is beyond the definition in CWE-798 (
The product contains hard-coded credentials, such as a password or cryptographic key.)
USERNAME = "admin" # Flagged
I also found that the rule will lose the taint in the following case:
USERNAME = "road_runner"
PASSWORD = "insecure_pwd"
options = {"password": PASSWORD}
conn = client.connect(username=USERNAME, password=PASSWORD) # Flagged
log.debug("Options: %s", options) # Missing
conn = client.connect(options=options) # Still Missing
- 主要語言
- CodeQL
- 星號
- 10.1k
- 分支
- 2.1k
- 平均合併
- 2 天 16 小時
- 30 天內合併 PR
- 143
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
github/codeql 的其他 Issue
-
agentic-workflows
難度 2/5 1-3 小時 新手友好度 70/100
-
false-positive javascript
難度 2/5 1-3 小時 新手友好度 84/100
-
難度 2/5 1-3 小時 新手友好度 82/100
-
難度 2/5 1-3 小時 新手友好度 78/100
-
false-positive
難度 2/5 1-3 小時 新手友好度 70/100
相似的 Issue
-
enhancement
難度 2/5 1-3 小時 新手友好度 70/100
canonical/paas-charm#368 · 1 則留言 ·
-
enhancement
難度 2/5 1-3 小時 新手友好度 75/100
palladius/rails8-app-on-gcp#142 ·
-
難度 1/5 1 小時以內 新手友好度 90/100
StevenBlack/hosts#3256 ·
-
難度 2/5 1-3 小時 新手友好度 75/100
corsairdev/corsair#1764 ·
-
oblt-aw/detector/security
難度 2/5 1-3 小時 新手友好度 70/100