Ja, und mit einer reinen Javascript-Lösung, die einen vom Server gelieferten, verschlüsselten String entschlüsseln soll, ist genau das das große Problem. Es ist extrem einfach, eine eigene Umgebung zu bauen -- weil genau das der Normalfall der Anwendung ist. Seite mit allen Resourcen speichern, in 10^n automatisierten Browser-(Simulator-)Instanzen öffnen, parallel verschiedene Passworte eingeben lassen, Ergebnis abgreifen.
Mit eigener Umgebung bauen meinte ich eher eine Lösung die simpel zur entschlüsselung dient ungeachtet der verwendeten einbindung.
Wenn bekannt ist, dass RC4 verwendet wird, ist es unerheblich ob das in JavaScript passiert ist oder am Server in PHP geschrieben wurde - ich kann mir meine eigene Brute-Force-Umgebung bauen, meinetwegen in Perl oder Pyton und verschiedene Schlüssel gegen den verschlüsselten Text jagen. Dabei bin ich dann nichtmal durch irgendwelche Limits der ursprünglich verwendeten Sprache beschränkt.
(Gerade Skype macht zu viel Mühe. Mit dem Ergebnis, dass viele Admins Skype nicht trauen und es stumpf verbieten, oft unterstützt durch entsprechende Policies.)
Bei Skype und dem verwendeten Protokoll kommt ja noch dazu dass man nicht weiß was die da treiben - das ist auch bei anderen IM-Protokollen so. Oscar (ICQ) z.B. ändert alle paar Monate irgendwas am Protokoll, dann funktionieren ein paar Tage wieder sämtliche Drittanbieterclients nicht und dann ist gut.