Crissy Field is een bedrijf dat diensten aanbiedt zoals softwareontwikkeling en technisch advies, zoals sparringsessies met technische leads, ingenieurs, CEO's en CTO's. Het bedrijf begon aanvankelijk met informatiebeveiliging en is nog steeds actief op dat gebied. Tijdens het uitvoeren van penetratietests kwam Dr. Thomas Jansen , oprichter en CEO van Crissy Field (voorheen Sr. Engineering Manager bij Apple in Cupertino), een specifiek probleem tegen waarbij interne Git-mappen onbedoeld openbaar werden gemaakt. Om mensen te waarschuwen ontwikkelde hij een internetcrawler . Vooral om de wereld een betere plek te maken, aangezien het project niet-commercieel is. In dit interview vertelt hij over zijn do-good project, dat wij met trots hosten op onze Leafcloud-servers.
Hallo Thomas, kun je ons vertellen hoe Repo Lookout tot leven is gekomen?
Terwijl we penetratietests deden, ontdekte ik dat wanneer mensen hun websites implementeren met behulp van Git-broncodebeheer, ze vaak vergeten de interne Git-map goed te beschermen. Het gevolg is dat het wordt blootgesteld en als een hacker de Git-repository kan vinden, kan hij alle bestanden downloaden, inclusief de volledige geschiedenis ervan. Er kunnen zelfs enkele wachtwoorden of andere gevoelige gegevens in zitten. Als je bijvoorbeeld een WordPress-instantie hebt, dan is er de typische config.php, die mogelijk alle informatie bevat die je nodig hebt om toegang te krijgen tot de database.
In eerste instantie dacht ik dat dit misschien geen wijdverbreid probleem was. Maar het bleek dat het zo was. Dus toen ik tijdens COVID wat vrije tijd had, besloot ik tijd te besteden aan het ontwikkelen van een internetcrawler die specifiek op dit probleem let. Repo Lookout, zoals het heet, blijkt behoorlijk succesvol. Tot nu toe zijn meer dan 8 miljard URL's gecontroleerd, en we naderen binnenkort 1 miljoen onbedoeld blootgestelde repository's.
Dus hoe werkt het?
Wanneer we zien dat een repository openbaar is gemaakt, sturen we een e-mail naar degene die verantwoordelijk is voor de website om hen op de hoogte te stellen. De feedback die we krijgen is superpositief. Omdat het een niet-commercieel project is en er wel wat kosten aan verbonden zijn, kunnen mensen ons een fooi geven. Het is niet iets om rijk mee te worden, maar ik haal er veel meer uit dan geld. Het is een zeer bevredigend project. Mensen vertellen mij dat dit een cruciale dienst voor het internet is en dat ons rapport “hun reet heeft gered”. Het feit dat mensen Repo Lookout zo nuttig vinden, geeft mij veel vreugde.
Maar deze crawlers moeten veel bronnen in beslag nemen?
De crawlers hebben een typische crawlerinfrastructuur. Het zijn kleine programma's die gewoon alle URL's ophalen en kijken of het een Git-repository is. En als dat zo is, wordt er een workflow gestart, waarbij andere kleine programma's op verschillende knooppunten in de cloud draaien om de eigenaar van de URL te vinden, de eerste paar commits van de repository te lezen, en meer.
Voorheen draaide dit allemaal op Amazon Web Services, wat prima was totdat ik besefte dat het een echte energieverspiller is. Ook al vind ik het een heel belangrijk project, ik had er geen goed gevoel bij om meerdere crawler-nodes op AWS te draaien. Zeker nadat een klant bij Amazon informeerde naar de duurzaamheid van hun hosting. Ik was echt onder de indruk van hun antwoord.
Dus besloot ik dat als ik zoiets doe, ik het op de juiste manier wil doen. Daarom ben ik gaan rondkijken naar duurzame oplossingen.
Wat heeft je doen besluiten om over te stappen naar Leafcloud?
Sommige van mijn vrienden vinden het gek dat ik zoveel tijd aan dit project besteed. Maar ik vind het heel motiverend. En ik wil mijn motivatie niet vernietigen door te weten dat er daardoor energieverspilling of CO2-vervuiling ontstaat. Toen vertelde een vriend me over Leafcloud en een paar dagen later controleerde ik Ifconfig.co en zag dat het werd gesponsord door Leafcloud. Toen dacht ik: oké, dit is al de tweede keer dat ik erover hoor, het moet wel goed zijn. Ik las de website door en was er meteen van overtuigd dat dit een heel, heel goede aanpak is. Dus nam ik contact op met de CTO – Jegor van Opdorp.
Hoe zit het met de inrichting op de servers van Leafcloud? Was het ingewikkeld?
Het was supergemakkelijk in te stellen. De interactie met jullie was geweldig. In het begin vroeg ik Jegor of ik een klein systeem kon krijgen in termen van CPU en geheugen met enorme bandbreedte. Want dat is wat ik doe. Ik heb niet veel verwerkingskracht nodig. Ik wil gewoon veel gegevens crawlen. Natuurlijk is het een balans voor jullie, en hij antwoordde dat de netwerksnelheid afhankelijk is van het aantal CPU-cores. En hoewel ik graag een andere benadering hiervan zou zien, begrijp ik dat dit de hele gebruikersinterface veel complexer zou maken. Uiteindelijk denk ik dat je de juiste beslissing hebt genomen, aangezien ik altijd voor de eenvoudigere interface en de eenvoudigere installatie zou kiezen in plaats van om elke kleine knop te vragen om alles aan te passen.
Dus nee, ik voelde me meteen thuis en tot nu toe werkte alles perfect. Het is zeer betrouwbaar en supersnel. Nog maar een paar dagen geleden heb ik het niveau van de crawlerknooppunten die ik gebruik verhoogd. En ik ben van plan de cijfers opnieuw te verdubbelen. Dus ik ben erg blij. De enige feedback is dat ik niet weet hoe ik mijn facturen moet zien, hoewel u mij deze wel per e-mail stuurt.
Over het geheel genomen voelt het gewoon beter dan alleen het compenseren van de CO2, wat de nepoplossing lijkt te zijn. Dus ja, ik doe dit zonder me schuldig te voelen over vervuiling.
Zou je Leafcloud aanbevelen aan andere ontwikkelaars?
Eigenlijk vertel ik veel mensen over Leafcloud. Vorige week had ik een lezing op een conferentie en adviseerde mensen die op zoek zijn naar een duurzame oplossing om naar Leafcloud te kijken. Het zou mooi zijn als Leafcloud ook datacenters in Duitsland zou openen
Er zijn momenten waarop ik me afvraag of dit project de juiste aanpak is. Maar als ik kijk naar de Git-repository's en zelfs GitHub-inloggegevens die zichtbaar zijn; van alle miljoen repository's waartoe ik toegang heb, bevatten er ongeveer honderdvijftigduizend GitHub-inloggegevens. Als je kijkt naar de omvang van de gegevens die voor iedereen leesbaar zijn, of je nu te goeder of te kwader trouw handelt, dan heb ik het gevoel dat het mijn plicht is om mensen te laten weten dat er iets mis is.
Dus ja, ik denk dat we elkaar kunnen steunen en het internet een betere plek kunnen maken. Jij met het terugdringen van de CO2-uitstoot en ik met het waarschuwen van mensen voor hun veiligheid.
Meer over Repo Lookout: www.repo-lookout.org
Meer over Crissy Field: www.crissyfield.de
Meer over Thomas: linkedin.com/in/tcjansen/