mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 22:52:06 +00:00
Translated ['network-services-pentesting/pentesting-web/code-review-tool
This commit is contained in:
parent
4613549af4
commit
53dea2dab5
1 changed files with 33 additions and 28 deletions
|
@ -1,14 +1,14 @@
|
|||
# 源代码审查 / SAST工具
|
||||
# 源代码审查 / SAST 工具
|
||||
|
||||
<details>
|
||||
|
||||
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
||||
|
||||
* 你在一家**网络安全公司**工作吗?你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||
* 你在一家**网络安全公司**工作吗?你想在 HackTricks 中看到你的**公司广告**吗?或者你想获得**PEASS 的最新版本或下载 HackTricks 的 PDF 版本**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||
* 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
|
||||
* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
|
||||
* **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass),或者**关注**我在**Twitter**上的[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
|
||||
* **通过向**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **和**[**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **提交PR来分享你的黑客技巧。**
|
||||
* 获取[**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
|
||||
* **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](https://t.me/peass),或者**关注**我在**Twitter**上的[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
|
||||
* **通过向**[**hacktricks 仓库**](https://github.com/carlospolop/hacktricks) **和**[**hacktricks-cloud 仓库**](https://github.com/carlospolop/hacktricks-cloud) **提交 PR 来分享你的黑客技巧。**
|
||||
|
||||
</details>
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
|||
|
||||
### [Naxus - AI-Gents](https://www.naxusai.com/)
|
||||
|
||||
有一个**免费的套餐用于审查PRs**。
|
||||
有一个**免费的套餐用于审查 PR**。
|
||||
|
||||
### [**Semgrep**](https://github.com/returntocorp/semgrep)
|
||||
|
||||
|
@ -145,24 +145,29 @@ codeql resolve qlpacks
|
|||
## You need to export a GITHUB_TOKEN (codeql will detect languages automatically)
|
||||
export GITHUB_TOKEN=ghp_32849y23hij4...
|
||||
codeql database create <database> --db-cluster --source-root </path/to/repo>
|
||||
## Or to indicate the languages yourself (https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis#running-codeql-database-create)
|
||||
## Or to indicate the languages yourself
|
||||
codeql database create <database> --language=<language-identifier> --source-root </path/to/repo>
|
||||
## For example
|
||||
export GITHUB_TOKEN=ghp_32849y23hij4...
|
||||
codeql database create /tmp/codeql_db --db-cluster --source-root /path/to/repo # Generate the folder /tmp/codeql_db
|
||||
codeql database create /tmp/codeql_db --db-cluster --source-root /path/to/repo # This will generate the folder /tmp/codeql_db
|
||||
|
||||
# Analyze the code
|
||||
codeql database analyze <database> --format=<format> --output=</out/file/path> --download
|
||||
## Example
|
||||
codeql database analyze /tmp/codeql_db --download --format=csv --output=/tmp/graphql_results.csv
|
||||
codeql database analyze <database> --format=<format> --output=</out/file/path>
|
||||
# If you used --db-cluster a different db was created per language, you need to indicate it. In this example I analyze the javascript folder.
|
||||
codeql database analyze /tmp/codeql_db/javascript --format=csv --output=/tmp/graphql_results.csv
|
||||
|
||||
# Get sarif format
|
||||
codeql database analyze /tmp/codeql_db/javascript --format=sarif-latest --output=/tmp/graphql_results.sarif
|
||||
|
||||
# You can visualize the findings in https://microsoft.github.io/sarif-web-component/
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
您还可以使用[**VSCode扩展**](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-codeql)在VSCode中获取结果。
|
||||
您还可以使用[**VSCode扩展**](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-codeql)在VSCode中获取结果。您仍然需要手动创建数据库,然后可以选择任何文件并单击`右键`->`CodeQL: Run Queries in Selected Files`
|
||||
|
||||
### [Insider](https://github.com/insidersec/insider)
|
||||
|
||||
这是一个**开源**工具,但看起来**未维护**。
|
||||
这是一个**开源**项目,但看起来**不再维护**。
|
||||
|
||||
#### 支持的语言
|
||||
|
||||
|
@ -240,9 +245,9 @@ C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe test.cs
|
|||
|
||||
Java是一种广泛使用的编程语言,常用于开发Web应用程序和企业级应用程序。在进行代码审查时,以下工具可以帮助发现潜在的安全漏洞和代码质量问题。
|
||||
|
||||
### FindBugs
|
||||
### 1. FindBugs
|
||||
|
||||
FindBugs是一个静态代码分析工具,用于查找Java代码中的常见错误和潜在的安全漏洞。它可以检测到空指针引用、资源未关闭、不安全的类型转换等问题。
|
||||
FindBugs是一个静态分析工具,用于检测Java代码中的常见错误和潜在的安全漏洞。它可以识别空指针引用、资源未关闭、不安全的类型转换等问题。
|
||||
|
||||
使用方法:
|
||||
|
||||
|
@ -250,39 +255,39 @@ FindBugs是一个静态代码分析工具,用于查找Java代码中的常见
|
|||
$ findbugs -textui <path_to_jar_file>
|
||||
```
|
||||
|
||||
### PMD
|
||||
### 2. PMD
|
||||
|
||||
PMD是另一个静态代码分析工具,用于检查Java代码中的潜在问题和不良实践。它可以发现未使用的变量、重复的代码、不必要的条件等。
|
||||
PMD是一个源代码静态分析工具,用于检测Java代码中的潜在问题和编码规范违规。它可以识别未使用的变量、重复的代码、不必要的条件判断等问题。
|
||||
|
||||
使用方法:
|
||||
|
||||
```bash
|
||||
$ pmd -d <path_to_source_code> -R <ruleset_file>
|
||||
$ pmd -d <path_to_source_code> -f text
|
||||
```
|
||||
|
||||
### Checkstyle
|
||||
### 3. Checkstyle
|
||||
|
||||
Checkstyle是一个用于强制执行编码规范的工具。它可以检查Java代码是否符合指定的代码风格和规范。
|
||||
Checkstyle是一个用于检查Java代码风格和编码规范的工具。它可以识别缩进错误、命名规范违规、代码注释问题等。
|
||||
|
||||
使用方法:
|
||||
|
||||
```bash
|
||||
$ checkstyle -c <config_file> <path_to_source_code>
|
||||
$ checkstyle -c <path_to_checkstyle_config> <path_to_source_code>
|
||||
```
|
||||
|
||||
### SonarQube
|
||||
### 4. SonarQube
|
||||
|
||||
SonarQube是一个用于代码质量管理的开源平台。它可以检测代码中的漏洞、坏味道和技术债务,并提供有关如何改进代码质量的建议。
|
||||
SonarQube是一个用于代码质量管理的开源平台。它可以检测Java代码中的安全漏洞、代码重复、代码覆盖率等问题,并提供详细的报告和建议。
|
||||
|
||||
使用方法:
|
||||
|
||||
1. 安装SonarQube服务器。
|
||||
2. 在项目中集成SonarQube扫描器。
|
||||
3. 运行扫描器以分析代码并生成报告。
|
||||
2. 在项目中集成SonarQube插件。
|
||||
3. 运行SonarQube分析。
|
||||
|
||||
### FindSecBugs
|
||||
### 5. FindSecBugs
|
||||
|
||||
FindSecBugs是一个专门用于查找Java代码中安全漏洞的工具。它基于FindBugs,并提供了更多的安全规则和检查项。
|
||||
FindSecBugs是一个专门用于检测Java代码中安全漏洞的工具。它可以识别常见的安全问题,如SQL注入、XSS攻击、敏感信息泄露等。
|
||||
|
||||
使用方法:
|
||||
|
||||
|
@ -290,7 +295,7 @@ FindSecBugs是一个专门用于查找Java代码中安全漏洞的工具。它
|
|||
$ findsecbugs -progress -effort:max <path_to_jar_file>
|
||||
```
|
||||
|
||||
以上是一些常用的Java代码审查工具,可以帮助发现潜在的安全漏洞和提高代码质量。在进行代码审查时,建议结合多个工具使用,以获得更全面的分析结果。
|
||||
以上是一些常用的Java代码审查工具,可以帮助发现潜在的安全漏洞和代码质量问题。在进行代码审查时,建议结合多种工具使用,以提高审查的准确性和效率。
|
||||
```bash
|
||||
# JD-Gui
|
||||
https://github.com/java-decompiler/jd-gui
|
||||
|
|
Loading…
Reference in a new issue