zarn
Zarn
ザーン
最新のPERLアプリケーションのための軽量静的コードセキュリティ分析
静的分析を実行すると、ZARNは考えられる脆弱性を特定できます。この目的のために、各ファイルはAST分析を使用してリスクを提示するトークンを認識し、その後、悪用が可能かどうかを確認するために、悪用エージェントが問題の方法をターゲットにすることができるかどうかを検証するために、それが搾取可能かどうかを確認することを確認するために、AST分析を認識します。
現在、Zarnは単一のファイルコンテキスト分析を行います。つまり、分析されているファイルに直接関連していない脆弱性を特定できないことを意味します。しかし、将来的には、分析対象のファイルに直接関係していない脆弱性を特定するために、コールグラフ分析を実装する予定です。
ZARNに関する完全な出版物を、最新のPERLアプリ向けの軽量静的セキュリティ分析ツールを読むことができます。
# Download
$ git clone https://github.com/htrgouvea/zarn && cd zarn
# Install libs dependencies
$ sudo cpanm --installdeps .$ perl zarn.pl --rules rules/quick-wins.yml --source ../nozaki --sarif report.sarif
[warn] - FILE:../nozaki/lib/Functions/Helper.pm Potential: Timing Attack.
[vuln] - FILE:../nozaki/lib/Engine/Orchestrator.pm Potential: Path Traversal.
[vuln] - FILE:../nozaki/lib/Engine/Orchestrator.pm Potential: Path Traversal.
[warn] - FILE:../nozaki/lib/Engine/FuzzerThread.pm Potential: Timing Attack. rules :
- id : ' 0001 '
category : info
name : Debug module enabled
message : Debug modules can expose sensitive information and potentially create security vulnerabilities.
sample :
- Dumper
- id : ' 0002 '
category : vuln
name : Code Injection
message : Occur when untrusted data is executed as code, allowing attackers to run arbitrary commands on the server.
sample :
- system
- eval
- exec
- qx
- id : ' 0003 '
category : vuln
name : Path Traversal
message : Occur when user input is not properly sanitized, allowing attackers to access files and directories outside of the intended directory structure.
sample :
- open name : ZARN SAST
on :
push :
branches : [ "main" ]
pull_request :
branches : [ "main" ]
schedule :
- cron : " 28 23 * * 1 "
jobs :
zarn :
name : Security Static Analysis with ZARN
runs-on : ubuntu-20.04
steps :
- name : Checkout code
uses : actions/checkout@v4
- name : Perform Static Analysis
uses : htrgouvea/[email protected]
- name : Send result to Github Security
uses : github/codeql-action/upload-sarif@v3
with :
sarif_file : result.sarifあなたの貢献と提案は心から♥を歓迎します。貢献ガイドラインをご覧ください。問題ページとセキュリティの問題については、バグを報告してください。ここでセキュリティポリシーを参照してください。 (✿)このプロジェクトは、このスタイルガイドに従います。
この作業は、MITライセンスに基づいてライセンスされています。