
Der aktuelle Trend in der Entwicklung besteht darin, eine Menge Pakete in der Entwicklungsphase zu verwenden, auch wenn sie nur triviale Funktionen liefern und aus 11 Codezeilen bestehen. Wenn wir dies mit einer sehr liberalen Politik für die Veröffentlichung neuer Pakete kombinieren, sehen wir nun einen Anstieg bei böswilligen Angriffen auf die Entwickler. Es gab verschiedene Ansätze von Bedrohungsakteuren:
Dies sind nur einige Beispiele für die Techniken, mit denen sich ein Entwickler gefährden kann. Dies wird durch die Tatsache gestützt, dass es keinen Überwachungsprozess über das gibt, was auf die Repositorys wie PYPI oder NPM hochgeladen wird, und ein Strich des Glücks hat die vorherigen Vorfälle entdeckt. Unser Ziel ist es, das zu verbessern.
## Aura Framework Wir haben ein Framework erstellt, das zum Scannen von Quellcode in großem Maßstab (z. Dieses Framework ist so konzipiert, dass der Quellcode auf Bedarf auch scannen, z. B. wenn ein Paket von einem Entwickler oder nur einer Reihe von Dateien/Verzeichnissen installiert wird. Die Implementierung richtet sich derzeit an die Python -Sprache und die PYPI. Es ist jedoch so konzipiert, dass sie die Möglichkeit bietet, andere Sprachen einzubeziehen. (wie JavaScript und NPM)
Der Satz von Anwendungsfällen umfasst, aber nicht beschränkt auf:
Eine hoch optimierte Hybridanalyse -Engine erreicht dies. Eine Analyse wird in einer vollständig sicheren Umgebung unter Verwendung einer statischen Codeanalyse ohne Codeausführung durchgeführt. Die Aura Core Engine analysiert den AST -Baum, der aus dem Quellcode analysiert wird und Verhaltensanalysen und Codeausführungsfluss durchführt. Die Engine unterstützt auch die Umschreibung des AST -Baums mithilfe einer Reihe von Regeln wie konstanter Ausbreitung, Falten oder statischer Bewertung. Dies sind eine Reihe von Techniken, mit denen Compiler den Code optimieren. Dies ist der Grund, warum dieser Analyseansatz "hybrid" ist, da er die statische Analyse mit einer völlig sicheren partiellen Bewertung verbessert, die es uns ermöglicht, einen einfacheren Verschleiern zu besiegen.
Im Folgenden können Sie einen Präsentation verschiedener Quellcode "Verschleierung" -Techniken sehen, die von der Aura AST -Transformationsmotor erkannt werden:

Lesen Sie die Installation, Konfiguration und Nutzungsdokumentation, um das Framework zu lernen und zu beginnen.
Der Kernteil der Aura ist die Analyse des Quellcodes für Anomalien oder potenzielle Schwachstellen. Aura verfügt über mehrere integrierte Analysatoren, die nach Anomalien wie dem Einsatz von Eval im Setup-Skript suchen. Andere Analysatoren befassen sich mit der Dateisystemstruktur (Nicht-Source-Code), die beispielsweise für die Verbreitung von Anmeldeinformationen, hartcodierten API-Token usw. suchen. Diese Analysatoren generieren das, was wir als Treffer bezeichnen, die die gefundenen Anomalien definieren, und können auch eine Punktzahl enthalten, die zur Berechnung der Sicherheits-Aura der gescannten Daten verwendet wird. Es wird empfohlen, ein angemessenes Urteil der vorgestellten Anomalien auf der Grundlage der Funktionalität der Eingabedaten zu verwenden. Beispielsweise ist es für eine Anforderungsbibliothek völlig normal, netzwerkbezogene Anrufe aufzunehmen und gleichzeitig zu erwarten, dass eine Bildverarbeitungsbibliothek Daten über das Netzwerk senden kann. Es gibt auch Unterstützung für die Ausgabe von Daten in das JSON -Format, das für massive Repository -Scans oder Integration in andere Produkte geeignet ist. Für die Beschreibung und Verwendung anderer Komponenten wenden Sie sich an die Dokumentation.


##Dokumentation
Dieses Projekt ist unter der GPLV3 -Lizenz lizenziert - Einzelheiten finden Sie in der lizenz.txtdatei. Teile dieses Frameworks enthalten (optionale) Integrationen mit anderen Produkten wie der R2C -Plattform, Bibliotheken.io usw.; die ihrer Lizenz und Nutzungsbedingungen unterzogen werden.