Daftar isi
- Perkenalan
- Prasyarat
- Perkembangan
- Howto
- select_pm
- select_pkg
- merangkak
- edit_dist
- unduh
- get_versions
- get_author
- get_dep
- get_stats
- build_dep
- build_author
- split_graph
- memasang
- astgen
- Astfilter
- noda
- filter_pkg
- statis
- dinamis
- interpret_trace
- interpret_result
- bandingkan_ast
- filter_versions
- bandingkan_hash
- grep_pkg
- percepatan
- Alat
- Pemindaian di seluruh internet
- Statistik untuk manajer paket yang berbeda
- Alat analisis statis untuk berbagai bahasa
- Ast parsers untuk berbagai bahasa
- Sumber
- Referensi
Perkenalan
Proyek ini menganalisis proyek open source untuk malware.
Karena tingginya permintaan masyarakat, kami memutuskan untuk membuka sumber kode seperti sekarang, untuk memungkinkan kolaborasi. Mayoritas kode diperbarui hingga Mei 2019, yang menunjukkan bahwa beberapa komponen mungkin tidak berfungsi lagi. Terutama komponen yang tergantung pada alat eksternal (misalnya Sysdig, aliran udara) atau API (misalnya NPM).
Kami secara aktif bekerja pada pengujian dan perbaikan. Silakan temukan daftar TODO di sini. Untuk cara menjalankan perintah, silakan merujuk ke bagian Howto. Untuk cara menggunakan mesin, silakan merujuk ke instruksi menggunakan. Untuk cara meminta akses ke sampel serangan rantai pasokan, silakan merujuk ke instruksi meminta
Repositori ini bersumber terbuka di bawah lisensi MIT. Jika Anda menemukan repositori ini bermanfaat, silakan kutip kertas kami:
@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}
}
Prasyarat
Dasar -dasar
- buruh pelabuhan
- Pengaturan Dasar untuk Ubuntu
- Untuk OS lain (yaitu MacOS dan Windows), silakan lihat
setup.sh dan cari tahu kesetaraannya
Dependensi
- Untuk menguji dan menjalankan proyek secara lokal, Anda memerlukan dependensi. Ada dua cara untuk menyiapkan dependensi
- Bangun gambar Docker Maloss dan uji di dalamnya
- Bangun gambar Docker
-
sudo docker build -t maloss .
- Bangun kembali gambar Docker tanpa cache (digunakan saat membangun kembali gambar)
-
sudo docker build -t maloss . --no-cache
- Jalankan gambar Docker dan peta root sumber lokal Anda
-
sudo docker run -it --rm -v $(pwd):/code maloss /bin/bash
- Ubah ke root sumber yang dipasang yang dipetakan dan mulai membuat perubahan
- instal dependensi secara lokal dan uji
- Instruksi untuk Ubuntu 16.04. Jika Anda menemukan mereka tidak bekerja pada sistem lain, harap perbaiki dan lakukan perubahan yang diperlukan. Instruksi -instruksi ini hanya disalin dari Dockerfile, lihatlah untuk pemecahan masalah.
- untuk pengembangan analisis statis JS dan Python
-
pip install -r src/requirements.txt --user
- Untuk yang lain (TODO: Sederhanakan daftar raksasa ini)
-
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
Perkembangan
Struktur
- Folder Registries berisi kode sumber untuk manajer paket mirroring. Untuk menjalankan program, Anda akan memerlukan 10TB untuk NPM, 5TB untuk PYPI dan 5TB untuk Rubygems.
- Folder SRC berisi kode sumber untuk analisis statis, dinamis dan metadata.
- Folder utama berisi kode sumber untuk orkestrasi dinamis.
- Folder aliran udara berisi kode sumber untuk orkestrasi statis.
- Folder Sysdig berisi pengaturan dan konfigurasi untuk penelusuran dinamis.
- Data berisi pengaturan dan statistik honeypot.
- Config berisi konfigurasi untuk analisis statis.
- DOC berisi API berlabel manual yang digunakan untuk mendapatkan konfigurasi .
- TestData berisi sampel uji.
- Ref berisi pekerjaan terkait.
- Jignware berisi beberapa paket jinak.
- Malware berisi daftar sampel berbahaya, yang dapat digunakan untuk perlindungan.
- Maloss-samples adalah repo pribadi yang berisi sampel serangan rantai pasokan dan diperbarui secara berkala. Harap isi formulir Google untuk meminta akses. Kami akan merespons secepatnya.
Instruksi
- Dalam proyek ini, kami saat ini menggunakan Celery + RabbitMQ untuk menjalankan metadata dan analisis dinamis kami secara terdistribusi. Kami menggunakan aliran udara + seledri untuk menjalankan analisis statis kami.
- SRC/ folder berisi kode untuk setiap analisis individu dan harus diminimalkan dan mandiri.
- Secara khusus, untuk analisis statis/dinamis/metadata, pekerjaan di SRC/ folder harus hanya menangani satu paket dan satu versoin.
- Setiap analisis individu harus dikembangkan dan terkandung dalam folder ini.
- Main/ folder menangani komputasi terdistribusi untuk metadata dan analisis dinamis.
- Master node memuat daftar pekerjaan (paket dan versi mereka untuk dianalisis), mengirimkannya ke broker RabbitMQ.
- Node budak terhubung ke broker dan mengambil pekerjaan dari broker.
- Setiap analisis individu mungkin perlu mengubah .env di folder ini.
- Folder/ folder menangani komputasi terdistribusi untuk analisis statis.
- Master Node memuat DAG of Jobs (paket yang dihubungkan oleh hubungan ketergantungan), kirimkan ke broker Redis.
- Node budak terhubung ke broker TE dan mengambil pekerjaan dari broker.
- Setiap analisis individu mungkin perlu mengubah .env di folder ini.
- Dalam proyek ini, kami menjalankan setiap analisis menggunakan Docker. Langkah -langkah berikut menunjukkan cara memulai atau men -debug pekerjaan terdistribusi untuk metadata dan analisis dinamis.
- tentang pekerja
- Buat
main/config yang disesuaikan dari main/config.tmpl - Bangun gambar Docker
-
sudo docker build -t maloss .
- Bangun kembali gambar Docker tanpa cache (digunakan saat membangun kembali gambar)
-
sudo docker build -t maloss . --no-cache
- Untuk pengujian, jalankan gambar Docker dan lampirkan
-
sudo docker run -it --rm --cap-add=SYS_PTRACE -v /tmp/result:/home/maloss/result -v /tmp/metadata:/home/maloss/metadata maloss /bin/bash
- Untuk produksi, lihat Deploy.md
- pada master
- Buat
main/config yang disesuaikan dari main/config.tmpl - Mulai RabbitMQ
-
cd main && sudo docker-compose --compatibility -f docker-compose-master.yml up -d
- Tambahkan pekerjaan ke antrian
-
python detector.py install -i ../data/pypi.csv
- debugging
- Komentari garis
QUEUING = Celery di main/config , dan kemudian pekerjaan harus berjalan secara lokal dan berurutan. - Titik masuk untuk pekerjaan seledri adalah
main/celery_tasks.py dan titik masuk untuk master it main/detector.py .
- TODO: Cara men -debug analisis statis
Howto
select_pm
- Pilih manajer paket untuk memeriksa berdasarkan ambang num_pkg
select_pkg
- Pilih paket populer berdasarkan kriteria yang ditentukan, seperti unduhan atau penggunaan
-
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
merangkak
- Merayap Manajer Paket yang Ditentukan dan Simpan Nama Paket
-
python main.py crawl $package_manager $outfile
- Merayap Manajer Paket yang Ditentukan untuk Nama Paket, Cari Statistik Unduh, dan Simpan ke File
-
python main.py crawl $package_manager $outfile -s -p 24
edit_dist
- Jalankan Edit Jarak untuk Nama Paket
-
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
unduh
- Unduh File Tarball Menggunakan Pip, Tautan
-
pip download --no-binary :all: --no-deps package
- Unduh File TGZ Menggunakan NPM, Tautan
- Unduh paket PHP menggunakan komposer
-
composer require -d ../testdata/php --prefer-source --no-scripts package
- Unduh paket Ruby menggunakan permata
- Unduh Paket Java Menggunakan 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
- Jalankan pekerjaan get_versions untuk mendapatkan versi utama untuk daftar paket
-
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
- Jalankan pekerjaan get_versions untuk mendapatkan semua versi untuk daftar paket
-
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
- Jalankan pekerjaan get_versions untuk mendapatkan semua versi untuk daftar paket dan memasukkan waktu mereka juga
-
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
- Jalankan pekerjaan get_versions untuk mendapatkan versi terbaru untuk daftar paket
-
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
- Jalankan pekerjaan get_author untuk penulis untuk daftar paket
-
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
- Jalankan pekerjaan get_dep untuk mencantumkan dependensi untuk paket Python
-
python main.py get_dep -l python -n protobuf -c ../testdata -
python main.py get_dep -l python -n scrapy -c ../testdata
- Jalankan pekerjaan get_dep untuk mencantumkan dependensi untuk paket JavaScript
-
python main.py get_dep -l javascript -n eslint -c ../testdata
- Jalankan pekerjaan get_dep untuk mencantumkan dependensi untuk paket Ruby
-
python main.py get_dep -l ruby -n protobuf -c ../testdata
- Jalankan pekerjaan get_dep untuk mencantumkan dependensi untuk paket PHP
-
python main.py get_dep -l php -n designsecurity/progpilot -c ../testdata
- Jalankan pekerjaan get_dep untuk mencantumkan dependensi untuk paket java
-
python main.py get_dep -l java -n com.google.protobuf/protobuf-java -c ../testdata
get_stats
- Dapatkan statistik untuk paket yang ditentukan
-
python main.py get_stats ../malware/npmjs-mal-pkgs.june2019.txt ../malware/npmjs-mal-pkgs.june2019.with_stats.txt.new -m npmjs
- Dapatkan statistik untuk paket yang ditentukan
- `python main.py get_stats ../malware/pypi-mal-pkgs.txt ../malware/pypi-mal-pkgs.with_stats.txt -m pypi
build_dep
- Bangun Grafik Ketergantungan
-
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
- Bangun grafik ketergantungan dengan versi (opsi ---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
- Bangun Grafik Paket Penulis untuk Paket Populer di 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
- Bangun grafik paket penulis untuk semua paket di 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
- Pisahkan grafik ketergantungan
- unzip file acar dulu
-
tar -zxf ../airflow/data/pypi.with_stats.dep_graph.pickle.tgz
- dibagi menjadi n salinan
-
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
- dibagi menjadi n salinan dan f folder
-
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
- Pisahkan subgraph yang berisi node benih
-
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
memasang
- Jalankan Pekerjaan Instal untuk Menginstal Paket Python dan Tangkap Jejak
-
python main.py install -n protobuf -l python -c ../testdata -o ../testdata
- Jalankan Pekerjaan Instal untuk Menginstal Paket JavaScript dan Tangkap Jejak
-
python main.py install -n eslint -l javascript -c ../testdata -o ../testdata
- Jalankan Install Job untuk Menginstal Paket Ruby dan Tangkap Jejak
-
python main.py install -n protobuf -l ruby -c ../testdata -o ../testdata
- Jalankan Install Job untuk menginstal paket PHP dan menangkap jejak
-
python main.py install -n designsecurity/progpilot -l php -c ../testdata -o ../testdata
- Jalankan Install Job untuk Menginstal Paket Java dan Tangkap Jejak
-
python main.py install -n com.google.protobuf/protobuf-java -l java -c ../testdata -o ../testdata
astgen
- Jalankan pekerjaan astgen untuk menghitung AST untuk paket Python dan 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
- Jalankan pekerjaan astgen untuk menghitung AST untuk paket 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
- Jalankan pekerjaan astgen untuk menghitung AST untuk paket 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
- Jalankan pekerjaan astgen untuk menghitung AST untuk paket Ruby
-
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
- Jalankan pekerjaan astgen untuk menghitung AST untuk paket 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
- Gunakan konfigurasi berjudul
../config/astgen_XXX_smt.config untuk setiap bahasa (misalnya ../config/astgen_javascript_smt.config ) dalam pekerjaan astfilter - Jalankan pekerjaan astfilter untuk mengevaluasi penggunaan API untuk paket python/pypi dan paket dependennya
-
python main.py astfilter -n protobuf -c $python_config -d ../testdata/ -o ../testdata/
- Jalankan pekerjaan astfilter untuk mengevaluasi penggunaan API untuk paket JavaScript/NPMJS dan paket dependennya
-
python main.py astfilter -n eslint-scope -c $javascript_config -d ../testdata/ -o ../testdata/ -l javascript
- Jalankan pekerjaan astfilter untuk mengevaluasi penggunaan API untuk paket php/packagist dan paket dependennya
-
python main.py astfilter -n designsecurity/progpilot -c $php_config -d ../testdata/ -o ../testdata/ -l php
- Jalankan pekerjaan astfilter untuk mengevaluasi penggunaan API untuk paket Ruby/Rubygems dan paket dependennya
-
python main.py astfilter -n protobuf -c $ruby_config -d ../testdata/ -o ../testdata -l ruby
- Jalankan pekerjaan astfilter untuk mengevaluasi penggunaan API untuk paket java/maven dan paket dependennya
-
python main.py astfilter -n com.google.protobuf/protobuf-java -c $java_config -d ../testdata/ -o ../testdata -l java
noda
- Jalankan analisis ternoda untuk paket tertentu
-
python main.py taint -n json -d /data/maloss/info/ruby -o /data/maloss/result/ruby -l ruby -c ../config/astgen_ruby_smt.config
- Jalankan analisis nakal untuk paket tertentu dan abaikan dependensi mereka
-
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
- Jalankan analisis ternoda untuk file input tertentu
-
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
- Paket filter berdasarkan penggunaan API atau kehadiran aliran
-
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
statis
- Jalankan pekerjaan statis untuk melakukan analisis astfilter, noda dan bahaya untuk paket Python dan Python3
-
python main.py static -n protobuf -c $python_config -d ../testdata/ -o ../testdata/
dinamis
- Jalankan Pekerjaan Dinamis Untuk Memasang, Utama dan Latihan Paket Python dan Tangkap Jejak
-
python main.py dynamic -n protobuf -l python -c ../testdata -o ../testdata
interpret_trace
- Jalankan interpretasi jejak pekerjaan untuk parse jejak dinamis dan buang ke dalam file output per pkg/versi protobuf
- CATATAN: Sudo diperlukan untuk memulai Falco untuk parse jejak
-
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
bandingkan_ast
- Bandingkan AST dari file input dan paket yang ditentukan untuk izin, API dll.
-
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
- Versi Paket Filter Berdasarkan Hasil Bandingkan_ast, untuk memungkinkan analisis lebih lanjut seperti analisis noda
-
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
bandingkan_hash
- Bandingkan nilai hash dari versi paket yang sama di berbagai manajer paket
-
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
- Bandingkan nilai hash dari versi paket yang sama dan izin hash hash atau API mereka di berbagai manajer paket
-
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
interpret_result
- Kumpulkan dan plot statistik API
-
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
- mengumpulkan dan plot statistik domain
-
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
- Kumpulkan statistik ketergantungan yang telah dihasilkan sebelumnya
-
python main.py interpret_result --data_type dependency -l python ../data/pypi.with_stats.popular.csv ../data/pypi_pop_dep_stats.json
- Kumpulkan hasil perbandingan versi silang, dapat memfilter dengan izin, API dll.
-
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
- Kumpulkan hasil metadata/statis/dinamis dan buang paket yang mencurigakan
-
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
- Kumpulkan hasil ketergantungan terbalik
-
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
- Kumpulkan Hasil Metadata/Statis/Compare_ast dan Buang Paket Mencurigakan
-
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 melalui paket
-
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
percepatan
- Ukur manfaat speedup dari ringkasan
-
python main.py speedup ../data/2019.01/pypi.with_stats.popular.csv speedup.log -l python
Alat
Pemindaian di seluruh internet
Statistik untuk manajer paket yang berbeda
- Statistik PYPI
- Statistik Pypi Paket
- Statistik NPMJS
- Statistik Rubygems
- Portal tidak resmi untuk unduhan rubygems
- Statistik Nuget
- Statistik Packagist
- Statistik Maven (digunakan oleh paket lain)
Alat analisis statis untuk berbagai bahasa
- Ringkasan daftar
- 13 Alat untuk Memeriksa Risiko Keamanan Ketergantungan Sumber Terbuka
- Analisis Malware Luar Biasa: Daftar Kuratasi Alat dan Sumber Daya Analisis Malware Luar Biasa
- Daftar Linters, Pemeriksa Kualitas Kode, dan Alat Analisis Statis Lainnya untuk berbagai bahasa pemrograman
- PMD: Penganalisa kode statis lintas bahasa yang dapat diperluas. https://pmd.github.io
- PMD tidak mendukung analisis antar-prosedural sekarang
- Aturan keamanan khusus untuk alat analisis statis Java yang populer PMD.
- Python
- Alat analisis statis untuk mendeteksi kerentanan keamanan dalam aplikasi web Python
- Bandit adalah alat yang dirancang untuk menemukan masalah keamanan umum dalam kode Python
- Php
- Daftar Tinjauan Alat Analisis Statis PHP yang Berguna
- Mendeteksi file PHP yang berpotensi berbahaya
- Analisis Noda untuk PHP
- Audit Keamanan PHPCS
- Alat analisis statis untuk keamanan
- API dan dokumentasi untuk progpilot
- Variabel Global PHP - Superglobal
- Noda adalah ekstensi PHP, digunakan untuk mendeteksi kode XSS secara dinamis
- Rubi
- Periksa masalah keamanan Ruby
- Mengunci Ruby di brankas
- Pemindai Kerentanan Keamanan Analisis Statis untuk Aplikasi Ruby on Rails, GitHub
- Brakeman Pro adalah cara terbaik untuk menyelidiki postur keamanan Ruby on Rails Application Code.
- Dawn adalah pemindai keamanan analisis statis untuk aplikasi web tertulis Ruby. Ini mendukung kerangka kerja Sinatra, Padrino dan Ruby di Rails.
- Kualitas adalah alat yang menjalankan pemeriksaan kualitas pada kode Anda menggunakan alat komunitas
- Npmjs
- 6 Alat untuk Memindai Aplikasi Node.js untuk Kerentanan Keamanan
- Node Security Platform Command-Line Tool https://nodesecurity.io
- Alat Analisis Keamanan Statis JavaScript
- Blackhat 2013 Talk for JSPrime
- JShint adalah alat yang membantu mendeteksi kesalahan dan potensi masalah dalam kode JavaScript Anda
- Pandangan pertama pada keamanan Firefox OS
- Wala lambat
- JSPrime juga mampu melakukan analisis Dataflow, tetapi arsitekturnya sangat sulit untuk diperluas.
- Scanjs, ditulis di rumah oleh Mozilla, paling dekat dengan semangat kita.
- NodeJsscan adalah pemindai kode keamanan statis untuk aplikasi Node.js.
- Aliran adalah pemeriksa tipe statis untuk JavaScript
- JSFLOW adalah interpreter JavaScript yang ditingkatkan keamanan untuk pelacakan aliran informasi yang halus.
- Alat untuk mempelajari malware JavaScript.
- Alat Analisis Malware JavaScript
- Kerangka analisis yang dapat diskalakan untuk ecmascript
- Tercerahkan: Alat Analisis Statis untuk Kode JavaScript.
- Menganalisis JavaScript dan Web dengan WALA
- Jsunpack: Jsunpack-N meniru fungsionalitas browser saat mengunjungi URL
- Koleksi hampir 40.000 sampel malware javascript
- JSAI: Platform Analisis Statis untuk JavaScript
- Klon Kerangka Analisis Statis JSAI
- Analisis Statis Aplikasi Node.js JavaScript yang digerakkan oleh peristiwa
- Kerangka Analisis Dinamis untuk JavaScript
- Jawa
- Kerangka Deteksi Malware Android
- Kode untuk kertas deteksi malware Android yang dalam
- Pelacak aliran data statis flowdroid
- Csharp
- Pemindaian Kode Keamanan - Penganalisa Kode Statis untuk .NET
- Alat manajemen ketergantungan
- Bower: Manajer paket untuk web
- Benang: manajemen ketergantungan yang cepat, andal, dan aman
- Analisis dinamis
- Dynamorio: Platform Alat Instrumentasi Dinamis
- Orkestrasi Uji Keamanan Aplikasi Dinamis (DASTO)
- Valgrind adalah kerangka kerja instrumentasi untuk membangun alat analisis dinamis
- Plugin pelacakan nakal untuk alat Pemeriksa Memori Valgrind
- Kerangka kerja analisis
- Kerangka Pemindaian File Modular/Analisis: Dukungan CAMAV dll.
- Layanan analisis malware gratis untuk masyarakat yang mendeteksi dan menganalisis ancaman yang tidak diketahui menggunakan teknologi analisis hibrida yang unik.
- Lebih dari 5200 proyek open source dan 25000 pengembang menggunakan pemindaian cakupan
Ast parsers untuk berbagai bahasa
- Python ast parser, gunakan ast.parse
- ast.parse
- Parameter AST.PARSE
- Anotasi Python Ast: Asttoken
- Menulis skrip pengaturan
- JavaScript ast parser, gunakan Esprima
- Estree: spesifikasi API parser javascript
- Jawaban merujuk ke Spidermonkey dan Esprima
- Spidermonkey
- Perbandingan Esprima, Esprima
- Acorn, Acorn vs Esprima
- Babel Compiler, Berdasarkan Acorn
- Port Python Esprima
- Bagaimana NPM Menangani Bidang "Scripts"
- Spesifikasi API Node.js
- JavaScript Objek Standar berdasarkan Kategori
- Parser Ruby Ast
- Ruby dalam dua puluh menit
- Parser ruby, unduh statistik
- ruby_parser
- Perbandingan antara parser dan ruby_parser
- Menggunakan parser ruby untuk menemukan sintaks yang sudah usang
- Fungsi eval ruby bisa berbahaya
- Ruby Exec, System, %x () dan backticks
- Bagaimana cara menjalankan skrip saat instalasi permata?
- Java ast parser
- Jelaga
- Wala
- Jalankan skrip setelah pemasangan Maven
- Fungsi Java yang dapat dieksploitasi
- C# ast parser
- Microsoft Binskim
- Analyzer Kode Net C#/. Otomatis
- Verocode mendukung analisis statis banyak bahasa
- Security-Code-Scan
- penjaga keamanan
- Pemindaian Puma
- Perbandingan Analisis Kode C#
- PHP AST Parser
- PHP-Parser
- php-ast
- Hasilkan AST dari file sumber PHP
- Phpjoern
- Fungsi PHP yang dapat dieksploitasi
- Fungsi PHP Berbahaya
- Nonaktifkan fungsi PHP berbahaya
- Skrip komposer untuk analisis dinamis
- C/C ++ AST parser
Sumber
- Cermin Taobao dari NPM,
- Stanford Mirror of Pypi
- Cermin pendaftar di Cina
- Menjaga agar NPM Registry tetap luar biasa: Bagaimana cara kerja NPMJS?
- Permintaan NPMJS Registry via API
- Pencarian NPM dengan versi sejarah
- Numerik Precision Matters: Bagaimana cara kerja unduhan NPM bekerja
- Dokumen API NPMJS
- Synk's CLI membantu Anda menemukan dan memperbaiki kerentanan yang diketahui dalam dependensi Anda, baik ad hoc dan sebagai bagian dari sistem CI Anda
- Menggunakan cermin NPM Eropa
- Apa yang saya pelajari dari menganalisis 1,65M versi modul Node.js di NPM
- Archive.org Snapshots situs web dan dapat digunakan untuk mengukur situs web korban
- Acara Penelusuran untuk Windows (ETW)
- Audit Linux
- Tuning AuditD: Audit Linux berkinerja tinggi
- Kerangka Audit Linux 101 - Aturan Dasar untuk Konfigurasi
- Audit Linux: mengaudit konfigurasi jaringan
- Cara menggunakan sistem audit Linux di CentOS 7
- Bab 7. Audit Sistem
- Strace
- Penganalisa strace
- Python-Ptrace adalah pengikatan Python dari PTRACE Library
- Pystrace - Alat Python untuk Parsing dan Menganalisis File Output Strace
- menganalisis output strace
- Profil dan memvisualisasikan dengan strace GNU
- Saya membuat grammer BNF untuk output dan menggunakan BNFC untuk secara otomatis menghasilkan parser di C ++.
- Output terstruktur untuk strace
- seperti strace, tapi untuk kode ruby
- Pytrace adalah pelacak Python yang cepat. Ini mencatat panggilan fungsi, argumen, dan nilai pengembalian.
- PHP-Strace membantu melacak Segfault dalam menjalankan proses PHP
- Bagaimana cara mengatur string karakter output string lebar lebih lama?
-
-s opsi menentukan ukuran string maksimum untuk dicetak -
-v Opsi Cetak Argv yang Tidak Dibreviasi, Stat, Termios, dll. Args
- Google musim panas kode untuk output strace
- Partisipasi Strace dalam GSOC 2014
- Output yang benar -benar terstruktur untuk Strace di GSOC 2016
- DOC untuk GSOC 2016
- Dtrace untuk Linux
- Kode untuk Platform Lintas, Sumber Tunggal, Implementasi Opendtrace
- FTRACE adalah pelacak internal yang dirancang untuk membantu pengembang dan perancang sistem untuk menemukan apa yang terjadi di dalam kernel.
- Apa perbedaan antara dtrace dan strace
- Sysdig vs Dtrace vs Strace: Diskusi teknis
- OsQuery: Audit Proses dan Soket dengan OsQuery
- Informasi yang dikumpulkan oleh OsQuery (Tabel)
- Daftar alat dan sumber daya yang dikuratori untuk respons insiden keamanan, yang bertujuan untuk membantu analis keamanan dan tim DFIR.
- 1: Bagaimana tim saat ini menggunakan OsQuery?
- 2: Apa titik nyeri OsQuery saat ini?
- 3: Apa yang ingin Anda lakukan OsQuery?
- Kolide Cloud adalah solusi pemantauan titik akhir yang memanfaatkan proyek OsQuery open-source Facebook. Cobalah hari ini; sepenuhnya gratis untuk 10 perangkat pertama Anda.
- Armada Kolide untuk Memantau Mesin OsQuery
- Dukungan Docker di OsQuery
- Dockerfiles untuk osquery yang dikemas
- UPTYCS: Mengamankan Kontainer: Menggunakan OsQuery untuk Memecahkan Tantangan Baru yang Diajukan oleh Layanan Orkestrasi yang Di -Host
- UPTYCS: Docker dan OsQuery
- OsQuery for Security: Pengantar OsQuery - Bagian 1
- OsQuery for Security - Bagian 2
- OsQuery - Windows, MacOS, Deteksi Pemantauan Linux dan Intrusi
- Docker dan OsQuery
- Intro to OsQuery: Pertanyaan yang sering diajukan untuk pemula
- Konfigurasi OsQuery dari Palantir
- SYSDIG: Alat eksplorasi sistem dan pemecahan masalah Linux dengan dukungan kelas satu untuk wadah
- Selinux, SecComp, Sysdig Falco, dan Anda: Diskusi Teknis
- Prometheus Monitoring dan Sysdig Monitor: Perbandingan Teknis
- Hari 3 - Jadi server, ceritakan tentang diri Anda. Pengantar Facter, OsQuery dan 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.
- Pemantauan Kontainer: Prometheus dan Grafana Vs. Sysdig dan Sysdig Monitor
- Pemantauan kontainer dengan sysdig
- Panduan Pengguna Sysdig
- Sysdig Falco
- Aturan Sysdig Falco
- Mendeteksi Cryptojacking dengan Sysdig's Falco
- Sysdig + Logstash + Elasticsearch
- Sysdig + Elk (Potensi)
- Mengirim acara Kubernetes & Docker ke Elasticsearch dan Splunk menggunakan Sysdig
- Runtime Container Security - Cara Menerapkan Keamanan Kontainer Sumber Terbuka
- Wtf wadah saya baru saja melahirkan cangkang
- Go-auditd
- Go-Audit adalah alternatif dari daemon auditd yang dikirimkan dengan banyak distro
- Sistem pemantauan Prometheus dan database seri waktu.
- Situs Resmi Prometheus
- Go-audit-container
- Audit panggilan FIM dan sistem pada skala dalam penyebaran wadah besar
- Kubernetes: Kubernetes adalah sistem open-source untuk mengotomatisasi penyebaran, penskalaan, dan pengelolaan aplikasi yang dimasukkan.
- Facter: Kumpulkan dan tampilkan fakta sistem
- Temukan file PHP yang dapat dieksploitasi dengan parameter fuzzing dan fungsi penelusuran panggilan
- Analisis OS X untuk Proyek Cuckoo Sandbox
- Cuckoo Sandbox adalah sistem analisis malware otomatis sumber terbuka terkemuka
- Perpustakaan Asli dengan Maven
- Maven: Bundling dan Membongkar Perpustakaan Asli
- Plugin arsip asli untuk Maven
- Elastic File System (EFS) Dipasang di luar AWS
- UPDATE EFS AMAZON-Akses di tempat melalui Direct Connect
- Bahasa pemrograman Go
- Karena jalannya tidak mengimpor, rumah kliring pusat seperti Maven atau NPM tidak diperlukan.
- Project for Go Search, mesin pencari untuk menemukan paket yang populer dan relevan.
- Ruby (akhirnya) semakin populer, tapi pergi dataran tinggi
- Bahasa Teratas: Java, C, C ++, Python, C#, PHP, JavaScript, Ruby
- Referensi analisis statis
- Inferensi tipe otomatis untuk program yang diketik secara dinamis
- Alat analisis statis untuk menemukan kesalahan dalam aplikasi PHP
- IBM AppScan memungkinkan pemindaian sumber/kode yang dikompilasi untuk kerentanan
- Dukungan Bahasa AppScan: Mendukung C/C ++, .NET, Java, JSP, JavaScript, PHP, ASP, Python
- Sumber AppScan Keamanan IBM 9.0.3.10 Tersedia di Fix Central
- Versi sumber appscan tersedia
- Eksekusi terbatas
- Python kotak pasir
- Ruby Sandboxing vs. mengintegrasikan bahasa skrip
- Dipenjara - kotak pasir JS yang fleksibel
- Apakah mungkin ke Sandbox JavaScript yang berjalan di browser?
- Apakah ada cara untuk menjalankan kode PHP dalam kotak pasir dari dalam php
- Runkit_sandbox
- Kode Java Sandboxing
- Jalankan metode di Java dengan izin terbatas
- Pekerjaan batch AWS
- Tutorial Batch AWS
- Batch AWS: Menyederhanakan Komputasi Batch di Cloud
- Contoh Batch AWS
- EC2-SPOT-Aws-Batch
- SQS-EC2-SPOT-FREET-Autoscaling
- DAG AIRFLOW
- Parallel Running Dag of Tasks in Python's Celery
- Aliran udara - penskalaan dengan seledri
- DAG AIRFLOW
- Pendahuluan aliran udara
- Airflow di Kubernetes (Bagian 1): Jenis operator yang berbeda
- Gambar Docker dan file konfigurasi Kubernetes untuk menjalankan aliran udara di Kubernetes
- Panduan tentang cara membangun server/cluster aliran udara
- Nasihat Keamanan
- Masalah Rubygems
- NPMPJS Security Advisories
- Paket Python
- Paket Packagist
- Paket Maven
- Paket JCenter
- Vulndb Data Mirror
- Trek ketergantungan
- Pemeriksaan ketergantungan
- Penasihat Keamanan Microsoft
Referensi
- Hitungan modul
- Situs web cepat untuk melacak jumlah modul di berbagai repositori
- Situs web kesalahan ketik
- tesis typo-squatting
- Popcorn Debian
- Paket PYPI yang ditemukan berbahaya
- Python Typ Squatting
- PHP kesalahan ketik
- JCenter Typ Squatting
- Mengetik rubygems
- Memburu paket NPM berbahaya
- Paket NPM berbahaya
- Daftar semua paket PYPI
- Malware Crossenv di NPM Registry
- Paket open source dengan niat jahat
- Cara mengambil alih komputer pengembang java (atau clojure atau scala)
- Pojok Keamanan dengan Snyk: Enam Kerentanan Top di Maven dan NPM
- Distro Linux lain yang diracuni dengan malware
- NodeJS: Eksekusi Kode Jarak Jauh Sebagai Layanan
- 17 gambar Docker backdoored dihapus dari hub Docker
- Perpustakaan Python Backdoored Tertangkap Mencuri Kredensial SSH
- ESLINT-SCOPE adalah ecmascript scope analyzer yang digunakan dalam eslint. Versi 3.7.2 diidentifikasi sebagai jahat setelah kemungkinan pengambilalihan akun NPM. Menginstal paket berbahaya akan menyebabkan bocor token NPM pengguna.
- NPM mengakuisisi ^mengangkat keamanan dan platform keamanan simpul
- Menganalisis serangan rantai pasokan-dekorasi PIP SSH
- File .jar berbahaya yang dihosting di Google Code
- Diseksi malware java (jrat)
- Paket yang berpotensi dipengaruhi oleh Eslint-Scope
- Modul berbahaya - Apa yang perlu Anda ketahui saat memasang paket NPM
- Dua belas Perpustakaan Python berbahaya ditemukan dan dihapus dari PYPI
- Paket malware di pypi
- Plot untuk mencuri cryptocurrency digagalkan oleh tim keamanan NPM
- Kerentanan yang ditemukan di dompet Agama Komodo - inilah yang perlu Anda lakukan
- Paket malware PYPI
- Laporkan proyek yang merusak paket lain, jangan mematuhi pedoman, atau berbahaya
- Koleksi backdoors php
- Koleksi malware windows
- Ular di rumput! Kode berbahaya merayap ke dalam repositori Python PYPI
- Cryptojacking menyerang Cloud. Bagaimana tren kontainerisasi modern dieksploitasi oleh penyerang
- Ini adalah daftar semua paket yang ditemukan oleh @package/core jahat dan dihapus dari repositori oleh tim NPM
- 10 risiko teratas pertama untuk aplikasi yang dibangun di atas penelitian arsitektur tanpa server oleh puresec dirilis
- Mengeksploitasi infrastruktur pengembang sangat mudah
- JavaScript statis + analisis dinamis
- Teknik Kebingungan Backdoor PHP
- Teknik Kebingungan PHP
- Memahami kode yang dikaburkan & cara menghilangkan php dan javascript
- Joomla Plugin Constructor Backdoor
- Ketergantungan yang membingungkan
- API Kontrol Docker yang Diekspos dan Gambar Komunitas Dicuri untuk Memberikan Malware Penambangan Cryptocurrency
- Eksekusi Kode Jarak Jauh Berbacko Ditemukan di Ruby Gem Ruby Bootstrap Populer
- Plugin Backdoor in Captcha Mempengaruhi Situs WordPress 300K
- Backdoor Ditemukan di Webmin, utilitas berbasis web yang populer untuk mengelola server UNIX
- DEFCON-WEBMIN-1920-UNAUTHENTICED-REMOTE-Command-Execution
- Pola akan mencegah insiden event-stream
- Penjahat Cryptojacking menggunakan banyak teknik untuk memasang koinminer
- Google Analytics and Angular in Magento Credit Card mencuri skrip
- PSA: Ada versi palsu dari paket ini di PYPI dengan kode berbahaya
- Typosquatting Barrage pada Pengguna Repositori Perangkat Lunak Rubygems
- PYPI 官方仓库遭遇 Permintaan 恶意包投毒
- Sourmint: Kode jahat, penipuan iklan, dan kebocoran data di iOS
- Ketergantungan Perangkat Lunak Pembajakan Perangkat Lunak Serangan Rantai Pasokan Menyerang Lebih dari 35 Organisasi
- Sonatype Spots 275+ Paket NPM berbahaya Menyalin serangan rantai pasokan perangkat lunak baru -baru ini yang mencetak 35 organisasi
- Paket kebingungan ketergantungan yang baru diidentifikasi menargetkan Amazon, Zillow, dan Slack; Melampaui HANYA BUMUTIES BUG
- Kebingungan Ketergantungan: Bagaimana Saya Meretas ke Apple, Microsoft dan Lusinan Perusahaan Lain
- Untuk PIP,
--extra-index-url untuk paket internal/eksternal akan memilih versi dengan nomor versi yang lebih tinggi - Untuk permata,
gem install --source - Indeks-URL Extra-Index-URL Instal Prioritas Pesanan Prioritas
- Index-URL Extra-Index-URL Instal Prioritas Pesanan-CONTD
- Pywheels untuk Raspberry Pi
- Nama Paket Jongkok: Cupy-Cuda112