جدول المحتويات
- مقدمة
- المتطلب السابق
- تطوير
- كيف
- SELECT_PM
- SELECT_PKG
- الزحف
- edit_dist
- تحميل
- get_versions
- get_author
- get_dep
- get_stats
- build_dep
- build_author
- split_graph
- ثَبَّتَ
- Astgen
- Astfilter
- تلوث
- filter_pkg
- ثابت
- متحرك
- تفسير _trace
- تفسير _result
- compare_ast
- filter_versions
- compare_hash
- grep_pkg
- تسريع
- أداة
- المسح على مستوى الإنترنت
- إحصائيات لمديري الحزم المختلفين
- أدوات التحليل الثابت للغات المختلفة
- AST Parsers للغات المختلفة
- الموارد
- مرجع
مقدمة
يحلل هذا المشروع مشاريع مفتوحة المصدر للبرامج الضارة.
نظرًا لارتفاع الطلب على المجتمع ، قررنا فتح المصدر الرمز كما هو الآن ، للسماح بالتعاون. يتم تحديث غالبية الكود حتى مايو 2019 ، مما يشير إلى أن بعض المكونات قد لا تعمل بعد الآن. لا سيما المكونات التي تعتمد على الأدوات الخارجية (على سبيل المثال sysdig ، تدفق الهواء) أو واجهات برمجة التطبيقات (مثل NPM).
نحن نعمل بنشاط على الاختبار والتحسينات. يرجى العثور على قائمة TODO هنا. لكيفية تشغيل الأوامر ، يرجى الرجوع إلى قسم Howto. لكيفية النشر على الآلات ، يرجى الرجوع إلى تعليمات نشر. للحصول على كيفية طلب الوصول إلى عينات هجوم سلسلة التوريد ، يرجى الرجوع إلى تعليمات الطلب
هذا المستودع مفتوح من مصادر بموجب ترخيص معهد ماساتشوستس للتكنولوجيا. إذا وجدت هذا المستودع مفيدًا ، فيرجى الاستشهاد بالورقة:
@inproceedings{duan2021measuring,
title={Towards Measuring Supply Chain Attacks on Package Managers for Interpreted Languages},
author={Duan, Ruian and Alrawi, Omar and Kasturi, Ranjita Pai and Elder, Ryan and Saltaformaggio, Brendan and Lee, Wenke},
booktitle = {28th Annual Network and Distributed System Security Symposium, {NDSS}},
month = Feb,
year = {2021},
url = {https://www.ndss-symposium.org/wp-content/uploads/ndss2021_1B-1_23055_paper.pdf}
}
المتطلب السابق
الأساسيات
- عامل ميناء
- الإعداد الأساسي لأوبونتو
- لنظام التشغيل الآخر (أي macos و windows) ، يرجى إلقاء نظرة على
setup.sh ومعرفة معادلاتها
التبعيات
- لاختبار وتشغيل المشروع محليًا ، تحتاج إلى تبعيات. هناك طريقتان لإعداد التبعيات
- بناء صورة Maloss Docker واختبار بداخلها
- بناء صورة Docker
-
sudo docker build -t maloss .
- إعادة بناء صورة Docker بدون ذاكرة التخزين المؤقت (تستخدم عند إعادة بناء الصورة)
-
sudo docker build -t maloss . --no-cache
- قم بتشغيل صورة Docker وخسم جذر المصدر المحلي الخاص بك إليه
-
sudo docker run -it --rm -v $(pwd):/code maloss /bin/bash
- التغيير إلى جذر المصدر المصدر المعين وابدأ في إجراء التغييرات
- تثبيت التبعيات محليًا واختبرها
- التعليمات مخصصة لأوبونتو 16.04. إذا وجدتهم لا يعملون على أنظمة أخرى ، فيرجى حل التغييرات اللازمة وارتكابها. يتم نسخ هذه التعليمات ببساطة من Dockerfile ، ابحث عنها لاستكشاف الأخطاء وإصلاحها.
- لتطوير التحليل الثابت JS و Python
-
pip install -r src/requirements.txt --user
- للآخرين (تودو: تبسيط هذه القائمة العملاقة)
-
sudo apt-get install -yqq curl php git ruby-full rubygems-integration nuget python python-pip python3-pip npm jq strace -
sudo ./src/install_dep.sh
تطوير
بناء
- يحتوي مجلد السجلات على رمز مصدر لمديري الحزم النسخ المتطابق. لتشغيل البرنامج ، ستحتاج إلى 10 تيرابايت لـ NPM و 5 تيرابايت لـ PYPI و 5 تيرابايت لارتقاء.
- يحتوي مجلد SRC على رمز مصدر لتحليل ثابت وديناميكي وبيانات الوصفية.
- يحتوي المجلد الرئيسي على رمز المصدر للتنسيق الديناميكي.
- يحتوي مجلد تدفق الهواء على رمز المصدر لتنسيق ثابت.
- يحتوي مجلد SysDig على إعداد وتكوين للتتبع الديناميكي.
- تحتوي البيانات على إعداد وإحصائيات Honeypot.
- التكوين يحتوي على التكوين لتحليل ثابت.
- يحتوي DOC على واجهات برمجة التطبيقات المسمى يدويًا والذي يتم استخدامه لاشتقاق التكوين .
- TestData يحتوي على عينات اختبار.
- المرجع يحتوي على عمل ذي صلة.
- تحتوي البرامج الحميدة على بعض الحزم الحميدة.
- تحتوي البرامج الضارة على قائمة العينات الخبيثة ، والتي يمكن استخدامها للحماية.
- Maloss-SPAMPLES عبارة عن ريبو خاص يحتوي على عينات هجوم سلسلة التوريد ويتم تحديثها بشكل دوري. يرجى ملء نموذج Google لطلب الوصول. سوف نرد في أسرع وقت ممكن.
تعليمات
- في هذا المشروع ، نستخدم حاليًا Celery + RabbitMQ لتشغيل البيانات الوصفية والتحليلات الديناميكية بطريقة موزعة. نحن نستخدم Airflow + Celery لتشغيل تحليلاتنا الثابتة.
- يحتوي المجلد SRC/ على الكود لكل تحليلات فردية ويجب تقليله والمكتفي بذاته.
- على وجه الخصوص ، لتحليل ثابت/ديناميكي/البيانات الوصفية ، يجب أن تتعامل الوظائف في SRC/ المجلد مع حزمة واحدة فقط ومروي واحد.
- يجب تطوير كل تحليلات فردية وتوضعها في هذا المجلد.
- يعامل المجلد الرئيسي/ المجلد الحوسبة الموزعة للبيانات الوصفية والتحليلات الديناميكية.
- تحميل العقدة الرئيسية قائمة الوظائف (الحزم وإصداراتها لتحليلها) ، أرسلها إلى وسيط RabbitMQ.
- تتصل العقد العبيد بالوسيط ويحضر وظائف من الوسيط.
- قد تحتاج كل تحليلات فردية إلى تغيير . ENV في هذا المجلد.
- يعامل مجلد تدفق الهواء/ المجلد الحوسبة الموزعة للتحليلات الثابتة.
- تقوم العقدة الرئيسية بتحميل DAG للوظائف (الحزم المتصلة بعلاقات التبعية) ، أرسلها إلى وسيط Redis.
- تتصل العقد العبيد بـ TE Broker وتجلب وظائف من الوسيط.
- قد تحتاج كل تحليلات فردية إلى تغيير . ENV في هذا المجلد.
- في هذا المشروع ، نقوم بتشغيل كل تحليل باستخدام Docker. توضح الخطوات التالية كيفية بدء أو تصحيح الوظائف الموزعة للبيانات الوصفية والتحليلات الديناميكية.
- على العامل
- قم بإنشاء
main/config مخصص من main/config.tmpl - بناء صورة Docker
-
sudo docker build -t maloss .
- إعادة بناء صورة Docker بدون ذاكرة التخزين المؤقت (تستخدم عند إعادة بناء الصورة)
-
sudo docker build -t maloss . --no-cache
- للاختبار ، قم بتشغيل صورة Docker وإرفاقها
-
sudo docker run -it --rm --cap-add=SYS_PTRACE -v /tmp/result:/home/maloss/result -v /tmp/metadata:/home/maloss/metadata maloss /bin/bash
- للإنتاج ، راجع Deploy.md
- على السيد
- قم بإنشاء
main/config مخصص من main/config.tmpl - بدء Rabbitmq
-
cd main && sudo docker-compose --compatibility -f docker-compose-master.yml up -d
- أضف وظائف إلى قائمة الانتظار
-
python detector.py install -i ../data/pypi.csv
- تصحيح الأخطاء
- التعليق على
QUEUING = Celery في main/config ، ثم يجب أن تعمل الوظائف محليًا وتتابعًا. - نقطة الدخول لأعمال الكرفس هي
main/celery_tasks.py ونقطة الدخول لـ Master It main/detector.py .
- TODO: كيفية تصحيح التحليلات الثابتة
كيف
SELECT_PM
- حدد مديري الحزم للتفتيش بناءً على عتبة num_pkg
SELECT_PKG
- حدد الحزم الشائعة بناءً على معايير محددة ، مثل التنزيلات أو الاستخدامات
-
python main.py select_pkg ../data/pypi.with_stats.csv ../data/pypi.with_stats.popular.csv -n 10000 -
python main.py select_pkg ../data/maven.csv ../data/maven.popular.csv -n 10000 -f use_count
الزحف
- زحف مدير الحزمة المحدد وحفظ أسماء الحزمة
-
python main.py crawl $package_manager $outfile
- قم بالزحف إلى مدير الحزمة المحدد لأسماء الحزم وإحصائيات تنزيل البحث والحفظ إلى ملف
-
python main.py crawl $package_manager $outfile -s -p 24
edit_dist
- قم بتشغيل مسافة تحرير لأسماء الحزم
-
python main.py edit_dist $source -t $target $outfile -
python main.py edit_dist ../data/pypi.with_stats.csv ../data/edit_dist/pypi_edist_dist.out -a c_edit_distance_batch -p 16 -
python main.py edit_dist ../data/pypi.with_stats.popular.csv ../data/edit_dist/pypi_pop_vs_all.out -t ../data/pypi.with_stats.csv -a c_edit_distance_batch -p 16 --pair_outfile ../data/edit_dist/pypi_pop_vs_all.csv
تحميل
- قم بتنزيل ملف Tarball باستخدام PIP ، رابط
-
pip download --no-binary :all: --no-deps package
- قم بتنزيل ملف TGZ باستخدام NPM ، الرابط
- قم بتنزيل حزم PHP باستخدام الملحن
-
composer require -d ../testdata/php --prefer-source --no-scripts package
- قم بتنزيل حزم Ruby باستخدام GEM
- قم بتنزيل حزم Java باستخدام Maven
-
mvn dependency:get -Dartifact=com.google.protobuf:protobuf-java:3.5.1 -Dtransitive=false && cp ~/.m2/repository/com/google/protobuf/protobuf-java/3.5.1/protobuf-java-3.5.1.jar ./
get_versions
- تشغيل وظيفة get_versions للحصول على إصدارات رئيسية لقائمة الحزم
-
python main.py get_versions ../data/pypi.with_stats.popular.csv ../data/pypi.with_stats.popular.versions.csv -l python -c /data/maloss/info/python -
python main.py get_versions ../data/maven.popular.csv ../data/maven.popular.versions.csv -c /data/maloss/info/java -l java
- قم بتشغيل وظيفة get_versions للحصول على جميع الإصدارات لقائمة الحزم
-
python main.py get_versions ../data/2019.07/pypi.csv ../data/2019.07/pypi.versions.csv -c /data/maloss/info-2019.07/python -l python --max_num -1
- قم بتشغيل وظيفة get_versions للحصول على جميع الإصدارات لقائمة الحزم وتضمين وقتهم أيضًا
-
python main.py get_versions ../data/2019.07/pypi.csv ../data/2019.07/pypi.versions.csv -c /data/maloss/info-2019.07/python -l python --max_num -1 --with_time
- تشغيل وظيفة get_versions للحصول على الإصدارات الحديثة لقائمة الحزم
-
python main.py get_versions ../data/2019.07/pypi.csv ../data/2019.07/pypi.versions.csv -c /data/maloss/info-2019.07/python -l python --max_num 100 --min_gap_days 1
get_author
- قم بتشغيل وظيفة get_author إلى المؤلف للحصول على قائمة الحزم
-
python main.py get_author ../data/pypi.with_stats.popular.csv ../data/pypi.with_stats.with_author.popular.csv -l python -c /data/maloss/info/python
get_dep
- قم بتشغيل وظيفة get_dep لإدراج التبعيات لحزم بيثون
-
python main.py get_dep -l python -n protobuf -c ../testdata -
python main.py get_dep -l python -n scrapy -c ../testdata
- قم بتشغيل وظيفة get_dep لإدراج التبعيات لحزم JavaScript
-
python main.py get_dep -l javascript -n eslint -c ../testdata
- قم بتشغيل وظيفة get_dep لإدراج التبعيات لحزم الياقوت
-
python main.py get_dep -l ruby -n protobuf -c ../testdata
- قم بتشغيل وظيفة GET_DEP لإدراج التبعيات لحزم PHP
-
python main.py get_dep -l php -n designsecurity/progpilot -c ../testdata
- قم بتشغيل وظيفة get_dep لإدراج التبعيات لحزم Java
-
python main.py get_dep -l java -n com.google.protobuf/protobuf-java -c ../testdata
get_stats
- احصل على الإحصائيات للحزم المحددة
-
python main.py get_stats ../malware/npmjs-mal-pkgs.june2019.txt ../malware/npmjs-mal-pkgs.june2019.with_stats.txt.new -m npmjs
- احصل على الإحصائيات للحزم المحددة
- `python main.py get_stats ../malware/pypi-mal-pkgs.txt ../malware/pypi-mal-pkgs.with_stats.txt -m pypi
build_dep
- بناء الرسم البياني التبعية
-
python main.py build_dep -c /data/maloss/info/python -l python ../data/pypi.with_stats.csv ../airflow/data/pypi.with_stats.dep_graph.pickle
- قم ببناء الرسم البياني التبعي مع الإصدارات (خيار --- Record_Version )
-
python main.py build_dep -c /data/maloss/info/python -v -l python ../data/pypi.with_stats.popular.versions.csv ../airflow/data/pypi.with_stats.popular.versions.dep_graph.pickle
build_author
- قم ببناء رسم بياني حزمة المؤلف للحزم الشائعة في PYPI/NPMJS/Rubygems/Packagist
-
python main.py build_author ../data/author_pkg_graph.popular.pickle -i ../data/pypi.with_stats.with_author.popular.csv ../data/npmjs.with_stats.with_author.popular.csv ../data/rubygems.with_stats.with_author.popular.csv ../data/packagist.with_stats.with_author.popular.csv -l python javascript ruby php -t ../data/top_authors.popular.json
- قم بإنشاء رسم بياني حزمة المؤلف لجميع الحزم في PYPI/NPMJS/Rubygems/Packagist/Maven
-
python main.py build_author ../data/author_pkg_graph.pickle -i ../data/pypi.with_stats.with_author.csv ../data/npmjs.with_stats.with_author.csv ../data/rubygems.with_stats.with_author.csv ../data/packagist.with_stats.with_author.csv ../data/maven.with_author.csv -l python javascript ruby php java -t ../data/top_authors.json
split_graph
- تقسيم الرسم البياني التبعية
- قم بفك ضغط ملفات المخلل أولاً
-
tar -zxf ../airflow/data/pypi.with_stats.dep_graph.pickle.tgz
- تقسيم إلى نسخ n
-
python main.py split_graph ../airflow/data/pypi.with_stats.dep_graph.pickle ../airflow/pypi_dags/ -d ../airflow/data/pypi_static.py -n 20 -
python main.py split_graph ../airflow/data/pypi.with_stats.popular.versions.dep_graph.pickle ../airflow/pypi_version_dags/ -d ../airflow/data/pypi_static_versions.py -n 10 -
python main.py split_graph ../airflow/data/maven.dep_graph.pickle ../airflow/maven_dags/ -d ../airflow/data/maven_static.py -n 20
- انقسام إلى نسخ n ومجلدات k
-
python main.py split_graph ../airflow/data/maven.popular.versions.dep_graph.pickle.tgz ../airflow/maven_version_dags/ -d ../airflow/data/maven_static_versions.py -n 80 -k 4
- تقسيم الرسم الفرعي الذي يحتوي على عقد البذور
-
python main.py split_graph ../airflow/data/pypi.with_stats.dep_graph.pickle ../airflow/pypi_dags/ -d ../airflow/data/pypi_static.py -s ../data/pypi.with_stats.popular.csv
ثَبَّتَ
- قم بتشغيل وظيفة تثبيت وظيفة لتثبيت حزم Python وآثار التقاط
-
python main.py install -n protobuf -l python -c ../testdata -o ../testdata
- قم بتشغيل وظيفة تثبيت وظيفة لتثبيت حزم JavaScript وآثار التقاط
-
python main.py install -n eslint -l javascript -c ../testdata -o ../testdata
- قم بتشغيل وظيفة تثبيت وظيفة لتثبيت حزم الياقوت وآثار التقاط
-
python main.py install -n protobuf -l ruby -c ../testdata -o ../testdata
- قم بتشغيل وظيفة تثبيت وظيفة لتثبيت حزم PHP وآثار التقاط
-
python main.py install -n designsecurity/progpilot -l php -c ../testdata -o ../testdata
- قم بتشغيل وظيفة تثبيت وظيفة لتثبيت حزم Java وآثار التقاط
-
python main.py install -n com.google.protobuf/protobuf-java -l java -c ../testdata -o ../testdata
Astgen
- قم بتشغيل وظيفة Astgen لحساب AST لحزم Python و Python3
-
python main.py astgen ../testdata/test-eval-exec.py ../testdata/test-eval-exec.py.out -c ../config/test_astgen_python.config -
python main.py astgen ../testdata/html5lib-1.0.1.tar.gz ../testdata/html5lib-1.0.1.tar.gz.out -c ../config/test_astgen_python.config -
python main.py astgen ../testdata/python-taint-0.40.tar.gz ../testdata/python-taint-0.40.tar.gz.out -c ../config/test_astgen_python.config
- قم بتشغيل وظيفة Astgen لحساب AST لحزم JavaScript
-
python main.py astgen ../testdata/test-eval.js ../testdata/test-eval.js.out -c ../config/test_astgen_javascript.config -l javascript -
python main.py astgen ../testdata/urlgrey-0.4.4.tgz ../testdata/urlgrey-0.4.4.tgz.out -c ../config/test_astgen_javascript.config -l javascript
- قم بتشغيل وظيفة Astgen لحساب AST لحزم PHP
-
cd static_proxy && php astgen.php -c ../../config/test_astgen_php.config.bin -i ../../testdata/test-eval-exec.php -o ../../testdata/test-eval-exec.php.out.bin && cd .. -
python main.py astgen ../testdata/test-eval-exec.php ../testdata/test-eval-exec.php.out -c ../config/test_astgen_php.config -l php -
python main.py astgen ../testdata/test-backtick.php ../testdata/test-backtick.php.out -c ../config/test_astgen_php.config -l php -
python main.py astgen ../testdata/php/vendor/guzzlehttp/guzzle/ ../testdata/guzzlehttp_guzzle.out -c ../config/test_astgen_php.config -l php
- قم بتشغيل وظيفة Astgen لحساب AST لحزم الياقوت
-
cd static_proxy && ruby astgen.rb -c ../../config/test_astgen_ruby.config.bin -i ../../testdata/test-eval.rb -o ../../testdata/test-eval.rb.out.bin && cd .. -
python main.py astgen ../testdata/test-eval.rb ../testdata/test-eval.rb.out -c ../config/test_astgen_ruby.config -l ruby
- قم بتشغيل وظيفة Astgen لحساب AST لحزم Java
-
cd static_proxy/astgen-java && java -jar target/astgen-java-1.0.0-jar-with-dependencies.jar -help && cd ../../ -
cd static_proxy/astgen-java && java -jar target/astgen-java-1.0.0-jar-with-dependencies.jar -inpath ../../../testdata/Test.jar -outfile ../../../testdata/Test.jar.out -intype JAR -config ../../../config/astgen_java_smt.config -process_dir ../../../testdata/Test.jar && cd ../../ -
python main.py astgen ../testdata/protobuf-java-3.5.1.jar ../testdata/protobuf-java-3.5.1.jar.out -c ../config/test_astgen_java.config -l java -
python main.py astgen ../testdata/Test.jar ../testdata/Test.jar.out -c ../config/astgen_java_smt.config -l java
Astfilter
- استخدم التكوينات المعنونة
../config/astgen_XXX_smt.config لكل لغة (على سبيل المثال ../config/astgen_javascript_smt.config ) - قم بتشغيل وظيفة Astfilter لتقييم استخدام API لحزمة Python/Pypi وحزمها التابعة
-
python main.py astfilter -n protobuf -c $python_config -d ../testdata/ -o ../testdata/
- قم بتشغيل وظيفة Astfilter لتقييم استخدام API لحزمة JavaScript/NPMJS وحزمها التابعة
-
python main.py astfilter -n eslint-scope -c $javascript_config -d ../testdata/ -o ../testdata/ -l javascript
- قم بتشغيل وظيفة Astfilter لتقييم استخدام API لحزمة PHP/Packagist وحزمها التابعة
-
python main.py astfilter -n designsecurity/progpilot -c $php_config -d ../testdata/ -o ../testdata/ -l php
- قم بتشغيل وظيفة Astfilter لتقييم استخدام API لحزمة Ruby/Rubygems وحزمها التابعة
-
python main.py astfilter -n protobuf -c $ruby_config -d ../testdata/ -o ../testdata -l ruby
- قم بتشغيل وظيفة Astfilter لتقييم استخدام API لحزمة Java/Maven وحزمها التابعة
-
python main.py astfilter -n com.google.protobuf/protobuf-java -c $java_config -d ../testdata/ -o ../testdata -l java
تلوث
- تشغيل تحليل taint لحزم محددة
-
python main.py taint -n json -d /data/maloss/info/ruby -o /data/maloss/result/ruby -l ruby -c ../config/astgen_ruby_smt.config
- تشغيل تحليل taint لحزم محددة وتجاهل تبعياتهم
-
python main.py taint -n urllib -i ../malware/pypi-samples/urllib-1.21.1.tgz -d /data/maloss/info/python -o ./ -l python -c ../config/astgen_python_smt.config -
python main.py taint -n django-server -i ../malware/pypi-samples/django-server-0.1.2.tgz -d /data/maloss/info/python -o ./ -l python -c ../config/astgen_python_smt.config -
pip download --no-binary :all: --no-deps trustme && python main.py taint -n trustme -i trustme-0.5.1.tar.gz -d /data/maloss/info/python -o ./ -l python -c ../config/astgen_python_smt.config -
python main.py taint -n eslint-scope -i ../malware/npmjs-samples/eslint-scope-3.7.2.tgz -d /data/maloss/info/javascript -o ./ -l javascript -c ../config/astgen_javascript_smt.config -
python main.py taint -n custom8 -i static_proxy/jsprime/jsprimetests/custom8.js -d /data/maloss/info/javascript -o ./ -l javascript -c ../config/astgen_javascript_smt.config -
python main.py taint -n stream-combine -i ../malware/npmjs-samples/stream-combine-2.0.2.tgz -d /data/maloss/info/javascript -o ./ -l javascript -c ../config/astgen_javascript_smt.config -
python main.py taint -n test-eval-exec -i ../testdata/test-eval-exec.php -d /data/maloss/info/php -o ./ -l php -c ../config/astgen_php_smt.config -
python main.py taint -n test-multiple-flows -i static_proxy/progpilot/projects/tests/tests/flows/ -d /data/maloss/info/php -o ./ -l php -c ../config/astgen_php_smt.config -
python main.py taint -n test-flow -i ../testdata/test-flow.php -d /data/maloss/info/php -o ./ -l php -c ../config/astgen_php_smt.config
- تشغيل تحليل taint لملف إدخال محدد
-
python main.py taint -n active-support -l ruby -c ../config/astgen_ruby_smt.config -i ../malware/rubygems-samples/active-support-5.2.0.gem -o ./ -
python main.py taint -n bootstrap-sass -l ruby -c ../config/astgen_ruby_smt.config -i ../malware/rubygems-samples/bootstrap-sass-3.2.0.3.gem -o ./ -
python main.py taint -n brakeman-rails4 -l ruby -c ../config/astgen_ruby_smt.config -i ../testdata/rails4/ -o ./
filter_pkg
- حزم تصفية بناء على استخدام API أو وجود التدفق
-
python main.py filter_pkg ../data/pypi.with_stats.csv ../data/pypi.with_stats.with_taint_apis.csv -c ../config/astgen_python_taint_apis.config -o /data/maloss/result/python -d /data/maloss/info/python -l python -
python main.py filter_pkg ../data/rubygems.with_stats.csv ../data/rubygems.with_stats.with_taint_apis.csv -c ../config/astgen_ruby_taint_apis.config -o /data/maloss/result/ruby -d /data/maloss/info/ruby -l ruby -
python main.py filter_pkg ../data/npmjs.with_stats.csv ../data/npmjs.with_stats.with_taint_apis.csv -c ../config/astgen_javascript_taint_apis.config -o /data/maloss/result/javascript -d /data/maloss/info/javascript -l javascript -
python main.py filter_pkg ../data/packagist.with_stats.csv ../data/packagist.with_stats.with_taint_apis.csv -c ../config/astgen_php_taint_apis.config -o /data/maloss/result/php -d /data/maloss/info/php -l php -
python main.py filter_pkg ../data/maven.csv ../data/maven.with_taint_apis.csv -c ../config/astgen_java_taint_apis.config -o /data/maloss/result/java -d /data/maloss/info/java -l java
ثابت
- قم بتشغيل وظيفة ثابتة لأداء تحليل Astfilter و Taint و Danger لحزم Python و Python3
-
python main.py static -n protobuf -c $python_config -d ../testdata/ -o ../testdata/
متحرك
- قم بتشغيل وظيفة ديناميكية لتثبيت وحزم بيثون الرئيسية والتمارين الرياضية وآثار التقاط
-
python main.py dynamic -n protobuf -l python -c ../testdata -o ../testdata
تفسير _trace
- قم بتشغيل تفسير وظيفة تتبع لتحليل الآثار الديناميكية وتفريغها في ملفات الإخراج Propl
- ملاحظة: هناك حاجة إلى Sudo لبدء Falco إلى آثار التحليل
-
sudo python main.py interpret_trace -l python --trace_dir /data/maloss1/sysdig/pypi -c /data/maloss/info/python -o /data/maloss/result/python -p 8
compare_ast
- قارن AST من ملفات الإدخال المحددة والحزم للأذونات ، واجهات برمجة التطبيقات ، إلخ.
-
python main.py compare_ast -i ../malware/npmjs-samples/flatmap-stream-0.1.1.tgz ../benignware/npmjs-samples/flatmap-stream-0.1.0.tgz -o ../testdata/ ../testdata/flatmap-stream.json -l javascript -c ../config/astgen_javascript_smt.config -
python main.py compare_ast -i ../testdata/test-backtick.php ../testdata/test-eval-exec.php -o tempout/ tempout/test_eval_backtick.json -l php -c ../config/astgen_php_smt.config -
python main.py compare_ast -i ../malware/rubygems-samples/bootstrap-sass-3.2.0.3.gem ../benignware/rubygems-samples/bootstrap-sass-3.2.0.2.gem -l ruby -c ../config/astgen_ruby_smt.config -o ../testdata/ --outfile ../testdata/bootstrap-sass-compare.txt -
python main.py compare_ast -i ../malware/rubygems-samples/active-support-5.2.0.gem ../benignware/rubygems-samples/activesupport-5.2.3.gem -c ../config/astgen_ruby_smt.config -o ../testdata/ --outfile ../testdata/activesupport-compare.txt -l ruby
filter_versions
- إصدارات حزمة التصفية بناءً على نتائج compare_ast ، للسماح بمزيد من التحليل مثل تحليل taint
-
python main.py filter_versions ../data/2019.07/packagist.versions.with_time.csv ../data/2019.07/packagist_ast_stats.apis.json ../data/2019.07/packagist.versions.with_time.filtered_loose_apis.csv
compare_hash
- قارن قيمة التجزئة لنفس إصدارات الحزمة عبر مديري الحزم المختلفين
-
python main.py compare_hash -i ../data/maven.csv ../data/jcenter.csv -d /data/maloss/info/java /data/maloss/info/jcenter -o ../data/maven_jcenter.json -
python main.py compare_hash -i ../data/jitpack.csv ../data/jcenter.csv -d /data/maloss/info/jitpack /data/maloss/info/jcenter -o ../data/jitpack_jcenter.json
- قارن قيمة التجزئة لنفس إصدارات الحزمة وأذونات محتوىها أو أذونات API عبر مديري الحزم المختلفين
-
python main.py compare_hash -i ../data/jitpack.csv ../data/jcenter.csv -d /data/maloss/info/jitpack /data/maloss/info/jcenter -o ../data/jitpack_jcenter_filtered.json --inspect_content -
python main.py compare_hash -i ../data/jitpack.csv ../data/jcenter.csv -d /data/maloss/info/jitpack /data/maloss/info/jcenter -o ../data/jitpack_jcenter_filtered.json --inspect_api -c ../config/astgen_java_smt.config -
python main.py compare_hash -i ../data/jitpack.csv ../data/jcenter.csv -d /data/maloss/info/jitpack /data/maloss/info/jcenter -o ../data/jitpack_jcenter_filtered_api.json --inspect_api -c ../config/astgen_java_smt.config --compare_hash_cache ../data/jitpack_jcenter_filtered.json
تفسير _result
- جمع وترسم احصائيات واجهة برمجة التطبيقات
-
python main.py interpret_result --data_type api -c /data/maloss/info/python -o /data/maloss/result/python -l python ../data/2019.01/pypi.with_stats.csv ../data/pypi_api_stats.json -
python main.py interpret_result --data_type api -c /data/maloss/info/python -o /data/maloss/result/python -l python ../data/2019.01/pypi.with_stats.popular.csv ../data/pypi_pop_api_stats.json -
python main.py interpret_result --data_type api -c /data/maloss/info/python -o /data/maloss/result/python -l python ../data/2019.01/pypi.with_stats.csv ../data/pypi_api_mapping.json -d --detail_filename
- اجمع وإحصائيات المجال
-
python main.py interpret_result --data_type domain -c /data/maloss/info/python -o /data/maloss/result/python -l python ../data/2019.06/pypi.csv ../data/2019.06/pypi_domain_stats.json -
python main.py interpret_result --data_type domain -c /data/maloss/info/python -o /data/maloss/result/python -l python ../data/2019.06/pypi.csv ../data/2019.06/pypi_domain_mapping.json -d
- جمع إحصائيات التبعية المولدة مسبقًا
-
python main.py interpret_result --data_type dependency -l python ../data/pypi.with_stats.popular.csv ../data/pypi_pop_dep_stats.json
- جمع نتائج مقارنة الإصدار المتقاطع ، يمكن تصفية الأذونات ، واجهات برمجة التطبيقات ، إلخ.
-
python main.py interpret_result --data_type compare_ast -c /data/maloss/info/python -o /data/maloss/result/python -l python ../data/2019.06/pypi.with_stats.popular.csv ../data/2019.06/pypi_compare_ast_stats.json -
python main.py interpret_result --data_type compare_ast -c /data/maloss/info-2019.07/javascript -o /data/maloss/result-2019.07/javascript -l javascript ../data/2019.07/npmjs.csv ../data/2019.07/npmjs_ast_stats.json --compare_ast_options_file ../data/2019.07/compare_ast_options.json
- جمع البيانات الأولية/الثابتة/الديناميكية وتفريغ الحزم المشبوهة
-
python main.py interpret_result --data_type install_with_network -c /data/maloss/info/javascript -o /data/maloss/result/javascript -l javascript -m npmjs ../data/2019.06/npmjs.csv ../data/2019.06/npmjs.install_with_network.json
- جمع نتائج التبعية العكسية
-
python main.py interpret_result --data_type reverse_dep -l javascript -m npmjs ../airflow/data/high_impact.csv ../airflow/data/high_impact_npmjs.json -
python main.py interpret_result --data_type reverse_dep -l python -m pypi ../airflow/data/high_impact.csv ../airflow/data/high_impact_pypi.json -
python main.py interpret_result --data_type reverse_dep -l ruby -m rubygems ../airflow/data/high_impact.csv ../airflow/data/high_impact_rubygems.json
- جمع البيانات الأولية/ثابتة/compare_ast وتفريغ الحزم المشبوهة
-
python main.py interpret_result --data_type correlate_info_api_compare_ast -c /data/maloss/info-2019.07/javascript -o /data/maloss/result-2019.07/javascript -l javascript -m npmjs -s ../data/2019.07/npmjs_skip_list.json ../data/2019.07/npmjs_ast_stats.json ../data/2019.07/npmjs_correlate_info_api_compare_ast.json -
python main.py interpret_result --data_type correlate_info_api_compare_ast -c /data/maloss/info-2019.07/php -o /data/maloss/result-2019.07/php -l php -m packagist -s ../data/2019.07/packagist_skip_list.json ../data/2019.07/packagist_ast_stats.json ../data/2019.07/packagist_correlate_info_api_compare_ast.json -
python main.py interpret_result --data_type taint -c /data/maloss/info-2019.07/php -o /data/maloss/result-2019.07/php -l php ../data/2019.07/packagist.csv ../data/2019.07/packagist_flow_stats.json
grep_pkg
- grep من خلال الحزم
-
python main.py grep_pkg ../data/2019.07/rubygems.csv ../data/2019.07/rubygems.csv.pastebin.com pastebin.com -l ruby -p 80 -
python main.py grep_pkg ../data/2019.07/npmjs.csv ../data/2019.07/npmjs.csv.pastebin.com pastebin.com -l javascript -p 20
تسريع
- قياس فوائد التسريع من الملخصات
-
python main.py speedup ../data/2019.01/pypi.with_stats.popular.csv speedup.log -l python
أداة
المسح على مستوى الإنترنت
إحصائيات لمديري الحزم المختلفين
- احصائيات PYPI
- احصائيات PYPI للحزم
- احصائيات NPMJS
- احصائيات Rubygems
- بوابة غير رسمية لتنزيلات Rubygems
- إحصائيات nuget
- احصائيات الحزم
- إحصائيات Maven (تستخدمها الحزم الأخرى)
أدوات التحليل الثابت للغات المختلفة
- قائمة ملخص
- 13 أداة للتحقق من خطر الأمان لتبعيات المصدر المفتوح
- تحليل برامج ضارة رائعة: قائمة منسقة من أدوات وموارد تحليل البرامج الضارة الرائعة
- قائمة منسقة من المبيدات ، مدقق جودة الرمز ، وأدوات التحليل الثابتة الأخرى لمختلف لغات البرمجة
- PMD: محلل رمز ثابت في اللغة القابلة للتمديد. https://pmd.github.io
- لا يدعم PMD التحليل المشترك بين المشاركين الآن
- مجموعة قواعد الأمان المخصصة لأداة التحليل الثابت Java الشهير PMD.
- بيثون
- أداة تحليل ثابت للكشف عن ثغرات الأمن في تطبيقات الويب Python
- Bandit هي أداة مصممة للعثور على مشكلات أمان مشتركة في كود بيثون
- PHP
- قائمة مراجعة لأدوات التحليل الثابتة لـ PHP المفيدة
- اكتشف ملفات PHP ضارة محتملة
- تحليل taint ل PHP
- PHPCS Security Audit
- أداة تحليل ثابت للأمن
- واجهة برمجة التطبيقات والتوثيق لـ Progpilot
- المتغيرات العالمية PHP - SuperGlobals
- Taint هو امتداد PHP ، يستخدم للكشف ديناميكي رموز XSS
- روبي
- تحقق من وجود مشاكل أمنية روبي
- قفل روبي في الخزنة
- ماسح ضوئي لأمن أمن التحليل الثابت لتطبيقات Ruby on Rails ، Github
- Brakeman Pro هي أفضل طريقة للتحقيق في الموقف الأمني لـ Ruby on Rails Code.
- Dawn هو ماسح ضوئي لأمن التحليل الثابت لتطبيقات الويب المكتوبة Ruby. وهو يدعم Sinatra و Padrino و Ruby on Rails.
- الجودة هي أداة تقوم بتشغيل فحوصات عالية الجودة على الكود الخاص بك باستخدام أدوات المجتمع
- NPMJS
- 6 أدوات لمسح تطبيق Node.js للحصول على تعرض الأمان
- أداة سطر أوامر منصة أمان العقدة https://nodesecurity.io
- أداة تحليل الأمان الثابت JavaScript
- Blackhat 2013 Talk for JSPrime
- JShint هي أداة تساعد على اكتشاف الأخطاء والمشاكل المحتملة في رمز JavaScript الخاص بك
- نظرة أولى على أمان OS Firefox
- والا بطيئة
- JSPrime قادر أيضًا على إجراء تحليل تدفق البيانات ، ولكن من الصعب للغاية تمديد الهندسة المعمارية.
- Scanjs ، المكتوب في المنزل من قبل Mozilla ، هو الأقرب بروح إلى بلدنا.
- Nodejsscan هو ماسحة رمز أمان ثابت لتطبيقات Node.js.
- التدفق هو مدقق نوع ثابت لجافا سكريبت
- JSFlow هو مترجم JavaScript المعزز بالأمان لتتبع تدفق المعلومات الدقيق.
- أداة لدراسة البرامج الضارة JavaScript.
- أداة تحليل البرامج الضارة JavaScript
- إطار التحليل القابل للتطوير لـ ECMASCRIPT
- تم إهمالها: أداة تحليل ثابت لرمز JavaScript.
- تحليل JavaScript والويب مع Wala
- JSunpack: JSunpack-N يحاكي وظائف المتصفح عند زيارة عنوان URL
- مجموعة من حوالي 40.000 عينة من البرامج الضارة جافا سكريبت
- JSAI: منصة تحليل ثابت لجافا سكريبت
- استنساخ إطار التحليل الثابت JSAI
- تحليل ثابت لتطبيقات JavaScript التي تعتمد على الحدث
- إطار تحليل ديناميكي لجافا سكريبت
- جافا
- إطار عمل الكشف عن البرامج الضارة Android
- رمز لورقة الكشف عن البرامج الضارة أندرويد العميقة
- متتبع تدفق البيانات الثابت في التدفق
- Csharp
- مسح رمز الأمان - محلل رمز ثابت لـ .NET
- أدوات إدارة التبعية
- باور: مدير حزمة للويب
- الغزل: إدارة التبعية السريعة والموثوقة والآمنة
- التحليل الديناميكي
- Dynamorio: منصة أداة الأجهزة الديناميكية
- تنسيق اختبار أمان التطبيق الديناميكي (DASTO)
- Valgrind هو إطار أجهزة لبناء أدوات التحليل الديناميكي
- مكون إضافي لتتبع taint لأداة فحص ذاكرة Valgrind
- إطار التحليل
- إطار مسح الملفات/التحليل المعياري: دعم clamav إلخ.
- خدمة تحليل البرامج الضارة المجانية للمجتمع التي تكتشف وتحليل تهديدات غير معروفة باستخدام تقنية تحليل هجينة فريدة من نوعها.
- أكثر من 5200 مشروع مفتوح المصدر و 25000 مطور يستخدمون مسح الغطاء
AST Parsers للغات المختلفة
- Python AST Parser ، استخدم AST.Parse
- Ast.Parse
- معلمات AST.Parse
- توضيح Python AST: Asttoken
- كتابة السيناريو الإعداد
- JavaScript AST Parser ، استخدم Esprima
- Estree: مواصفات JavaScript Parser API
- تشير الإجابات إلى Spidermonkey و Esprima
- Spidermonkey
- Esprima ، مقارنة Esprima
- Acorn ، Acorn vs Esprima
- مترجم بابل ، استنادًا إلى ACORN
- ميناء بيثون من Esprima
- كيف تتعامل NPM مع حقل "البرامج النصية"
- Node.js مواصفات API
- كائنات JavaScript القياسية حسب الفئة
- Ruby AST Parser
- روبي في عشرين دقيقة
- محلل روبي ، تنزيل الإحصائيات
- ruby_parser
- المقارنة بين المحلل و rouby_parser
- باستخدام محلل روبي للعثور على بناء جملة تم إهماله
- يمكن أن تكون وظيفة Ruby Eval خطيرة
- Ruby Exec ، نظام ، ٪ x () و backticks
- كيفية تنفيذ البرنامج النصي أثناء تثبيت الأحجار الكريمة؟
- جافا AST Parser
- سخام
- والا
- قم بتشغيل برنامج نصي بعد تثبيت Maven
- وظائف جافا القابلة للاستغلال
- C# AST Parser
- Microsoft Binskim
- محلل الرمز الصافي الآلي C#/.
- يدعم Verocode التحليل الثابت للعديد من اللغات
- المسح الأمنية
- حارس الأمن
- مسح بوما
- مقارنة بين محللات الرمز C#
- PHP AST Parser
- PHP-Parser
- php-ast
- إنشاء AST لملف مصدر PHP
- phpjoern
- وظائف PHP قابلة للاستغلال
- وظائف PHP الخطرة
- تعطيل وظائف PHP الخطرة
- البرامج النصية الملحن للتحليل الديناميكي
- C/C ++ AST Parser
الموارد
- مرآة تاوباو من NPM ،
- مرآة ستانفورد من Pypi
- مرايا السجلات في الصين
- الحفاظ على سجل NPM رائع: كيف يعمل NPMJS؟
- الاستعلام عن سجل NPMJS عبر API
- بحث NPM مع إصدارات التاريخ
- دقة الرقمية: كيف تعمل تعدادات تنزيل NPM
- مستندات NPMJS API
- تساعدك Synk's CLI في العثور على نقاط الضعف المعروفة في التبعيات الخاصة بك وإصلاحها
- باستخدام مرآة NPM الأوروبية
- ما تعلمته من تحليل إصدارات 1.65m من وحدات Node.js في NPM
- Archive.org Snapshots Websites ويمكن استخدامه لقياس مواقع الضحايا
- تتبع الأحداث لنظام التشغيل Windows (ETW)
- Linux التدقيق
- ضبط تدقيق: تدقيق Linux عالي الأداء
- Linux Audit Framework 101 - القواعد الأساسية للتكوين
- Linux Audit: تدقيق تكوين الشبكة
- كيفية استخدام نظام التدقيق Linux على CentOS 7
- الفصل 7. مراجعة النظام
- strace
- محلل Strace
- Python-Ptrace هو ربط بيثون لمكتبة Ptrace
- Pystrace - أدوات Python لتحليل ملفات الإخراج Strace وتحليلها
- تحليل الإخراج strace
- التنميط والتصور مع GNU Strace
- لقد قمت بإنشاء grammer BNF للإخراج واستخدمت BNFC لإنشاء محلل في C ++ تلقائيًا.
- الناتج منظم ل strace
- مثل Strace ، ولكن لرمز الياقوت
- Pytrace هو تتبع بيثون سريع. يسجل المكالمات والوسائط وقيم الإرجاع.
- يساعد PHP-Strace في تعقب Segfaults في تشغيل عمليات PHP
- كيفية ضبط عرض أحرف الإخراج Strace لتكون أطول؟
-
-s خيار يحدد الحد الأقصى لحجم السلسلة للطباعة -
-v خيار طباعة Argv غير المبتسم ، STAT ، termios ، إلخ.
- Google Summer of Code لإخراج Strace
- مشاركة Strace في GSOC 2014
- الناتج المنظم حقًا لـ Strace في GSOC 2016
- DOC لـ GSOC 2016
- dtrace للينكس
- رمز للنظام الأساسي المتقاطع ، المصدر الفردي ، تنفيذ OpendTrace
- Ftrace هو تتبع داخلي مصمم لمساعدة المطورين ومصممي الأنظمة للعثور على ما يجري داخل النواة.
- ما هو الفرق بين Dtrace و Strace
- Sysdig vs dtrace vs Strace: مناقشة فنية
- Osquery: عملية مراجعة المقبس مع Osquery
- المعلومات التي تم جمعها بواسطة Osquery (الجداول)
- قائمة منسقة من الأدوات والموارد للاستجابة للحوادث الأمنية ، تهدف إلى مساعدة محللي الأمن وفرق DFIR.
- 1: كيف تستخدم الفرق حاليًا Osquery؟
- 2nd: ما هي نقاط الألم الحالية في أوسكويري؟
- الثالث: ماذا تتمنى أن تفعل أوسكويري؟
- Kolide Cloud هو حل لمراقبة نقطة النهاية والذي يعزز وآلات Osquery Opens Opens Facebook. جربه اليوم ؛ مجاني تمامًا لأجهزةك العشرة الأولى.
- أسطول Kolide لمراقبة آلات Osquery
- دعم Docker في Osquery
- Dockerfiles للأوسكويري الحاويات
- uptycs: تأمين الحاويات: استخدام Osquery لحل التحديات الجديدة التي تم طرحها من قبل خدمات التزامن المستضافة
- uptycs: Docker و Osquery
- Osquery for Security: مقدمة إلى Osquery - الجزء 1
- Osquery للأمن - الجزء 2
- Osquery - Windows ، MacOS ، مراقبة Linux واكتشاف التسلل
- Docker و Osquery
- مقدمة إلى Osquery: الأسئلة المتداولة للمبتدئين
- تكوين Osquery من Palantir
- SYSDIG: نظام Linux System Exploration واستكشاف الأخطاء وإصلاحها مع دعم من الدرجة الأولى للحاويات
- Selinux ، Seccomp ، Sysdig Falco ، وأنت: مناقشة فنية
- مراقبة بروميثيوس ومراقبة SYSDIG: مقارنة فنية
- اليوم الثالث - خادم ، أخبرني عن نفسك. مقدمة عن الوجه والأوسكويري و sysdig
-
Whereas Facter and osquery are predominantly about querying infrequently changing information, Sysdig is much more suited to working with real-time data streams – for example, network or file I/O, or tracking errors in running processes.
- مراقبة الحاويات: بروميثيوس وغرافانا مقابل. شاشة Sysdig و Sysdig
- مراقبة الحاويات مع sysdig
- دليل مستخدم SYSDIG
- Sysdig Falco
- قواعد Sysdig Falco
- اكتشاف التشفير مع Sysdig's Falco
- Sysdig + Logstash + Elasticsearch
- sysdig + elk (محتمل)
- إرسال أحداث Kubernetes & Docker إلى Elasticsearch و Splunk باستخدام SysDig
- أمان حاوية وقت التشغيل - كيفية تنفيذ أمان حاوية المصدر المفتوح
- WTF حاوية بلدي فقط ولدت قذيفة
- Go-Auditd
- Go-Audit هو بديل لخفي Auditd الذي يشحن مع العديد من التوزيع
- نظام مراقبة بروميثيوس وقاعدة بيانات السلاسل الزمنية.
- موقع بروميثيوس الرسمي
- Go-Audit-container
- FIM و System Call Auditing على نطاق واسع في نشر حاوية كبيرة
- Kubernetes: Kubernetes هو نظام مفتوح المصدر لأتمتة النشر والتوسع وإدارة التطبيقات التي تم تحريكها.
- الوجه: جمع وعرض حقائق النظام
- ابحث
- محلل OS X لمشروع Cuckoo Sandbox
- صندوق Cuckoo Sandbox هو نظام تحليل البرامج الضارة الآلية المفتوحة المصدر الرائد
- المكتبات الأصلية مع Maven
- مافن: تجميع وتفريغ المكتبات الأصلية
- المكون الإضافي للأرشيف الأصلي لـ Maven
- نظام الملفات المرن (EFS) يتجه خارج AWS
- Amazon EFS Update-الوصول المحلي عبر الاتصال المباشر
- لغة البرمجة GO
- نظرًا للطريقة التي تعمل بها GO ، فإن منزل المقاصة المركزي مثل Maven أو NPM ليس هناك حاجة إليه ببساطة.
- Project for Go Search ، محرك بحث للعثور على الحزم الشائعة والذات ذات الصلة.
- يكتسب روبي (أخيرًا) شعبية ، ولكن اذهب إلى الهضاب
- أعلى اللغات: Java ، C ، C ++ ، Python ، C#، PHP ، JavaScript ، Ruby
- مراجع التحليل الثابت
- الاستدلال الآلي للبرامج المكتوبة ديناميكيًا
- أداة تحليل ثابت لإيجاد الأخطاء في تطبيقات PHP
- يسمح IBM AppScan
- دعم لغات AppScan: يدعم C/C ++ ، .NET ، Java ، JSP ، JavaScript ، PHP ، ASP ، Python
- IBM Security AppScan Source 9.0.3.10 متاح في Fix Central
- إصدارات مصدر AppScan متوفرة
- التنفيذ المقيد
- بيثون الرمل
- Ruby Sandboxing مقابل دمج لغة البرمجة النصية
- سجن - صندوق رمل JS مرن
- هل من الممكن أن يعمل JavaScript في المتصفح؟
- هل هناك طريقة لتنفيذ رمز PHP في صندوق رمل من داخل PHP
- RunKit_Sandbox
- رمز Java Sandboxing
- تنفيذ طريقة في Java بأذونات مقيدة
- وظائف الدفعات AWS
- AWS دفعة تعليمية
- دفعة AWS: تبسيط الحوسبة الدُفعات في السحابة
- مثال على الدفعة AWS
- ec2-spot-als-batch
- SQS-EC2-spot-fleet-autoscaling
- تدفق الهواء داج
- مواز تشغيل DAG من المهام في الكرفس من بيثون
- تدفق الهواء - التوسع مع الكرفس
- تدفق الهواء داج
- مقدمة تدفق الهواء
- تدفق الهواء على Kubernetes (الجزء 1): نوع مختلف من المشغل
- صورة Docker و Kubernetes Config Config لتشغيل Airflow على Kubernetes
- دليل حول كيفية إنشاء خادم/مجموعة تدفق الهواء
- الاستشارات الأمنية
- مشاكل Rubygems
- استشارات الأمن NPMPJS
- حزم بيثون
- حزم الحزم
- حزم مافن
- حزم jcenter
- مرآة بيانات Vulndb
- مسار التبعية
- فحص التبعية
- Microsoft Security الاستشاري
مرجع
- تعداد الوحدة النمطية
- موقع ويب سريع لتتبع عدد الوحدات النمطية في مختلف المستودعات
- موقع الاختلاف المطبعي
- أطروحة مطبعية
- ديبيان الفشار
- تم العثور على حزم pypi لتكون خبيثة
- بيثون المطبع القرفصاء
- PHP خطأ مطبعي القرفصاء
- jcenter خطأ مطبعي القرفصاء
- Rubygems typosquatting
- صيد حزم NPM ضارة
- حزم NPM الخبيثة
- قائمة بجميع حزم PYPI
- البرامج الضارة Crossenv على سجل NPM
- حزم المصادر مفتوحة بقصد ضار
- كيفية الاستيلاء على الكمبيوتر لأي مطور Java (أو clojure أو Scala)
- ركن الأمن مع Snyk: أعلى ستة نقاط الضعف في Maven و NPM
- توزيعة Linux أخرى تسمم البرامج الضارة
- Nodejs: تنفيذ الرمز البعيد كخدمة
- 17 صور Docker ذات الباب الخلفي تمت إزالتها من Docker Hub
- اشتعلت مكتبة بيثون الخلفية لسرقة بيانات اعتماد SSH
- ESLINT-SCOPE هو محلل نطاق ECMASCRIPT المستخدم في ESLINT. تم تحديد الإصدار 3.7.2 على أنه ضار بعد استحواذ حساب NPM المحتمل. سيؤدي تثبيت الحزمة الضارة إلى تسرب رمز NPM للمستخدم.
- NPM تحصل على ^Lift Security ومنصة أمان العقدة
- تحليل هجوم سلسلة التوريد PIP SSH SSH
- ملفات. جار المستضافة على رمز Google
- تشريح البرامج الخبيثة Java (JRAT)
- الحزم التي يحتمل أن تتأثر بنطاق ESLINT
- الوحدات الخبيثة - ما تحتاج إلى معرفته عند تثبيت حزم NPM
- تم العثور على اثني عشر مكتبات بيثون ضارة وإزالتها من PYPI
- حزم البرامج الضارة على PYPI
- مؤامرة لسرقة العملة المشفرة التي أحبطها فريق أمن NPM
- الضعف الذي تم اكتشافه في محفظة Agama في Komodo - هذا ما عليك فعله
- PYPI حزم البرامج الضارة
- الإبلاغ عن المشاريع التي تلحق الضرر باقات أخرى ، لا تلتزم بالإرشادات ، أو ضارة
- مجموعة من php backdoors
- مجموعة من البرامج الضارة Windows
- الثعابين في العشب! رمز ضار انزلاق في مستودع بيثون pypi
- cryptojacking غزو السحابة. كيف يتم استغلال اتجاه الحاويات الحديثة من قبل المهاجمين
- هذه هي قائمة جميع الحزم التي تم العثور عليها بواسطة @packages/core وإزالتها من المستودع بواسطة فريق NPM
- أول 10 مخاطر للتطبيقات المدمجة على أبحاث بنيات الخادم من قبل Puresec تم إصدارها
- استغلال البنية التحتية للمطورين أمر سهل بشكل يبعث على السخرية
- جافا سكريبت ثابت + تحليل ديناميكي
- تقنيات التشويش على PHP Backdoor
- تقنيات php forcation
- فهم الكود المتفوق وكيفية deobfuscate php و javaScript
- مُنشئ مكونات ملواة Joomla
- التبعية المربكة
- تعرض واجهة برمجة تطبيقات التحكم في Docker وصورة المجتمع لإساءة معاملة لتوصيل البرامج الضارة التي تعتمد على العملة المشفرة
- تنفيذ الكود البعيد الخبيث المكتشف في بوليتيرب شهير روبي جوبي
- يؤثر Backdoor in Captcha Plugin
- Backdoor وجدت في Webmin ، وهي أداة شهيرة تعتمد على الويب لإدارة خوادم UNIX
- Defcon-Webmin-1920-Unauthated-Remote-Command-Execution
- كان من شأن بولا منع حادث حدث الحدث
- يستخدم مجرمي التشفير
- Google Analytics and Angular in Magento Credit Card Scripts Scripts
- PSA: هناك نسخة مزيفة من هذه الحزمة على PYPI مع رمز ضار
- وابل مطبعي على مستخدمي مستودع برامج Rubygems
- PYPI 官方仓库遭遇 طلب 恶意包投毒
- Sourmint: رمز ضار ، احتيال الإعلانات ، وتسرب البيانات في iOS
- التبعية الاختطاف سلسلة التوريد سلسلة الهجوم يضرب أكثر من 35 منظمة
- Sonatype Spots 275+ حزم NPM ضارة نسخ هجمات سلسلة التوريد الحديثة التي ضربت 35 منظمة
- تحدد حزم الارتباك التي تم تحديدها حديثًا Amazon و Zillow و Slack ؛ اذهب إلى أبعد من مجرد عدادات الأخطاء
- ارتباك التبعية: كيف اخترقت Apple و Microsoft وعشرات الشركات الأخرى
- بالنسبة لـ PIP ،
--extra-index-url للحزم الداخلية/الخارجية الإصدار برقم إصدار أعلى - للأحجار الكريمة ،
gem install --source - index-url extrex-inder-url report order
- index-url extrex-index-url instrine order-contd
- Pywheels للتوت PI
- اسم الحزمة القرفصاء: cupy-cuda112