Zarn
Легкий анализ безопасности статического кода для современных приложений Perl
Выполняя статический анализ, Zarn способен идентифицировать возможные уязвимости: для этой цели каждый файл анализируется с использованием анализа AST для распознавания токенов, которые представляют риски, и впоследствии запускает процесс отслеживания разрушения, чтобы подтвердить, что он является эксплуатационным или нет, чтобы подтвердить, способен ли вредоносный агент нацелиться на вопрос.
В настоящее время Zarn Do анализ единого файла контекста, что означает, что он не может идентифицировать уязвимости, которые не связаны напрямую с анализируемым файлом. Но в будущем мы планируем реализовать анализ графа вызовов для определения уязвимостей, которые не связаны напрямую с анализируемым файлом.
Вы можете прочитать полную публикацию о Zarn at: легкий инструмент анализа статической безопасности для современных приложений 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Ваш вклад и предложения от всего сердца ♥ добро пожаловать. Смотрите здесь Руководство по вкладу. Пожалуйста, сообщайте об ошибках через страницу проблем и по вопросам безопасности, см. Здесь политика безопасности. (✿ ◕‿◕ ◕‿◕) Этот проект следует за этим руководством по стилю: (https://github.com/htrgouvea/perl-style-guide).
Эта работа лицензирована по лицензии MIT.