Zarn
Eine leichte statische Code -Sicherheitsanalyse für moderne Perl -Anwendungen
Durch die Durchführung einer statischen Analyse kann Zarn mögliche Schwachstellen identifizieren: Zu diesem Zweck wird jede Datei mithilfe der AST -Analyse analysiert, um Token zu erkennen, die Risiken darstellen, und anschließend den Meldeverfolgungsprozess ausführt, um zu bestätigen, dass es sich um eine Ausbeutung handelt, um zu validieren, ob ein böswilliger Agent die betreffende Methode abzielen kann.
Derzeit führt Zarn eine Einzeldateikontextanalyse durch, was bedeutet, dass es nicht in der Lage ist, Schwachstellen zu identifizieren, die nicht direkt mit der zu analysierten Datei zusammenhängen. In Zukunft planen wir jedoch, eine Anrufgrafikanalyse zu implementieren, um Schwachstellen zu identifizieren, die nicht direkt mit der zu analysierten Datei zusammenhängen.
Sie können die vollständige Veröffentlichung über Zarn unter: Ein Tool für leichte statische Sicherheitsanalyse für moderne Perl -Apps lesen.
# 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.sarifIhre Beiträge und Vorschläge sind von Herzen ♥ willkommen. Siehe hier die Beitragsrichtlinien. Bitte melden Sie Fehler über Themenseite und für Sicherheitsprobleme. Siehe hier die Sicherheitsrichtlinie. (✿ ◕‿◕) Dieses Projekt folgt dieser Stilhandbuch: (https://github.com/htrgouvea/perl-style-guide).
Diese Arbeit ist unter MIT -Lizenz lizenziert.