Fork der BeanShell wegen Trojan Source

Es gibt inzwischen einen von mir erstellten Fork des originalen Repository, in dem ich die Komponente zur Darstellung der Konsole gegen die ausgetauscht habe, die in der sQLshell in den Plugins MDIJavaEditor und MDISqlEditor zum Einsatz kommt - dadurch wird wenigstens durch das Syntax-Highlighting auf problematische Stellen im Code hingewiesen.

Ich hatte hier darauf hingewiesen, dass die sQLshell, bzw. eines ihrer Plugins gegen die Trojan Source Attacke verwundbar sein kann.

Ich überlegte daraufhin, wie ich das Risiko zumindest vermindern könnte und forkte das ursprüngliche Repository, nachdem ich einen entsprechenden Bug eingestellt hatte.

Ich entschied mich dafür, die Editorkomponente zu ersetzen. Ich benutzte dazu die, die bereits als BeanShell- bzw. Java-Editor anderweitig zum Einsatz kommt und erstellte einen Pull-Request mit den notwendigen Änderungen. Diese Version der BeanShell mit den entsprechenden Änderungen kann auch direkt als Artefakt aus meinem Repsy-Repository genutzt werden.

Aktualisierung vom 2. Januar 2022

Ich habe die von mir geforkte Version der aktuellen Snapshot-Release der BeanShell aktualisiert - wo der Entwickler früher nur durch einen Dialog auf Control-Character hingewiesen wurde, die im Text enthalten sind und auf eine Trojan-Source-Attacke hinweisen können:

Screenshot Frühere Version meines Forks - beim Einfügen von Text weist ein Dialog auf mögliche problematische Zeichen hin, sie werden aber nicht visualisiert

besteht nunmehr die Möglichkeit, diese Zeichen einzublenden - in diesem Fall wird jeweils ihr Unicode-Codepoint eingeblendet:

Screenshot Aktuelle Version meines Forks: Der Entwickler kann die Anzeige nicht-druckbarer Zeichen aktivieren, wodurch auch die bei der Trojan-Source-Attacke benutzten sichtbar werden.

Man beachte auch, dass dadurch die korrekte Darstellung dessen, was effektiv auskommentiert wird erreicht wird.

Artikel, die hierher verlinken

Neues Interface für Plugins

23.10.2022

Während der Umstellung meiner Codebasis auf Java in der Version 17 schien es kurzzeitig so zu sein, dass diese Umstellung einen deutlich höheren Aufwand benötigen würde als ursprünglich angedacht: viele der Plugins der sQLshell funktionierten nicht mehr.

BeanShell 3.0.0-SNAPSHOT Fork sofort aktualisieren!

12.09.2022

Ich habe heute einen Bug in der OpenSource-Variante der BeanShell auf GutHub gefunden, dessen Behandlung mich wieder einmal ziemlich sprachlos zurückgelassen hat...

Neue Features für AugmentedJEditTextArea

06.03.2022

Ich schrieb hier bereits über meine eigene Variation einer Textkomponente mit Syntaxhighlighting für Java. Durch Trojan Source und meine Fortschritte im Projekt The ultimate RISC bin ich dort nochmal eingestiegen und habe einige Features hinzugefügt:

Release der Gegenmaßnahmen gegen Trojan Source und Trojan SQL

04.02.2022

Mit Version 1.4.0 wurden die Gegenmaßnahmen gegen Trojan Source und Trojan SQL endlich in einer Release auf Repsy zur Verfügung gestellt.

AugmentedJEditTextArea

29.01.2022

Ich habe bereits verschiedentlich auf eine Komponente verwiesen, die ich aus einer frühen Version des Editors JEdit erstellt habe - zuletzt als ich über den Fork zur Verbesserung der BeanShell wegen der Trojan Source Vulnerability berichtete.

Trojan SQL

09.12.2021

Ich habe bereits über Ideen geschrieben, die TrojanSource-Vulnerability in anderen Kontexten zu untersuchen - ein Vorkommnis in dem Job, mit dem ich mir das Geld für Kuchen verdiene hat mich jetzt angestachelt, diese Untersuchung tatsächlich umfangreich und gründlich durchzuführen. Dieser Beitrag wurde zum CCC End-of-year event 2021 eingereicht und abgelehnt.

Alle Artikel rss Wochenübersicht Monatsübersicht Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • InfluxDB Appender für Log4J 1.x

    17.03.2018

    Nachdem ich vor einiger Zeit zwei Appender für Log4J 1.x vorgestellt habe, habe ich - motiviert durch meine Experimente mit Raspi und ADS-B - einen weiteren verfasst - diesmal zum Schreiben der Daten in eine Zeitreihendatenbank.

    Weiterlesen...

Neueste Artikel

  • Zugriff auf Inhalte von Attribut-Zertifikaten

    Ich habe mich ein wenig mit Attribut-Zertifikaten beschäftigt - Resultat sind einige Klassen zum leichteren Zugriff auf die enthaltenen Attribute...

    Weiterlesen...
  • Neue Graphik-Primitiven für java.awt.Graphics2D

    Ich wollte eine Methode schaffen, neue Graphik-Primitiven, die zumindest in java.awt.Graphics2D - in Java noch fehlen, zu ergänzen.

    Weiterlesen...
  • Schraffuren für java.awt.Graphics2D

    Ich wollte eine Methode schaffen, unterschiedlichste Schraffuren in beliebigen Shapes zu erzeugen. diese Möglichkeit fehlt - zumindest in java.awt.Graphics2D - in Java noch.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muß damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.