Inhaltsverzeichnis
- Einführung
- Voraussetzung
- Grundlagen
- Abhängigkeiten
- Entwicklung
- Howto
- select_pm
- select_pkg
- kriechen
- edit_dist
- herunterladen
- get_versions
- get_author
- get_dep
- get_stats
- Build_dep
- Build_author
- split_graph
- installieren
- Astgen
- Astfilter
- verderben
- filter_pkg
- statisch
- dynamisch
- Interpret_Trace
- Interpret_Result
- vergleiche_ast
- filter_versions
- vergleiche_hash
- grep_pkg
- Beschleunigung
- Werkzeug
- Internetweites Scannen
- Statistiken für verschiedene Paketmanager
- Statische Analysewerkzeuge für verschiedene Sprachen
- Ast Parsers für verschiedene Sprachen
- Ressource
- Referenz
Einführung
Dieses Projekt analysiert Open -Source -Projekte für Malware.
Aufgrund der hohen Nachfrage der Community entscheiden wir uns, den Code wie jetzt Open Source zu ermöglichen, um eine Zusammenarbeit zu ermöglichen. Der Großteil des Code wird bis Mai 2019 aktualisiert, was darauf hinweist, dass einige Komponenten möglicherweise nicht mehr funktionieren. Insbesondere die Komponenten, die von externen Werkzeugen (z. B. Sysdig, Luftstrom) oder APIs (z. B. NPM) abhängen.
Wir arbeiten aktiv an den Tests und Verbesserungen. Weitere Informationen finden Sie hier die Todo -Liste. Um Befehle auszuführen, finden Sie im Abschnitt Howto. Auf die Bereitstellung von Maschinen finden Sie in den Bereitstellungsanweisungen. So beantragen Sie den Zugriff auf die Proben der Lieferkettenangriffs, finden Sie unter Anforderungsanweisungen
Dieses Repository ist unter der MIT -Lizenz offen. Wenn Sie dieses Repository hilfreich finden, zitieren Sie bitte unser Papier:
@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}
}
Voraussetzung
Grundlagen
- Docker
- Basic Setup für Ubuntu
- Für andere Betriebssysteme (dh MacOS und Windows) schauen Sie sich
setup.sh an und finden Sie ihre Äquivalenz
Abhängigkeiten
- Um das Projekt lokal zu testen und auszuführen, benötigen Sie Abhängigkeiten. Es gibt zwei Möglichkeiten, Abhängigkeiten vorzubereiten
- Bauen Sie das Maloss Docker -Bild auf und testen Sie darin
- Bauen Sie das Docker -Bild
-
sudo docker build -t maloss .
- Bauen Sie das Docker-Bild ohne Cache (verwendet beim Wiederaufbau des Bildes) neu)
-
sudo docker build -t maloss . --no-cache
- Führen Sie das Docker -Bild aus und zart Ihr lokaler Quellroot darauf
-
sudo docker run -it --rm -v $(pwd):/code maloss /bin/bash
- Wechseln Sie in die kartierte Quellwurzel und beginnen Sie Änderungen vorzunehmen
- Installieren Sie Abhängigkeiten lokal und testen Sie sie
- Die Anweisungen sind für Ubuntu 16.04. Wenn Sie feststellen, dass sie nicht auf anderen Systemen arbeiten, beheben Sie bitte die erforderlichen Änderungen. Diese Anweisungen werden einfach aus der Dockerfile kopiert und suchen Sie sie zur Fehlerbehebung.
- Für die Entwicklung von JS und Python statische Analyse
-
pip install -r src/requirements.txt --user
- Für die anderen (Todo: Vereinfachen Sie diese riesige Liste)
-
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
Entwicklung
Struktur
- Der Ordner des Registries enthält Quellcode für Spiegelungspaketmanager. Um das Programm auszuführen, benötigen Sie 10 TB für NPM, 5 TB für PYPI und 5 TB für Rubygemems.
- Der SRC -Ordner enthält den Quellcode für die statische, dynamische und metadata -Analyse.
- Der Hauptordner enthält Quellcode für dynamische Orchestrierung.
- Der Luftstromordner enthält Quellcode für statische Orchestrierung.
- Der SYSDIG -Ordner enthält Setup und Konfiguration für die dynamische Verfolgung.
- Daten enthält Honeypot -Setup und Statistiken.
- Die Konfiguration enthält Konfiguration für die statische Analyse.
- DOC enthält manuell beschriftete APIs, mit denen die Konfiguration abgeleitet wird.
- TestData enthält Testproben.
- Ref enthält verwandte Arbeiten.
- Benignware enthält einige gutartige Pakete.
- Malware enthält die Liste der böswilligen Stichproben, die zum Schutz verwendet werden können.
- Maloss-Samples ist ein privates Repo, das die Proben der Lieferkettenangriff enthält und regelmäßig aktualisiert wird. Bitte füllen Sie das Google -Formular aus, um den Zugriff anzufordern. Wir werden so schnell wie möglich antworten.
Anweisungen
- In diesem Projekt verwenden wir derzeit Celery + Rabbitmq , um unsere Metadaten und dynamischen Analysen verteilt zu betreiben. Wir verwenden Luftstrom + Sellerie , um unsere statischen Analysen durchzuführen.
- Der SRC/ Ordner enthält den Code für jede einzelne Analyse und sollte minimiert und in sich geschlossen werden.
- Insbesondere für die statische/dynamische/metadata -Analyse sollten die Jobs in SRC/ Ordner nur ein Paket und eine Rückseite bearbeiten.
- Jede einzelne Analysen sollten in diesem Ordner entwickelt und enthalten sein.
- Das Haupt-/ Ordner behandelt verteiltes Computing für Metadaten und dynamische Analysen.
- Der Master -Knoten lädt die Liste der Jobs (Pakete und deren Versionen, die analysiert werden) an den Rabbitmq -Broker.
- Die Sklavenknoten verbinden sich mit dem Broker und holen Jobs vom Broker ab.
- Jede einzelne Analyse muss möglicherweise ändern .Env in diesem Ordner.
- Der Luftstrom-/ Ordner verteilt verteilte Computing für statische Analysen.
- Der Master -Knoten lädt die DAG der Jobs (Pakete, die durch Abhängigkeitsbeziehungen verbunden sind) an den Redis -Broker.
- Die Sklavenknoten verbinden sich mit dem TE -Broker und holen Jobs vom Broker.
- Jede einzelne Analyse muss möglicherweise ändern .Env in diesem Ordner.
- In diesem Projekt führen wir jede Analyse mit Docker aus. Die folgenden Schritte zeigen, wie die verteilten Jobs für Metadaten und dynamische Analysen gestartet oder debuggen.
- auf Arbeiter
- Erstellen Sie benutzerdefinierte
main/config aus main/config.tmpl - Bauen Sie das Docker -Bild
-
sudo docker build -t maloss .
- Bauen Sie das Docker-Bild ohne Cache (verwendet beim Wiederaufbau von Bild) neu)
-
sudo docker build -t maloss . --no-cache
- Führen Sie zum Testen das Docker -Bild aus und fügen Sie es mit
-
sudo docker run -it --rm --cap-add=SYS_PTRACE -v /tmp/result:/home/maloss/result -v /tmp/metadata:/home/maloss/metadata maloss /bin/bash
- Für die Produktion finden Sie in der Einführung.md
- auf Meister
- Erstellen Sie benutzerdefinierte
main/config aus main/config.tmpl - Starten Sie Rabbitmq
-
cd main && sudo docker-compose --compatibility -f docker-compose-master.yml up -d
- Fügen Sie der Warteschlange Jobs hinzu
-
python detector.py install -i ../data/pypi.csv
- Debuggen
- Kommentieren Sie die
QUEUING = Celery -Linie in main/config , und dann sollten die Jobs lokal und nacheinander ausgeführt werden. - Der Einstiegspunkt für Celery Works ist
main/celery_tasks.py und der Einstiegspunkt für Master IT main/detector.py .
- Todo: Wie man statische Analysen debuggiert
Howto
select_pm
- Wählen Sie die Paketmanager aus, die basierend auf der NUM_PKG -Schwelle inspizieren sollen
select_pkg
- Wählen Sie beliebte Pakete basierend auf festgelegten Kriterien wie Downloads oder Verwendungen aus
-
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
kriechen
- Kriechen Sie den angegebenen Paketmanager und speichern Sie die Paketnamen
-
python main.py crawl $package_manager $outfile
- Krabbeln Sie den angegebenen Paketmanager für Paketamen, Such -Download -Statistiken und speichern Sie in Datei
-
python main.py crawl $package_manager $outfile -s -p 24
edit_dist
- Führen Sie die Entfernung der Bearbeitung von Paketnamen aus
-
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
herunterladen
- Laden Sie die Tarballdatei mit PIP, Link herunter
-
pip download --no-binary :all: --no-deps package
- Laden Sie die TGZ -Datei mit NPM, Link herunter
- Laden Sie PHP -Pakete mit Composer herunter
-
composer require -d ../testdata/php --prefer-source --no-scripts package
- Laden Sie Ruby -Pakete mit GEM herunter
- Laden Sie Java -Pakete mit Maven herunter
-
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
- Führen Sie Get_versions Job aus, um wichtige Versionen für die Liste der Pakete zu erhalten
-
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
- Führen Sie Get_versions Job aus, um alle Versionen für die Liste der Pakete zu erhalten
-
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
- Führen Sie Get_versionsjob aus, um alle Versionen für die Liste der Pakete zu erhalten und auch ihre Zeit einzuschließen
-
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
- Führen Sie Get_versions Job aus, um aktuelle Versionen für die Liste der Pakete zu erhalten
-
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
- Führen Sie Get_author Job an den Autor für die Liste der Pakete aus
-
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
- Führen Sie Get_Dep Job aus, um Abhängigkeiten für Python -Pakete aufzulisten
-
python main.py get_dep -l python -n protobuf -c ../testdata -
python main.py get_dep -l python -n scrapy -c ../testdata
- Führen Sie Get_Dep Job aus, um Abhängigkeiten für JavaScript -Pakete aufzulisten
-
python main.py get_dep -l javascript -n eslint -c ../testdata
- Führen Sie GET_DEP -Job aus, um Abhängigkeiten für Ruby -Pakete aufzulisten
-
python main.py get_dep -l ruby -n protobuf -c ../testdata
- Führen Sie GET_DEP -Job aus, um Abhängigkeiten für PHP -Pakete aufzulisten
-
python main.py get_dep -l php -n designsecurity/progpilot -c ../testdata
- Führen Sie GET_DEP -Job aus, um Abhängigkeiten für Java -Pakete aufzulisten
-
python main.py get_dep -l java -n com.google.protobuf/protobuf-java -c ../testdata
get_stats
- Holen Sie sich die Statistiken für bestimmte Pakete
-
python main.py get_stats ../malware/npmjs-mal-pkgs.june2019.txt ../malware/npmjs-mal-pkgs.june2019.with_stats.txt.new -m npmjs
- Holen Sie sich die Statistiken für bestimmte Pakete
- `python main.py get_stats ../malware/pypi-mal-pkgs.txt ../malware/pypi-mal-pkgs.with_stats.txt -m pypi
Build_dep
- Erstellen Sie die Abhängigkeitsgrafik
-
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
- Erstellen Sie das Abhängigkeitsdiagramm mit Versionen (die Option -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
- Erstellen Sie das Autorenpaketdiagramm für beliebte Pakete in 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
- Erstellen Sie das Autorenpaketdiagramm für alle Pakete in 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
- Teilen Sie die Abhängigkeitsgrafik auf
- Entpacken Sie zuerst die Gurkendateien
-
tar -zxf ../airflow/data/pypi.with_stats.dep_graph.pickle.tgz
- In n Kopien aufgeteilt
-
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
- In n Kopien und K -Ordner aufgeteilt
-
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
- Teilen Sie den Untergraphen auf, der Samenknoten enthält
-
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
installieren
- Führen Sie die Installation von Jobs aus, um Python -Pakete zu installieren und Spuren zu erfassen
-
python main.py install -n protobuf -l python -c ../testdata -o ../testdata
- Führen Sie die Installation von Jobs aus, um JavaScript -Pakete zu installieren und Spuren zu erfassen
-
python main.py install -n eslint -l javascript -c ../testdata -o ../testdata
- Führen Sie die Installation von Jobs aus, um Ruby -Pakete zu installieren und Spuren zu erfassen
-
python main.py install -n protobuf -l ruby -c ../testdata -o ../testdata
- Führen Sie die Installation von Jobs aus, um PHP -Pakete zu installieren und Spuren zu erfassen
-
python main.py install -n designsecurity/progpilot -l php -c ../testdata -o ../testdata
- Führen Sie die Installation von Jobs aus, um JAVA -Pakete zu installieren und Spuren zu erfassen
-
python main.py install -n com.google.protobuf/protobuf-java -l java -c ../testdata -o ../testdata
Astgen
- Führen Sie Astgen Job aus, um AST für Python- und Python3 -Pakete zu berechnen
-
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
- Führen Sie Astgen Job aus, um AST für JavaScript -Pakete zu berechnen
-
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
- Führen Sie Astgen Job aus, um AST für PHP -Pakete zu berechnen
-
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
- Führen Sie Astgen Job aus, um AST für Ruby -Pakete zu berechnen
-
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
- Führen Sie Astgen Job aus, um AST für Java -Pakete zu berechnen
-
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
- Verwenden Sie die Konfigurationen mit dem Titel
../config/astgen_XXX_smt.config für jede Sprache (z ../config/astgen_javascript_smt.config - Führen Sie den Astfilter -Job aus, um die API -Verwendung für das Python/PYPI -Paket und seine abhängigen Pakete zu bewerten
-
python main.py astfilter -n protobuf -c $python_config -d ../testdata/ -o ../testdata/
- Führen Sie den Astfilter -Job aus, um die API -Nutzung für das JavaScript/NPMJS -Paket und seine abhängigen Pakete zu bewerten
-
python main.py astfilter -n eslint-scope -c $javascript_config -d ../testdata/ -o ../testdata/ -l javascript
- Führen Sie den Astfilter -Job aus, um die API -Verwendung für PHP/Packagist -Paket und seine abhängigen Pakete zu bewerten
-
python main.py astfilter -n designsecurity/progpilot -c $php_config -d ../testdata/ -o ../testdata/ -l php
- Führen Sie den Astfilter -Job aus, um die API -Verwendung für das Ruby/Rubygems -Paket und seine abhängigen Pakete zu bewerten
-
python main.py astfilter -n protobuf -c $ruby_config -d ../testdata/ -o ../testdata -l ruby
- Führen Sie den Astfilter -Job aus, um die API -Nutzung für Java/Maven -Paket und seine abhängigen Pakete zu bewerten
-
python main.py astfilter -n com.google.protobuf/protobuf-java -c $java_config -d ../testdata/ -o ../testdata -l java
verderben
- Führen Sie die Makleranalyse für bestimmte Pakete aus
-
python main.py taint -n json -d /data/maloss/info/ruby -o /data/maloss/result/ruby -l ruby -c ../config/astgen_ruby_smt.config
- Führen Sie die Makleranalyse für bestimmte Pakete aus und ignorieren Sie ihre Abhängigkeiten
-
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
- Führen Sie die Makleranalyse für eine bestimmte Eingabedatei aus
-
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
- Filterpakete basierend auf der API -Nutzung oder der Präsenz von Fluss
-
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
statisch
- Führen Sie die statische Aufgabe aus, um Astfilter-, Taint- und Gefahrenanalyse für Python- und Python3 -Pakete durchzuführen
-
python main.py static -n protobuf -c $python_config -d ../testdata/ -o ../testdata/
dynamisch
- Führen Sie eine dynamische Aufgabe aus, um Python -Pakete zu installieren, Haupt- und Ausübung von Python -Paketen und Spuren zu erfassen
-
python main.py dynamic -n protobuf -l python -c ../testdata -o ../testdata
Interpret_Trace
- Run Interpretieren Sie Trace Job, um dynamische Spuren zu analysieren und sie in PKG/Versionsprotobuf -Ausgabedateien abzugeben
- Hinweis: Sudo wird benötigt, um Falco zu starten, um Spuren zu analysieren
-
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
vergleiche_ast
- Vergleichen Sie den AST der angegebenen Eingabedateien und Pakete für Berechtigungen, APIs usw.
-
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
- Filterpaketversionen basierend auf Compare_AST -Ergebnissen, um weitere Analysen wie die Mel der Analyse zu ermöglichen
-
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
vergleiche_hash
- Vergleichen Sie den Hash -Wert derselben Paketversionen über verschiedene Paketmanager hinweg
-
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
- Vergleichen Sie den Hash -Wert derselben Paketversionen und deren Inhalts -Hashs oder API -Berechtigungen über verschiedene Paketmanager hinweg
-
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
- Sammeln Sie API -Statistiken und planen Sie die Statistiken
-
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
- Sammeln und zeichnen Sie Domänenstatistiken ab
-
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
- Sammeln Sie die vorgenerierten Abhängigkeitsstatistiken
-
python main.py interpret_result --data_type dependency -l python ../data/pypi.with_stats.popular.csv ../data/pypi_pop_dep_stats.json
- Sammeln Sie die Cross -Versionsvergleichsergebnisse, können durch Berechtigungen, APIs usw. filtern.
-
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
- Sammeln Sie Metadaten/statische/dynamische Ergebnisse und geben Sie verdächtige Pakete ab
-
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
- Sammeln Sie die Ergebnisse der umgekehrten Abhängigkeit
-
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
- Sammeln Sie Metadaten/Static/Compare_AST -Ergebnisse und Dumpsen Sie verdächtige Pakete ab
-
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 durch Pakete
-
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
Beschleunigung
- Messen Sie die Beschleunigungsvorteile aus Zusammenfassungen
-
python main.py speedup ../data/2019.01/pypi.with_stats.popular.csv speedup.log -l python
Werkzeug
Internetweites Scannen
Statistiken für verschiedene Paketmanager
- PYPI -Statistiken
- PYPI -Statistiken von Paketen
- NPMJS -Statistiken
- Rubygemems Statistiken
- Inoffizielles Portal für Rubygemems Downloads
- Nuget -Statistiken
- Packagistenstatistiken
- Maven -Statistiken (verwendet von anderen Paketen)
- Maven schnelle Statistiken
Statische Analysewerkzeuge für verschiedene Sprachen
- Auflisten Zusammenfassung
- 13 Tools zur Überprüfung des Sicherheitsrisikos von Open-Source-Abhängigkeiten
- Awesome Malware -Analyse: Eine kuratierte Liste der tollen Tools und Ressourcen für Malware -Analysen an Malware
- Eine kuratierte Liste von Lintern, Codequalitätsprüfen und anderen statischen Analyse -Tools für verschiedene Programmiersprachen
- PMD: Ein erweiterbarer Cross-Sprach-statischer Codeanalysator. https://pmd.github.io
- PMD unterstützt jetzt keine inter-procedurale Analyse
- Benutzerdefinierte Sicherheitsregeln für das beliebte Java Static Analysis Tool PMD.
- Python
- Ein statisches Analyse -Tool zum Erkennen von Sicherheitslücken in Python -Webanwendungen
- Bandit ist ein Tool, das gemeinsame Sicherheitsprobleme im Python -Code findet
- Php
- Eine überprüfte Liste der nützlichen Tools für statische Analyse von PHP -Analysen
- Erkennen Sie potenziell schädliche PHP -Dateien
- Verdichtungsanalyse für PHP
- PHPCS -Sicherheitsprüfung
- Ein statisches Analyse -Tool für Sicherheitsversicherungen
- API und Dokumentation für Progpilot
- PHP Globale Variablen - Superglobals
- Taint ist eine PHP -Erweiterung, die zum dynamischen Erkennen von XSS -Codes verwendet wird
- Rubin
- Überprüfen Sie, ob Ruby -Sicherheitsprobleme
- Rubin in den Safe sperrten
- Ein statischer Analyse -Sicherheitsanfälligkeitsscanner für Ruby on Rails -Anwendungen, GitHub
- Brakeman Pro ist der beste Weg, um die Sicherheit von Ruby auf Rails -Anwendungscode zu untersuchen.
- Dawn ist ein statischer Analyse -Sicherheitsscanner für Ruby -schriftliche Webanwendungen. Es unterstützt Sinatra, Padrino und Ruby on Rails Frameworks.
- Qualität ist ein Tool, das mit Community -Tools Qualitätsprüfungen in Ihrem Code ausführt
- NPMJS
- 6 Tools zum Scannen von Knoten.js Anwendung für Sicherheitsanfälligkeit
- Knotensicherheitsplattform-Befehls-Line-Tool https://nodesecurity.io
- Ein Tool zur statischen Sicherheitsanalyse von JavaScript
- Blackhat 2013 Talk für JSprime
- JSHINT ist ein Tool, mit dem Fehler und potenzielle Probleme in Ihrem JavaScript -Code erfasst werden können
- Ein erster Blick auf Firefox OS -Sicherheit
- Wala ist langsam
- JSPRIME ist auch in der Lage, die Datenflow -Analyse durchzuführen, aber die Architektur ist äußerst schwer zu erweitern.
- Scanjs, das von Mozilla intern geschrieben wurde, ist für uns am nächsten.
- NodeJSscan ist ein statischer Sicherheitscode -Scanner für Node.js -Anwendungen.
- Flow ist ein statischer Typ -Checker für JavaScript
- JSFlow ist ein sicherheitsrangiger JavaScript-Interpreter für die feinkörnige Verfolgung des Informationsflusses.
- Ein Tool zum Untersuchung von JavaScript -Malware.
- Ein Tool für JavaScript Malware -Analyse
- Skalierbares Analyse -Framework für ECMascript
- Veraltet: statisches Analyse -Tool für JavaScript -Code.
- Analyse von JavaScript und dem Web mit Wala
- Jsunpack: Jsunpack-n emuliert die Browserfunktionalität beim Besuch einer URL
- Sammlung von fast 40.000 JavaScript -Malware -Muster
- JSAI: Eine statische Analyseplattform für JavaScript
- Klon des JSAI statischen Analyse -Frameworks
- Statische Analyse von ereignisgesteuerten Node.js JavaScript-Anwendungen
- Dynamisches Analyse -Framework für JavaScript
- Java
- Android Malware Detection Framework
- Code für Deep Android Malware Detection Paper
- FlowDroid Static Data Flow Tracker
- CSHARP
- Sicherheitscode -Scan - statischer Codeanalysator für .NET
- Abhängigkeitsmanagement -Tools
- Bower: Ein Paketmanager für das Web
- Garn: Schnell, zuverlässig und sichere Abhängigkeitsmanagement
- Dynamische Analyse
- Dynamorio: Dynamic Instrumentation Tool Plattformplattform
- Dynamische Anwendungssicherheitstest Orchestrierung (Dasto)
- Valgrind ist ein Instrumentierungsrahmen zum Aufbau dynamischer Analysewerkzeuge
- Ein Makel-Tracking-Plugin für das Valgrind-Speicherprüfwerkzeug
- Analyse -Framework
- Modulare Datei Scaning/Analyse Framework: Unterstützung Clamav usw. unterstützen
- Ein kostenloser Malware -Analyse -Service für die Community, die unbekannte Bedrohungen mithilfe einer einzigartigen Hybridanalyse -Technologie erkennt und analysiert.
- Mehr als 5200 Open -Source -Projekte und 25000 Entwickler verwenden Deckungsscan
Ast Parsers für verschiedene Sprachen
- Python Ast Parser, verwenden Sie Ast.Parse
- Ast.Parse
- AST.PARSE -Parameter
- Annotieren Sie den Python AST: Asttoken
- Schreiben des Setup -Skripts
- JavaScript AST Parser, verwenden Sie Esprima
- Estree: JavaScript -Parser -API -Spezifikationen
- Antworten beziehen sich auf Spidermonkey und Esprima
- Spidermonkey
- Esprima, Esprima -Vergleich
- Eichel, Eichel gegen Esprima
- Babel Compiler, basierend auf Acorn
- Python -Hafen von Esprima
- Wie NPM das Feld "Skripte" umgeht
- Node.js API -Spezifikation
- JavaScript -Standardobjekte nach Kategorie
- JavaScript -Methodenindex
- Ruby Ast Parser
- Ruby in zwanzig Minuten
- Ein Ruby -Parser, Download -Statistiken
- Ruby_Parser
- Vergleich zwischen Parser und Ruby_Parser
- Verwenden eines Ruby -Parsers, um eine veraltete Syntax zu finden
- Ruby Eval -Funktion kann gefährlich sein
- Ruby Exec, System, %x () und Backticks
- Wie führe ich ein Skript aus, während die Edelsteininstallation?
- Java Ast Parser
- Ruß
- Wala
- Führen Sie ein Skript nach der Installation von Maven aus
- Ausgenauige Java -Funktionen
- C# AST PARSER
- Microsoft Binskim
- automatisierter C#/. Netto -Code -Analysator
- Verocode unterstützt die statische Analyse vieler Sprachen
- Sicherheitscode-Scan
- Sicherheitswächter
- Puma -Scan
- Vergleich von C# Code -Analysatoren
- PHP AST PARSER
- PHP-Parser
- PHP-acht
- Generieren Sie Ast einer PHP -Quelldatei
- phpjoern
- Ausstellbare PHP -Funktionen
- Gefährliche PHP -Funktionen
- Deaktivieren Sie gefährliche PHP -Funktionen
- Komponistskripte für die dynamische Analyse
- C/C ++ AST -Parser
Ressource
- Taobao -Spiegel von NPM,
- Stanford Mirror von Pypi
- Spiegel von Registern in China
- Halten Sie die NPM -Registrierung großartig: Wie funktioniert NPMJS?
- Fragen Sie die NPMJS -Registrierung über API ab
- NPM -Suche mit Verlaufsversionen
- Numerische Präzisionsangelegenheiten: Wie NPM -Download zählt
- NPMJS -API -Dokumente
- Synks CLI helfen Ihnen, bekannte Schwachstellen in Ihren Abhängigkeiten sowohl Ad -hoc als auch als Teil Ihres CI -Systems zu finden und zu beheben
- Verwenden des europäischen NPM -Spiegels
- Was ich aus der Analyse von 1,65 -m -Versionen von Node.js -Modulen in NPM gelernt habe
- Archive.org Snapshots -Websites und können zur Messung von Opfer -Websites verwendet werden
- Ereignisverfolgung für Windows (ETW)
- Linux -Audit
- Tuning-Auditd: Hochleistungs-Linux-Auditing
- Linux Audit Framework 101 - Grundregeln für die Konfiguration
- Linux -Audit: Prüfung der Netzwerkkonfiguration
- So verwenden Sie das Linux -Auditing -System auf CentOS 7
- Kapitel 7. Systemprüfung
- Strace
- Strace Analyzer
- Python-Ptrace ist eine Python-Bindung der Ptrace-Bibliothek
- PYTRACE - Python -Tools zum Parsen und Analysieren von Strace -Ausgabedateien
- Analysiert Strace Output
- Profilierung und Visualisierung mit GNU Strace
- Ich habe einen BNF -Grammer für die Ausgabe erstellt und BNFC verwendet, um automatisch einen Parser in C ++ zu generieren.
- Strukturierter Ausgang für Strace
- Wie Strace, aber für Ruby Code
- Pytrace ist ein schneller Python -Tracer. Es zeichnet Funktionsaufrufe, Argumente und Rückgabewerte auf.
- PHP-Trace hilft dabei, SEGFAULTS bei Ausführen von PHP-Prozessen aufzuspüren
- Wie setze ich Strace -Ausgabestratenbreite so ein, dass er länger ist?
-
-s gibt die maximale zu druckende Zeichenfolge an -
-v Option Drucken Sie nicht überkürzte Argv, Stat, Termios usw. Args
- Google Summer of Code für Strace -Ausgabe
- Strace -Teilnahme am GSOC 2014
- Wirklich strukturierte Ausgangsleistung für Strace im GSOC 2016
- DOC für GSOC 2016
- Dtrace für Linux
- Code für die Cross -Plattform, Einzelquelle, OpenDtrace -Implementierung
- FTRACE ist ein interner Tracer, der Entwicklern und Systemen von Systemen dabei hilft, herauszufinden, was im Kern vor sich geht.
- Was ist der Unterschied zwischen Dtrace und Strace
- Sysdig gegen Dtrace gegen Strace: Eine technische Diskussion
- OSQuery: Prozess- und Socket -Auditing mit OSQuery
- Informationen, die von Osquery (Tabellen) gesammelt wurden
- Eine kuratierte Liste von Tools und Ressourcen zur Reaktion auf Sicherheitsvorfälle zielte darauf ab, Sicherheitsanalysten und DFIR -Teams zu unterstützen.
- 1.: Wie nutzen Teams derzeit OSQuery?
- 2.: Was sind die aktuellen Schmerzpunkte von Osquery?
- 3rd: Was wünschst du dich, Osquery könnte es tun?
- Kolide Cloud ist eine Endpunktüberwachungslösung, die das Open-Source-Osquery-Projekt von Facebook nutzt und instrumentiert. Versuchen Sie es noch heute; Ganz kostenlos für Ihre ersten 10 Geräte.
- Kolide -Flotte zur Überwachung von Osquery -Maschinen
- Docker -Unterstützung in Osquery
- Dockerfiles für Container -OSQuery
- UPTYCS: Sicherung von Behältern: Verwenden von OSQuery, um neue Herausforderungen durch gehostete Orchestrierungsdienste zu lösen
- Uptycs: Docker und Osquery
- OSQuery für Sicherheit: Einführung in OSQuery - Teil 1
- OSQUERY für Sicherheit - Teil 2
- OSQuery - Windows, MacOS, Linux -Überwachung und Intrusionserkennung
- Docker und Osquery
- Intro in Osquery: Häufige Fragen für Anfänger
- OSQuery -Konfiguration aus Palantir
- SYSDIG: Linux -Systemexplorations- und Fehlerbehebungsinstrument mit Erstklassenunterstützung für Container
- Selinux, SecComp, Sysdig Falco und Sie: Eine technische Diskussion
- Prometheus -Überwachung und Sysdig Monitor: Ein technischer Vergleich
- Tag 3 - Server, erzähl mir von dir. Eine Einführung in FASTER, OSQUERY und 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.
- Containerüberwachung: Prometheus und Grafana Vs. Sysdig und Sysdig Monitor
- Containerüberwachung mit Sysdig
- SYSDIG -Benutzerhandbuch
- Sysdig Falco
- Sysdig Falco Regeln
- Kryptojacking mit Sysdigs Falco erkennen
- Sysdig + logstash + elasticsearch
- Sysdig + Elch (Potenzial)
- Senden von Kubernetes & Docker -Ereignissen an Elasticsearch und Splunk mit SYSDIG
- Laufzeit -Containersicherheit - Soinder implementieren Sie Open Source -Containersicherheit
- Wtf mein Behälter hat gerade eine Muschel hervorgebracht
- Go-ADITD
- Go-Adudit ist eine Alternative zu dem Auditd-Daemon, der mit vielen Distribos versendet wird
- Das Prometheus -Überwachungssystem und die Zeitreihendatenbank.
- Offizielle Site von Prometheus
- Go-Adudit-Container
- FIM- und Systemaufrufprüfungen in einer großen Container -Bereitstellung im Maßstab
- Kubernetes: Kubernetes ist ein Open-Source-System zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von Containeranwendungen.
- FASTER: Sammeln und Anzeigen von Fakten für Systeme
- Finden Sie ausnutzbare PHP -Dateien nach Parameter Fuzzing und Funktionsaufrufverfolgung
- Ein OS X -Analysator für Cuckoo Sandbox Project
- Cuckoo Sandbox ist das führende Open -Source -automatisierte Malware -Analyse -System
- Einheimische Bibliotheken mit Maven
- Maven: Bündelung und Auspacken native Bibliotheken
- Native Archiv -Plugin für Maven
- EFS (Elastic File System) außerhalb von AWS
- Amazon EFS-Update-On-Premises Access über Direct Connect
- Die Go -Programmiersprache
- Aufgrund der Art und Weise wird ein zentrales Clearing -Haus wie Maven oder NPM einfach nicht benötigt.
- Projekt für Go Search, eine Suchmaschine für die Suche nach beliebten und relevanten Paketen.
- Ruby (endlich) gewinnt an Popularität, aber gehen Sie Plateaus
- Top -Sprachen: Java, C, C ++, Python, C#, Php, JavaScript, Ruby
- Statische Analysereferenzen
- Automatisierte Typinferenz für dynamisch getippte Programme
- Ein statisches Analysetool zum Auffinden von Fehlern in PHP -Anwendungen
- IBM AppScan ermöglicht das Scannen von Source/Compiled -Code für Schwachstellen
- Support -Sprachen von AppScan: Unterstützt C/C ++, .NET, Java, JSP, JavaScript, PHP, ASP, Python
- IBM Security AppScan Source 9.0.3.10 bei Fix Central verfügbar
- AppScan -Quellversionen verfügbar
- Eingeschränkte Ausführung
- Sandbox -Python
- Ruby Sandboxing gegen Integration einer Skriptsprache
- Inhaftiert - flexibler JS Sandbox
- Ist es möglich, das im Browser ausgeführte Sandbox JavaScript?
- Gibt es eine Möglichkeit, PHP -Code in einer Sandkiste aus innerhalb von PHP auszuführen?
- Runkit_Sandbox
- Sandboxing -Java -Code
- Führen Sie eine Methode in Java mit eingeschränkten Berechtigungen aus
- AWS -Batch -Jobs
- AWS -Batch -Tutorial
- AWS -Batch: Vereinfachung des Batch -Computing in der Cloud
- AWS -Batch -Beispiel
- EC2-Spot-Aws-Batch
- SQS-EC2-Spot-Fleet-Autoscaling
- Luftstrom -Dag
- Parallele laufende Aufgaben in Pythons Sellerie
- Luftstrom - Skalierung mit Sellerie
- Luftstrom -Dag
- Luftstrom Einführung
- Luftstrom auf Kubernetes (Teil 1): eine andere Art von Operator
- Ein Docker -Image- und Kubernetes -Konfigurationsdateien zum Ausführen von Luftströmen auf Kubernetes
- Eine Anleitung zum Erstellen eines Air -Flow -Servers/Cluster
- Sicherheitsberatung
- Rubygemems Probleme
- NPMPJS -Sicherheitsberater
- Python -Pakete
- Packagistenpakete
- Maven -Pakete
- JCenter -Pakete
- Vulndb -Datenspiegel
- Abhängigkeitstrack
- Abhängigkeitsprüfung
- Microsoft Security Advisory
Referenz
- Modul zählt
- Eine kurze Website, um die Anzahl der Module in verschiedenen Repositories zu verfolgen
- Tippfehler-Quatting-Website
- Tippfehler These
- Debian Popcorn
- PYPI -Pakete sind bösartig
- Python Tippfehler hockt
- PHP -Tippfehler hockt
- JCenter Tippfehler hockt
- Rubygemems Tippfehler
- Jagd auf böswillige NPM -Pakete
- Bösartige NPM -Pakete
- Liste aller PYPI -Pakete
- Crosssenv -Malware im NPM -Register
- Open Source -Pakete mit böswilliger Absicht
- Wie man den Computer eines Java -Entwicklers (oder Clojure oder Scala) übernimmt
- Sicherheitsecke mit SNYK: Top sechs Schwachstellen in Maven und NPM
- Eine weitere Linux -Distribose, die mit Malware vergiftet ist
- NodeJS: Remote -Code -Ausführung als Dienst
- 17 Backdoored Docker -Bilder, die aus Docker Hub entfernt wurden
- Backdoored Python Library fangen SSH -Anmeldeinformationen stehlen
- Eslint-Scope ist der in Eslint verwendete ECMAScript-Bereichsanalysator. Version 3.7.2 wurde nach einer möglichen Übernahme von NPM -Konto als bösartig identifiziert. Die Installation des böswilligen Pakets würde dazu führen, dass das NPM -Token des Benutzers verläuft.
- NPM erwirbt die Sicherheit und die Knotensicherheitsplattform
- Analysieren Sie PIP SSH-Decorate Supply-Chain-Angriff
- Bösartige .jar -Dateien, die auf Google Code gehostet werden
- Dissektion einer Java -Malware (Jrat)
- Die Pakete, die möglicherweise von Eslint-Scope betroffen sind
- Bösartige Module - Was Sie bei der Installation von NPM -Paketen wissen müssen
- Zwölf bösartige Python -Bibliotheken gefunden und entfernt von PYPI
- Malware -Pakete auf PYPI
- Handlung, um die vom NPM -Sicherheitsteam vereitelten Kryptowährung zu stehlen
- Schwachstellen in Komodos Agama -Brieftasche entdeckt - das müssen Sie tun
- PYPI Malware -Pakete
- Melden Sie Projekte, die andere Pakete schädigen, keine Richtlinien halten oder böswillig sind
- Sammlung von PHP -Hintertüren
- Sammlung von Windows Malware
- Schlangen im Gras! Bösartiger Code schlägt in Python Pypi Repository ein
- Cryptojacking dringt in die Cloud. Wie der moderne Containerisierungstrend von Angreifern ausgenutzt wird
- Dies ist die Liste aller Pakete, die von @böswilligen Packages/Core gefunden und vom NPM-Team aus dem Repository entfernt wurden
- Erste Top -10 -Risiken für Anwendungen, die auf serverlosen Architekturforschung von Puresec veröffentlicht wurden
- Die Ausbeutung von Entwicklerinfrastrukturen ist lächerlich einfach
- JavaScript statische + dynamische Analyse
- PHP -Hintertür Verschleierungstechniken
- PHP -Verschleierungstechniken
- Vergrößerung verschleierter Code und wie man PHP und JavaScript deobfuscated
- Joomla Plugin Constructor Backdoor
- Eine verwirrende Abhängigkeit
- Exponierte Docker Control-API und Community-Image, die für die Bereitstellung von Malware von Kryptowährung missbraucht wurden
- Böswillige Remotecode-Ausführung Hintertür entdeckt im beliebten Bootstrap-Sass Ruby Gem
- Backdoor im Captcha -Plugin betrifft 300k WordPress -Sites
- Backdoor gefunden in Webmin, einem beliebten webbasierten Dienstprogramm zur Verwaltung von UNIX-Servern
- DEFCON-Webmin-1920-nicht-authentifizierte Remote-Command-Execution
- Pola hätte den Ereignisstrom-Vorfall verhindert
- Kryptojacking -Kriminelle verwenden mehrere Techniken, um Coinminer zu installieren
- Google Analytics und Angular in Magento -Kreditkarten -Skripten stehlen Skripte
- PSA: Es gibt eine gefälschte Version dieses Pakets auf PYPI mit bösartigem Code
- Tippfehler -Barrage auf Rubygemems -Software -Repository -Benutzern
- PYPI 官方仓库遭遇 Anfrage 恶意包投毒
- Sourminint: Bösartiger Code, Anzeigenbetrug und Datenleck in iOS
- Die Abhängigkeits -Hijacking -Software Supply Chain Attack trifft mehr als 35 Organisationen
- Sonatype Spots 275+ Bösartige NPM -Pakete, die die aktuellen Angriffe der Software -Lieferkette kopieren, die 35 Organisationen erreichten
- Neu identifizierte Abhängigkeitsverfundungspakete abzielen Amazon, Zillow und Slack; Gehen Sie über nur Bug -Bounties hinaus
- Abhängigkeitsverwirrung: Wie ich mich in Apple, Microsoft und Dutzende anderer Unternehmen gehackt habe
- Für PIP wählen
--extra-index-url für interne/externe Pakete die Version mit höherer Versionsnummer aus - Für Gem die
gem install --source - Index-URL Extra-Index-URL-Prioritätsreihenfolge installieren
- INDEX-URL Extra-Index-URL-Prioritätsreihenfolge-Fortsetzung
- PyWheels für Raspberry Pi
- Paketname Hocke: Cupy-Cuda112