2022-10-05 分類(lèi): 網(wǎng)站建設(shè)
Whispers是一款功能強(qiáng)大的靜態(tài)代碼分析工具,該工具可以幫助廣大研究人員解析各種常見(jiàn)的數(shù)據(jù)格式,并搜索硬編碼憑證和危險(xiǎn)函數(shù)。Whispers支持在命令行終端中運(yùn)行,或者也可以將其集成到CI/CD管道中。
檢測(cè)功能 密碼 API令牌 AWS密鑰 私鑰 憑證哈希 身份認(rèn)證令牌 危險(xiǎn)函數(shù) 敏感文件 支持的格式Whispers本質(zhì)上來(lái)說(shuō)是一款結(jié)構(gòu)化的問(wèn)版本解析工具,而不是一個(gè)代碼分析工具。
下面列出的是當(dāng)前版本W(wǎng)hispers支持的數(shù)據(jù)格式:
YAML JSON XML .npmrc .pypirc .htpasswd .properties pip.conf conf / ini Dockerfile Dockercfg Shell scripts Python3Python3文件會(huì)以AST進(jìn)行解析,因?yàn)檫@是原生語(yǔ)言支持。
聲明和賦值格式該工具可以將下列語(yǔ)言文件解析為文本,并檢測(cè)常見(jiàn)的變量聲明和賦值模式:
JavaScript Java Go PHP 特殊格式支持 AWS憑證文件 JDBC連接字符串 Jenkins配置文件 SpringFramework配置文件 Java屬性文件 Dockercfg注冊(cè)認(rèn)證文件 GitHub令牌 工具安裝通過(guò)PyPI安裝:
pip3 install whispersGitHub安裝:
git clone https://github.com/Skyscanner/whispers cd whispers make install 工具使用命令行接口:
whispers --help whispers --info whispers source/code/fileOrDir whispers --config config.yml source/code/fileOrDir whispers --output /tmp/secrets.yml source/code/fileOrDir whispers --rules aws-id,aws-secret source/code/fileOrDir whispers --severity BLOCKER,CRITICAL source/code/fileOrDir whispers --exitcode 7 source/code/fileOrDirPython:
from whispers.cli import parse_args from whispers.core import run src = "tests/fixtures" configfile = "whispers/config.yml" args = parse_args(["-c", configfile, src]) for secret in run(args): print(secret) 工具配置Whispers工具支持多種配置選項(xiàng),我們可以根據(jù)需要來(lái)配置是否在結(jié)果中互毆文件路徑、密鑰或其他值等。config.yml的參考格式如下:
include: files: - "**/*.yml" exclude: files: - "**/test/**/*" - "**/tests/**/*" keys: - ^foo values: - bar$ rules: starks: message: Whispers from the North severity: CRITICAL value: regex: (Aria|Ned) Stark ignorecase: True最快的配置方法就是將config.yml文件拷貝至一個(gè)新的文件中,然后直接將其以參數(shù)形式傳遞給Whispers:
whispers --config config.yml --rules starks src/file/or/dir 自定義規(guī)則我們可以通過(guò)下列方式,在whispers/rules文件中添加和編輯自己的自定義規(guī)則:
rule-id: # unique rule name description: Values formatted like AWS Session Token message: AWS Session Token # report will show this message severity: BLOCKER # one of BLOCKER, CRITICAL, MAJOR, MINOR, INFO key: # specify key format regex: (aws.?session.?token)? ignorecase: True # case-insensitive matching value: # specify value format regex: ^(?=.*[a-z])(?=.*[A-Z])[A-Za-z0-9\+\/]{270,450}$ ignorecase: False # case-sensitive matching minlen: 270 # value is at least this long isBase64: True # value is base64-encoded isAscii: False # value is binary data when decoded isUri: False # value is not formatted like a URI similar: 0.35 # maximum allowed similarity between key and value # (1.0 being exactly the same) 插件Whispers中所有的解析功能都是通過(guò)插件實(shí)現(xiàn)的,每一個(gè)插件都會(huì)使用pairs()方法實(shí)現(xiàn)一個(gè)類(lèi),并返回匹配規(guī)則的鍵值對(duì):
class PluginName: def pairs(self, file): yield "key", "value" 項(xiàng)目地址Whispers:【GitHub傳送門(mén)】
原文地址:https://www.freebuf.com/sectool/317584.html
網(wǎng)站標(biāo)題:如何使用Whispers識(shí)別靜態(tài)結(jié)構(gòu)化文本中的硬編碼敏感信息
地址分享:http://www.rwnh.cn/news8/202208.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、做網(wǎng)站、網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、建站公司、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容