Een Duitse student is erin geslaagd zo’n 17.000 mensen zijn eigen script te laten draaien middels typosquatting, meldde Ars Technica onlangs. Hij had het script geïnstalleerd op de bekende sites PyPI, RubyGems en NPM met als naam een spelfout op de 214 populairste scripts daar. “It’s not clear if the experiment broke ethical or even legal boundaries, since it relied on confusion if not outright deceit to trick people into installing something other than what they intended to install,” zegt Ars dan netjes. Nou, ik durf wel een juridisch balletje op te gooien.
De truc van de student was eigenlijk te simpel voor woorden. Steeds meer software maakt gebruik van via internet beschikbare standaardbibliotheken via bekende sites (repositories), en deze worden volautomatisch gedownload bij het gebruik. Natuurlijk typen mensen wel ooit in welk pakket moet worden gebruikt, en daar zit dan de truc: mensen maken spelfouten, en dat levert hier dan een pakket van de slimme student op. Want die had dus eigen software geüpload naar die sites met namen die typefouten van die bekende bibliotheken zijn. Die software deed hetzelfde, maar met een klein stukje tracking dat hem vertelde waar de software gebruikt werd.
Is dit nieuw? Heel algemeen gesproken niet. Typosquatten kennen we al sinds de begintijden van domeinnamen bijvoorbeeld. Binnen software kende ik het echter nog niet. Heel gek is dat ook niet: het is vrij normaal dat als je een bibliotheek wilt gebruiken, dat je die even ophaalt van de bron, er snel doorheen loopt en hem dan in gebruik neemt. Of je software-omgeving zorgt daarvoor, via eerder geïnstalleerde standaardbibliotheken. Recent is echter die trend van “pak het even dynamisch van internet” opgekomen en daar ontstaan nu dus dit soort problemen.
Is het juridisch toegestaan? Nou ja, er is natuurlijk geen harde wet tegen. Typosquatten bij websites was altijd relatief eenvoudig aan te pakken, omdat je dan andermans merk of handelsnaam schond. Maar merknamen op package names, die zijn er niet veel. En dat kán ook niet altijd: veel pakketnamen zijn functioneel en daarmee beschrijvend voor wat ze doen, en dergelijke namen kunnen niet voor merkbescherming in aanmerking komen.
De sites in kwestie kunnen het natuurlijk wel oplossen met eigen regels, zoals we in maart zagen, waar de repository NPM zelf verzon dat de bekendste naam de meeste rechten had. Daar zou dus vrij makkelijk een regel “Geen dingen die typos lijken van andermans namen, hoe functioneel ook” bij kunnen. Niet dat je daar bij echte criminelen veel aan hebt, maar het is iets.
Je zou het met enige fantasie een poging tot binnendringen (computervredebreuk) kunnen noemen. Dan zeg je, hij gebruikte een valse hoedanigheid (de vermomming als de echte bibliotheek) om zijn code naar binnen te smokkelen, met de downloadende ontwikkelaar als willoos werktuig. En die code hoorde niet op die computer te zijn, dus wederrechtelijk.
Het kan, maar dan gaat hier het aspect van de afstudeerscriptie (het afstudeerscript?) spelen. Want criminele activiteiten kúnnen per ongeluk legaal zijn als blijkt dat sprake is van ethisch handelen. Harde regels daarvoor zijn er niet, maar in de cybercontext lijkt me dat wel opgaan voor iemand die een nieuw punt te maken heeft dat van algemeen belang is en dat niet op andere manier dan de criminele aan te tonen is, en bovendien geen schade aanricht. Dus ja, deze ene jongen mocht dit, maar vanaf nu mogen mensen dit niet meer.
Arnoud