[
  {
    "start": 17.42,
    "end": 19.92,
    "text": "Hallo und herzlich willkommen zum Inukubepodcast."
  },
  {
    "start": 20.04,
    "end": 25.34,
    "text": "Mein Name ist Anja Kammer, heute spreche ich mit Stefan Bodewig und Michael Grimmer über Docker Sandboxes."
  },
  {
    "start": 25.42,
    "end": 25.58,
    "text": "Hallo!"
  },
  {
    "start": 29.64,
    "end": 33.04,
    "text": "Schön dass ihr beide da seid gleich zwei Experten mit denen sprechen kann."
  },
  {
    "start": 33.1,
    "end": 35.94,
    "text": "Ihr habt vielleicht auch unterschiedliche Erfahrungen mit diesem neuen Tooling gemacht."
  },
  {
    "start": 36.64,
    "end": 41.08,
    "text": "das erste was mich interessiert ist wozu benutzt man Docker Sand boxes überhaupt?"
  },
  {
    "start": 41.14,
    "end": 42.64,
    "text": "also warum haben wir uns eigentlich getroffen?"
  },
  {
    "start": 43.1,
    "end": 44.2,
    "text": "Was ist ein Sandbox überhaupt?"
  },
  {
    "start": 46.26,
    "end": 57.34,
    "text": "Es geht darum, dass ich unter Umständen Software ausführen möchte, die ich nicht hundertprozentig vertraue und der irgendwie einen Rahmen verpassen möchte, aus dem sie nicht ausbrechen kann."
  },
  {
    "start": 57.54,
    "end": 60.7,
    "text": "Wo sie keinen großen Schaden auf meinem System anrichten kann."
  },
  {
    "start": 62.22,
    "end": 77.88,
    "text": "Kontexte kann ganz viele geben aber es geht tatsächlich darum, das sich vielleicht in meiner Geheimnisse für mich behalt und die nicht diese Software verrate, die Ich ausführen möchte, muss vielleicht aus irgendwelchen Gründen Eher nicht beliebigen Netzwerkszugriffen ermitteln möchte, solche Dinge."
  },
  {
    "start": 78.58,
    "end": 83.38,
    "text": "Also ich brauche irgendwie ein Gefängnis einer Quarantäne-Station für ein Stück Software, dem mich nicht vertraue."
  },
  {
    "start": 86.399,
    "end": 90.2,
    "text": "Und welche Schäden können dann angerichtet werden?"
  },
  {
    "start": 90.52,
    "end": 95.86,
    "text": "Man erstellt ja so etwas wie eine Quarantine aus einem bestimmten Grund damit halt Schäde nicht entstehen können."
  },
  {
    "start": 95.899,
    "end": 96.8,
    "text": "Welche Schädens sind da also?"
  },
  {
    "start": 97.28,
    "end": 99.06,
    "text": "was ist das für einen Bedrohungsszenario?"
  },
  {
    "start": 102.16,
    "end": 112.96,
    "text": "Naja, also man muss sich das ja so vorstellen dass jetzt zum Beispiel ein KI-Agent wenn wir den jetzt lokal starten dann hat er erst mal alle Rechte die der Benutzer auch hat."
  },
  {
    "start": 113.28,
    "end": 126.44,
    "text": "Das heißt er könnte nicht nur die Dateien im Projektverzeichnis lesen sondern im Prinzip alles was auf der Festplatte ist also zumindest etwas für den User im Zugriff ist."
  },
  {
    "start": 128.06,
    "end": 131.68,
    "text": "Er könnte ... auch weitere Dinge auf dem Computer installieren."
  },
  {
    "start": 132.76,
    "end": 146.66,
    "text": "Wenn ich zum Beispiel einen, dem... Ja oder wenn der Agent versucht den Browser zu benutzen was ja auch was der Agent zumindest kann dann hat er automatisch alle Cookies die ich im Browser habe."
  },
  {
    "start": 146.74,
    "end": 155.08,
    "text": "also wenn ich irgendwo eingeloggt bin dann sieht das für den anderen Service ja so ausserl sei dass ich und da Oder."
  },
  {
    "start": 155.12,
    "end": 166.6,
    "text": "genauso ist es auch mit Schlüsseln, wenn ich jetzt zum Beispiel meinen SSH Key in meiner Maschine entsperrt habe über so ein Tool das mir einmal die Passphrase eingeben muss."
  },
  {
    "start": 167.34,
    "end": 171.48,
    "text": "Dann ist der SSH key einfach verfügbar und dann könnte der Agent auch damit irgendwas tun?"
  },
  {
    "start": 172.5,
    "end": 182.64,
    "text": "Und manchmal will ich das ja vielleicht auch aber dann möchte ich das vielleicht irgendwie kontrollieren können und nicht einfach darauf vertrauen dass das schon passend wird"
  },
  {
    "start": 184.24,
    "end": 186.72,
    "text": "Zum Beispiel mit einem extra Key, nur für den Agenten zum Beispiel."
  },
  {
    "start": 187.48,
    "end": 202.82,
    "text": "Jetzt sind Falle von den Keys genau oder halt mit dem eigenen Browser oder browser-ähnlichen Tool oder mit irgendeiner Form von Kapselung ist eigentlich das was man dann mit der Sandbox erreichen möchte."
  },
  {
    "start": 205.0,
    "end": 207.08,
    "text": "Ich persönlich habe noch einen anderen Anwendungsfall."
  },
  {
    "start": 207.14,
    "end": 210.02,
    "text": "also ich persönlich möchte mich zum Beispiel vor Wurmern schützen."
  },
  {
    "start": 210.46,
    "end": 217.7,
    "text": "gerade im JavaScript Packages Universum gibt es ja jetzt ganz schön viele Würmer, die schon lange Zeit wüten oder wieder wühten."
  },
  {
    "start": 218.44,
    "end": 228.66,
    "text": "Und ich würde mich halt eher gerne davor schützen das Packages, die ich runterlade nicht dann meinen ganzen PC sozusagen dann befallen und Dinge löschen."
  },
  {
    "start": 228.76,
    "end": 235.26,
    "text": "was sich da schon alles für Horrors Doris gehört habe kann ich doch erst Sandboxes oder generell Sandbox ist halt auch dafür benutzen?"
  },
  {
    "start": 238.76,
    "end": 239.42,
    "text": "Grundsätzlich schon."
  },
  {
    "start": 239.9,
    "end": 244.92,
    "text": "also ganz sicher das sind ja durchaus Bedrohungssinanien, wie das was Michael auch gerade beschrieben hat."
  },
  {
    "start": 244.98,
    "end": 271.32,
    "text": "Dass ich eben meine Secrets die in meinem lokalen Verzeichnis liegen könnte der Wurm benutzen um bei GitHub in meinem Namen commits vorzunehmen und irgendwelche Secrets auszulesen und die irgendwo hin zu pushen neue Releases von neuen Open Source Projekten zu machen die eine Hintertür enthalten und sich als Wurm weiterzuverbauten all diese Dinge würde ich In einer Sandbox, zumindest eblich erschweren."
  },
  {
    "start": 271.4,
    "end": 280.08,
    "text": "Ich würde im Zweifel auch nicht meine Credentials in der Sandbox haben mit denen man neue Releases bauen könnte und mit denen wir irgendwie geht kommen mitzumachen."
  },
  {
    "start": 280.86,
    "end": 285.88,
    "text": "Du willst ja nur in deinem Fall neue Pakete installieren gucken ob das Update funktioniert?"
  },
  {
    "start": 286.44,
    "end": 288.34,
    "text": "Dafür musst du hier keine Änderungen vornehmen können."
  },
  {
    "start": 288.4,
    "end": 292.72,
    "text": "also du würdest eigentlich einen Read-Only Umgebung reichen dir an dieser Stelle."
  },
  {
    "start": 293.5,
    "end": 295.42,
    "text": "Die muss ja nicht selber irgendwo was ändern können."
  },
  {
    "start": 295.46,
    "end": 299.68,
    "text": "Wenn du siehst, dass alles funktioniert dann kannst du anschließend die Änderung im außerhalb der Sandbox vornehmen."
  },
  {
    "start": 299.74,
    "end": 304.84,
    "text": "wenn du sieest das ist so weit in Ordnung und das Update hat kein Schaden angerichtet an der Stelle."
  },
  {
    "start": 307.96,
    "end": 319.72,
    "text": "Wobei man da dazu sagen muss also eigentlich würde ich sehe es zumindest so, dass die Sandbox an dieser Stelle den Blastradius einfach verkleinert."
  },
  {
    "start": 320.32,
    "end": 328.16,
    "text": "Also was jetzt zumindest nicht standardmäßig dabei ist Wenn du ein Paket runterlädt zu einem Wurm drin ist, dann würde er das nicht erkennen."
  },
  {
    "start": 328.22,
    "end": 335.58,
    "text": "Also so wie eine, wie das in manchen Unternehmen ist, so eine Art Content Fireball oder die English Fingerprints überprüft."
  },
  {
    "start": 335.7,
    "end": 350.2,
    "text": "Es gibt dir erstmal einfach Tools mit denen du eingehende Netzwerkverkehr... ...oder ausgehenden Netzwerker Verkehr oder auch den Zugriff auf deine Dateien halt irgendwie schützen kannst."
  },
  {
    "start": 350.76,
    "end": 354.86,
    "text": "Aber es ist jetzt nicht so dass da einen Vierenscanner Irgendwas schon dabei wäre."
  },
  {
    "start": 356.0,
    "end": 359.86,
    "text": "Absolut, um auf das erste was ich gesagt habe nochmal einzugehen Software der ich nicht vertraue."
  },
  {
    "start": 360.14,
    "end": 373.9,
    "text": "Das macht die software die ich ausführe nicht vertrauenswürdiger die ich in das Handbox ausführer sondern Ich nehme ihr Möglichkeit Schaden anzurichten Wahrscheinlich auch nicht vollständig aber ich schränke zumindest stark ein welchen schaden sie eigentlich anrichten kann."
  },
  {
    "start": 377.4,
    "end": 386.46,
    "text": "und Wir reden über, also wir wollen heute ja über Docker Sandboxes sprechen und wenn ich jetzt Docker höre dann denke ich an Container."
  },
  {
    "start": 386.54,
    "end": 389.6,
    "text": "Ist dieses Sandbox ein Container einfach nur der besondere Mechanismen noch hat?"
  },
  {
    "start": 389.68,
    "end": 390.62,
    "text": "oder wie sieht es aus?"
  },
  {
    "start": 393.78,
    "end": 394.04,
    "text": "Nein!"
  },
  {
    "start": 394.34,
    "end": 423.84,
    "text": "Also das hat jetzt mit Docker oder Docker Containern eigentlich nur den Namen gemeinsam, dass die Technologie basiert auf einer Micro-VM Und es hat schon ein bisschen Parallelen mit der Form des Statheisystems, aus dem die Images oder mit denen die Vm erstellt wird."
  },
  {
    "start": 423.98,
    "end": 431.06,
    "text": "Da gibt's glaube ich ein paar Paralleln aber ansonsten ist das eine Micro-Vm und es gibt keinen geteilten Kernel so wie es bei Docker wäre."
  },
  {
    "start": 433.38,
    "end": 437.24,
    "text": "Bei Docker habe ich ja jetzt vereinfacht gesagt nur ne Prozessisolation."
  },
  {
    "start": 438.52,
    "end": 449.82,
    "text": "Und das hier ist wirklich eine eigene, sehr schlank gehaltene VM und in der kann ich dann entsprechende Software ausführen wie zum Beispiel so einen Agent."
  },
  {
    "start": 453.32,
    "end": 464.26,
    "text": "Da hat glaube ich das Marketing von Docker Incorporated hervorragend funktioniert dass wir in unserem Kopf Docker Synonym mit Linux Containern sehen und als Container Lösungen sehen."
  },
  {
    "start": 464.34,
    "end": 472.82,
    "text": "und es ist mir zu Anfang auch ganz genau so gegangen Zwar irgendwo wusste, das ist eine virtuelle Maschine und kein Docker-Container."
  },
  {
    "start": 472.86,
    "end": 480.24,
    "text": "Aber trotzdem mir so Containervragen gestellt habe wie mache ich denn da ein Betriebssystem Update von der Basis die unten drunter liegt oder solche Dinge?"
  },
  {
    "start": 481.1,
    "end": 489.42,
    "text": "Wenn das alles im Mutable ist, ne is es eben nicht weil's eine virtuele Maschine ist kann ich eben auch Änderungen durchführen und persistieren innerhalb der Maschine."
  },
  {
    "start": 492.0,
    "end": 496.42,
    "text": "Michelle du hast gerade gesagt ein Container ist ja nicht so sicher wie eine virtueelle Maschine."
  },
  {
    "start": 496.5,
    "end": 498.12,
    "text": "kannst du das doch mal ausführen weshalb nicht?"
  },
  {
    "start": 502.9,
    "end": 510.14,
    "text": "Also ein Container hat eine geringere Isolation als jetzt eine VM, also die Virtual Machine."
  },
  {
    "start": 515.48,
    "end": 529.319,
    "text": "Die Virtual Machine ist ja letztendlich ein Hardware-Feature von von den CPUs, wo man die Möglichkeit hat zu virtualisieren und dann quasi auch eine virtuelle CPU ein virtuellen Computer bereitzustellen."
  },
  {
    "start": 529.76,
    "end": 532.12,
    "text": "Und darauf läuft an ein komplettes Betriebssystem."
  },
  {
    "start": 532.78,
    "end": 533.9,
    "text": "bei Docker ist es anders."
  },
  {
    "start": 535.24,
    "end": 546.099,
    "text": "wenn ich einen Docker Container starte dann teilen sich alle Docker Containere die auf einem Docker Host laufen den gemeinsamen Kernel des Host Betrieb Systems."
  },
  {
    "start": 546.979,
    "end": 548.88,
    "text": "das ist eben hier ein anderer Fall."
  },
  {
    "start": 549.839,
    "end": 552.439,
    "text": "Dadurch ist die Isolation einfach nochmal ein Tick höher."
  },
  {
    "start": 553.18,
    "end": 575.8,
    "text": "Ich glaube aber in der Praxis, das jetzt dann zwar noch mal ein anderes Thema vielleicht kommen wir da eher später nochmal drauf, ist es aber so wenn ich jetzt in einem Container Software entwickle, dann komme ich halt an dieses Phänomen Docker-in-Docker also dass sich dann halt für meinen Bild von der Software oder für irgendwas, was ich wäre."
  },
  {
    "start": 575.92,
    "end": 590.28,
    "text": "Was ich zu Zwecken meiner Softwareentwicklung ausführen möchte, brauche ich selber wieder Docker und das ist relativ komplex, dass dann durchzuführen so, dass es wirklich eine gute Isolation hat."
  },
  {
    "start": 590.479,
    "end": 601.219,
    "text": "also das noch... Ich würde jetzt mal behaupten, also jemand der strengeren Security-Focus hat wie der spricht mir da vielleicht aber ich glaube normalerweise würde die Isolations von einem Container vielleicht sogar ausreichen."
  },
  {
    "start": 603.16,
    "end": 610.0,
    "text": "meiner Meinung nach größter Angriffsvektor ist in einem Container dann, wenn ich halt in dem Containern nochmal Docker brauche."
  },
  {
    "start": 610.599,
    "end": 622.78,
    "text": "Weil ich dann einfach relativ viel aufmachen muss damit man aus dem Container wieder auf den Dockerhost in irgendeine Form draufkommt und das brauche ich hier nicht."
  },
  {
    "start": 622.979,
    "end": 638.02,
    "text": "und praktischerweise bei dem Sbx, weil Docker Sandbox sogar ein Dockerhost also quasi In der Micro-VM ist ein eigenes Docker installiert, aber komplett getrennt von der Hauptmaschine auf die ich eigentlich arbeite."
  },
  {
    "start": 638.859,
    "end": 653.3,
    "text": "Und also ich glaube zumindest in der Praxis ist das eigentlich das Hauptfeature wo ich glaube dass es deutlich sicherer ist als jetzt einen Container zu benutzen um den Agenten laufen zu lassen."
  },
  {
    "start": 653.38,
    "end": 657.74,
    "text": "Aber wir haben ja noch mehr als Security fokussierten Experten hier"
  },
  {
    "start": 660.219,
    "end": 665.199,
    "text": "Tatsächlich, dass die beiden Systeme in einem Container sind ja nicht mal wirklich zwei Systeme."
  },
  {
    "start": 665.339,
    "end": 693.88,
    "text": "Sondern der Container wie auch das Rostsystem im gleichen Linux-Körnel unterwegs ist hat zusätzliche Angriffswektoren, die ich nicht mehr habe wenn ich da eine virtuelle Maschine zwischenziehe und wenn ich Bucks im Linux- Körnel habe, wenn ich Backs in dem Teil des Codes habe, der das Namespacing macht und verhindert, dass ich aus dem Container heraus Dinge tue, die eigentlich nicht tun darf Dann sind das Angriffsvektoren, die wegfallen in dem Moment wo ich die Extraschicht an Virtualisierungen zufüge."
  },
  {
    "start": 694.02,
    "end": 696.219,
    "text": "Wenn ich da eine virtuelle Maschine dazwischen schiebe."
  },
  {
    "start": 696.979,
    "end": 699.459,
    "text": "Also tatsächlich eben stärkere Isolationen erstelle."
  },
  {
    "start": 699.56,
    "end": 707.64,
    "text": "Wobei ich... In Michels Fall, ich weiß Michael nutzt am Gegensatz zu mir keinen Linux als Host-Betriebssystem sondern du bist auf ein Mac unterwegs."
  },
  {
    "start": 708.18,
    "end": 717.04,
    "text": "Ich bin mir gar nicht so ganz sicher ob die Isolations, ob Container die Du ausführst auf einen Mac nicht zumindest auch von deinem Betriebsystem Colonel isoliert wären."
  },
  {
    "start": 717.76,
    "end": 721.52,
    "text": "Die würden halt in einem Linux Kernel, in der Docker Engine offen."
  },
  {
    "start": 721.599,
    "end": 729.939,
    "text": "Vielleicht wäre da das Risiko sogar geringer als es auf einem Linux Host Betriebssystem ist wenn ich dort Container ausführe?"
  },
  {
    "start": 732.62,
    "end": 743.56,
    "text": "Bevor ich von Dockers Sandboxes gehört habe, hab' ich mir selbst eine KVM-WM zusammen gebastelt im meinem Linux System und als ich fertig war, hab', ich mich dann gefragt wie benutze ich das?"
  },
  {
    "start": 743.62,
    "end": 746.38,
    "text": "und hab' dann euch gefragt, wie benutzi ich das?"
  },
  {
    "start": 748.199,
    "end": 749.68,
    "text": "Du nicht docker sandboxes?"
  },
  {
    "start": 749.8,
    "end": 752.24,
    "text": "und da war ich ein bisschen traurig, dass mir so viel Mühe gegeben habe."
  },
  {
    "start": 752.719,
    "end": 753.76,
    "text": "Aber ja warum?"
  },
  {
    "start": 754.079,
    "end": 759.199,
    "text": "Also welche Features bringt mir docker Sandboxes was sich sozusagen mit meiner eigenen WM nicht machen kann?"
  },
  {
    "start": 760.4,
    "end": 761.359,
    "text": "Ich vermute gar keine."
  },
  {
    "start": 762.339,
    "end": 769.66,
    "text": "also du könntest vermutlich sehr vieles von dem was docker sandboxes machen auch selber hinbekommen aber es wäre ziemlich viel Arbeit."
  },
  {
    "start": 770.339,
    "end": 782.979,
    "text": "Also das was du bekommst ist in erster Linie mal Convenience relativ viele Dinge die da zusammen kommen in irgendeiner Art und Weise der Versorgung, das Netzwerkzugriff einfacher zu regulieren ist."
  },
  {
    "start": 783.66,
    "end": 787.579,
    "text": "Du hast von ein paar Monaten mit Joy einen Podcast gemacht... Ja!"
  },
  {
    "start": 787.64,
    "end": 794.12,
    "text": "...und Joy hat ja auch Artikel dazu geschrieben wie sie KI-Agenten in mehrere Artikel in einer Sandbox sperrt."
  },
  {
    "start": 794.16,
    "end": 795.339,
    "text": "Sie hatte eigentlich genau das getan."
  },
  {
    "start": 795.439,
    "end": 800.12,
    "text": "Sie hat ihre eigene LimaVM genommen was eine KVM Lösung ist."
  },
  {
    "start": 800.16,
    "end": 801.78,
    "text": "Die hat ihren eigenen Proxy aufgesetzt."
  },
  {
    "start": 802.78,
    "end": 814.459,
    "text": "Docker Sandboxes kann wahrscheinlich noch ein bisschen mehr als das, Joy in dem Artikel geschrieben hat und es ist ziemlich viel Arbeit das aufzusetzen, all diese Dinge zum Zusammenspielen zu bringen dafür zu sorgen dass das passt."
  },
  {
    "start": 815.859,
    "end": 818.06,
    "text": "Oh jetzt merke ich muss noch irgendwo hin zugreifen."
  },
  {
    "start": 818.12,
    "end": 823.78,
    "text": "dann muss sich meine Squid Konfiguration ändern, muss Squid neu starten vielleicht damit die Konfiguration gelesen wird."
  },
  {
    "start": 824.38,
    "end": 832.56,
    "text": "All diese Dinge sind machbar aber sie werden durch Docker Sandboxes ein gutes Stück einfacher in der Umsetzung sind bequemer."
  },
  {
    "start": 832.74,
    "end": 838.24,
    "text": "Das ist so aus meinen für mich zumindest der Hauptgrund, Docas Handboxes zu benutzen."
  },
  {
    "start": 838.3,
    "end": 844.0,
    "text": "Weil ich den Sicherheitsaspekt, der ist mir wichtig, den möchte ich gerne mitnehmen."
  },
  {
    "start": 844.66,
    "end": 857.4,
    "text": "aber ich nehme dankend an dass sich nicht selber und die ganze Infrastruktur kümmern muss das ich nicht selber das ganze Setup machen muss sondern dass ich im wesentlichen SPX-Tippe und dem ganzen Rest erledigt Infrastruktur dich nicht selber verhalten muss."
  },
  {
    "start": 857.459,
    "end": 857.76,
    "text": "für mich"
  },
  {
    "start": 861.359,
    "end": 863.04,
    "text": "Und ja, stellen wir uns jetzt mal vor."
  },
  {
    "start": 863.099,
    "end": 871.719,
    "text": "Wir sind in einem Entwicklungsprozess für ein bestimmtes Projekt und ich habe meinem Projekt verzeichnet mit Code, mit einem Git-Repositor hier im Grunde."
  },
  {
    "start": 872.319,
    "end": 874.0,
    "text": "und wie arbeite ich jetzt mit den Dateien?"
  },
  {
    "start": 874.06,
    "end": 890.099,
    "text": "Werden die... Also arbeite Ich jetzt mit einer Kopie der Wirtelmaschine und ich muss dann das immer rüber kopieren lassen damit ich es sozusagen einchecken kann oder arbeite mit Git generell direkt drin in der Wiertelmaschinen aber das würde ja irgendwie den Sicherheitsaspekt wieder aufweichen."
  },
  {
    "start": 890.16,
    "end": 894.88,
    "text": "also Was habt ihr da so für Erfahrungen gemacht, wie arbeite ich damit mit meinen Dateien am besten in der WM?"
  },
  {
    "start": 897.699,
    "end": 904.0,
    "text": "Also eines der Convenience-Features, wie Stefan das ja eben genannt hat ist."
  },
  {
    "start": 904.52,
    "end": 918.699,
    "text": "Du kannst im Prinzip hinter einem Projektverzeichnis mit SBX eine Vm starten also SBX Run und dann gibst du an welchen Agent du benutzt möchtest, Claude oder Codex oder auch noch."
  },
  {
    "start": 918.88,
    "end": 921.079,
    "text": "was sind noch andere vorbereitet?"
  },
  {
    "start": 921.56,
    "end": 929.54,
    "text": "Und dann wird On the Fly, wenn es noch keine Vm gibt die zu diesem Verzeichnis gehört eine angelegt."
  },
  {
    "start": 931.719,
    "end": 935.42,
    "text": "Und dann werden auch ein paar Dinge einfach schon direkt eingerichtet."
  },
  {
    "start": 935.52,
    "end": 942.4,
    "text": "also zum Beispiel ist das so dass das Projektverzeichnis in die Vm gemountet wird."
  },
  {
    "start": 943.319,
    "end": 952.74,
    "text": "Das heißt du hast das Projekt verzeichnet Innen wie außen genauso und da finde ich zum Beispiel ist noch ein netter Gimmick, dass der Pfad gleich bleibt."
  },
  {
    "start": 953.3,
    "end": 955.24,
    "text": "Also jetzt ... Ich arbeite z.B."
  },
  {
    "start": 955.479,
    "end": 982.3,
    "text": "sonst auf Mac, das heißt mein Homeverzeichnis ist irgendwie slashusers slashmicheln Und dann hab' ich in der VM auch wenn das eine Linux-VM ist eben auch diesen Pfad und dann dort unter was weiß ich Def und dann irgendwie Projektname Die Dateien, das heißt wenig zum Beispiel Konfig Files für jetzt lokale Server zu starten oder irgendwas in diesem Verzeichnis liegen haben."
  },
  {
    "start": 982.339,
    "end": 984.819,
    "text": "also auch wenn die nicht in Git committed würden."
  },
  {
    "start": 986.079,
    "end": 992.199,
    "text": "Dann sind diese wohl für den Agent verfügbar als auch für mich außerhalb der Vm."
  },
  {
    "start": 992.26,
    "end": 994.62,
    "text": "also dieses Verzeichnissen ist einfach geschehrt."
  },
  {
    "start": 995.68,
    "end": 1010.3,
    "text": "Das heißt natürlich man muss Dann auch wieder ein bisschen aufpassen, also wenn man jetzt zum Beispiel einen Punkt Enf-File mit irgendwelchen Secrets in dem Projektverzeichnis liegen hat dann müsste man sich da was für einfallen lassen."
  },
  {
    "start": 1010.5,
    "end": 1013.62,
    "text": "Wenn man vermeiden möchte dass der Agent das lesen kann."
  },
  {
    "start": 1014.8,
    "end": 1019.699,
    "text": "Also standardmäßig wäre das dann auch für den Agent erreichbar."
  },
  {
    "start": 1020.62,
    "end": 1028.099,
    "text": "und was du vorhin gesagt hast... Grundsätzlich meine Git funktioniert ja erstmal auch lokal zum Commit."
  },
  {
    "start": 1028.54,
    "end": 1035.38,
    "text": "Und das heißt, du kannst durchaus den Agent mit Git arbeiten lassen."
  },
  {
    "start": 1035.66,
    "end": 1052.62,
    "text": "Du kannst sogar wenn du das möchtest halt... ...den Agent auch ausstatten mit Credential für GitHub oder GitLab oder was auch immer du benutzt und dann gibt es eben dafür Mechanismen, wie man das steuern kann."
  },
  {
    "start": 1052.84,
    "end": 1070.28,
    "text": "Aber letztendlich ist es klar, wenn du jetzt deinem Agent erlaubst in einem bestimmten Projekt für dich commits zu machen und die auch zu pushen dann musst du dir darüber halt bewusst sein dass der das dann eben auch macht oder machen kann zumindest."
  },
  {
    "start": 1073.48,
    "end": 1076.44,
    "text": "Was du gerade beschrieben hast Michael ist der Standardmechanismus?"
  },
  {
    "start": 1076.879,
    "end": 1079.36,
    "text": "dass ich eben das Verzeichnis tatsächlich komplett drin habe."
  },
  {
    "start": 1079.399,
    "end": 1098.8,
    "text": "Es gibt noch einen weiteren Mechanismus, bei dem in deiner Sandbox ein eigenes Git-Remote im Endeffekt angelegt wird und du das von außen dann nutzen könntest um von dem was in der Sandbox ist Dinge nach außen zu pullen und dann selber Änderungen vorzunehmen."
  },
  {
    "start": 1099.34,
    "end": 1101.2,
    "text": "damit hab' ich allerdings selber null Erfahrung."
  },
  {
    "start": 1101.3,
    "end": 1110.56,
    "text": "Ich hab es nie benutzt Vor ein paar Monaten mal das Feature des verschiedenen Sandboxes Git WorkTrees benutzt haben, aber das ist so'n bisschen was wir reden über Nullpunkt drei."
  },
  {
    "start": 1110.78,
    "end": 1114.5,
    "text": "Irgendwas Versionen gerade also Feature tauchen auch mal auf und verschwinden wieder."
  },
  {
    "start": 1115.24,
    "end": 1125.84,
    "text": "Dieses Git Work Tree Feature ist dann auch irgendwann wieder weggegangen zugunsten eben dieser Möglichkeit innerhalb des Containers ein eigenes Git Remote anzulegen, dass ich mich nicht lasst du das mal benutzt?"
  },
  {
    "start": 1125.919,
    "end": 1128.1,
    "text": "Ich habe das noch nie eingesetzt."
  },
  {
    "start": 1129.48,
    "end": 1130.659,
    "text": "Nein hab ich bisher nicht."
  },
  {
    "start": 1132.22,
    "end": 1138.28,
    "text": "Also da wurde ich auch schon mal bei einem Vortrag nachgefragt, aber also du hast ja recht es ist der Standardmodus."
  },
  {
    "start": 1139.6,
    "end": 1150.06,
    "text": "Aber ich muss sagen für mich persönlich, ich kenne glaube ich auch einige Features von Docker Sandboxes gar nicht weil der Default für mich echt super gut funktioniert."
  },
  {
    "start": 1150.86,
    "end": 1158.12,
    "text": "Ich ändere daran extrem wenig Ähm, deshalb zum Beispiel was eben gesagt haben wir diese, dass die Pfade innerhalb und außerhalb gleich sind."
  },
  {
    "start": 1158.159,
    "end": 1159.22,
    "text": "Ich finde das total praktisch."
  },
  {
    "start": 1159.58,
    "end": 1160.08,
    "text": "Mir hilft das!"
  },
  {
    "start": 1160.379,
    "end": 1163.74,
    "text": "Ich wäre aber nie auf die Idee gekommen, dass mir selber jetzt so zu konfigurieren."
  },
  {
    "start": 1163.82,
    "end": 1169.3,
    "text": "also auch auf deine Frage hin mit dem Könnt ich mir nicht mit KVM oder mit irgendwas selbst bauen?"
  },
  {
    "start": 1169.36,
    "end": 1183.879,
    "text": "Ähm hat ja Stefan schon gesagt da könnte man... Aber wahrscheinlich hätte ich auch nicht unbedingt all diese Entscheidungen so getroffen Und ich finde sie so praktisch, wie die meisten sind."
  },
  {
    "start": 1186.06,
    "end": 1189.139,
    "text": "Also mit diesen anderen Modus habe ich noch nicht benutzen."
  },
  {
    "start": 1190.18,
    "end": 1190.899,
    "text": "Geht mir ganz genauso!"
  },
  {
    "start": 1191.08,
    "end": 1202.12,
    "text": "Ich benutze praktisch alles in den Default-Einstellungen und kenne ein Teil der Features, auch nur weil Sie in der Dooku stehen und nicht, weil ich sie selber schon mal benutzt hätte."
  },
  {
    "start": 1204.08,
    "end": 1208.86,
    "text": "Das klingt so, als wäre Docors Sandboxes irgendwie noch ein frisches und neues Tool."
  },
  {
    "start": 1209.02,
    "end": 1210.419,
    "text": "Und noch gar nicht so stabil?"
  },
  {
    "start": 1212.919,
    "end": 1215.12,
    "text": "Das Kernfeatureset ist schon stabil!"
  },
  {
    "start": 1215.52,
    "end": 1230.139,
    "text": "Es gab eben solche Dinge wie den Worktree-Modus der in... Ich glaube ich habe mit irgendeiner Nullpunkt-Einundzwanzig Version oder irgendwas in dieser Größenordnung angefangen und wir sind jetzt bei Null Punkt-Siemdreißig, Achtendreißzig, irgendwas in diesem Gegent."
  },
  {
    "start": 1231.46,
    "end": 1237.419,
    "text": "Die werden relativ häufig neu released Und dann kommen Features dazu, von denen ich denke, ah ja gut klingt nett."
  },
  {
    "start": 1237.659,
    "end": 1243.44,
    "text": "Brauche ich aber nicht und mein Features hätte sich habe hat sich ein Stück weit erweitert im Laufe der Zeit."
  },
  {
    "start": 1243.58,
    "end": 1248.58,
    "text": "anfänglich gab es nur einen Verzeichnis das ich in die Sandbox hineinreichen konnte."
  },
  {
    "start": 1248.659,
    "end": 1262.7,
    "text": "Dann ist später die Möglichkeit dazu gekommen dass ich auch noch weitere Verzeichnisse zusätzlich in die sandbox aufnehmen kann bei denen aber vielleicht sagen kann das die nur lesen Zugriff lesende zugriffe erlauben und ich kann schreit Zugriffs auf diesen verzeichnissen haben."
  },
  {
    "start": 1263.6,
    "end": 1264.94,
    "text": "Das ist etwas, was ganz nützlich ist."
  },
  {
    "start": 1265.379,
    "end": 1267.96,
    "text": "Und ein paar Dinge ändern sich eben auch teilweise."
  },
  {
    "start": 1268.1,
    "end": 1271.12,
    "text": "Also ursprünglich als ich damit angefangen habe war alles noch Experimental."
  },
  {
    "start": 1271.379,
    "end": 1285.159,
    "text": "jetzt ist es glaube ich Early Access und andere Dinge sind aber eben als Experimental markiert und nach der Erfahrung bisher würde ich sagen das was Experimental ist kann sich auch nochmal ändern von den Dingen die man sieht."
  },
  {
    "start": 1288.5,
    "end": 1297.46,
    "text": "Ich bin mir da nicht hundertprozentig sicher weil Ich glaube Docker Sandbox ist jetzt nicht mehr Early Access, also das Tool an für sich."
  },
  {
    "start": 1298.3,
    "end": 1302.7,
    "text": "Sondern ich meine dass sei einfach so offiziell."
  },
  {
    "start": 1303.26,
    "end": 1327.6,
    "text": "es gibt Features die sind Early Access aber als wir angefangen haben das zu benutzen da war es tatsächlich oder war das ganze Tool in dem Status und genau was halt passiert ist wenn du sagst stabil Da muss man überlegen, was man mit stabil meint."
  },
  {
    "start": 1327.68,
    "end": 1330.2,
    "text": "Also ich finde es ist jetzt mir noch nie gecrasht."
  },
  {
    "start": 1331.399,
    "end": 1339.26,
    "text": "Es ist schon voll okay von der Stabilität zur Laufzeit sozusagen aber es ändert halt viel."
  },
  {
    "start": 1339.32,
    "end": 1341.12,
    "text": "also es ist relativ volatil."
  },
  {
    "start": 1342.26,
    "end": 1349.899,
    "text": "das neue Sachen hinzukommen oder hier neulich stand... Man kennt das ja mit den Halluzinationen von den Agents irgendwie dass die Idee etwas erfinden."
  },
  {
    "start": 1350.44,
    "end": 1353.32,
    "text": "In Neulich stammt was in der Doku Aber das ging noch gar nicht."
  },
  {
    "start": 1356.44,
    "end": 1357.36,
    "text": "Das Flag war einfach nicht da."
  },
  {
    "start": 1359.74,
    "end": 1369.02,
    "text": "Es geht halt vieles relativ schnell, aber wenn man dann in ein paar Tage wartet, hat sich das auch eingependelt."
  },
  {
    "start": 1371.2,
    "end": 1378.44,
    "text": "Stefan du hattest neulich eine interne Präsentation gehalten wo wir schon mal sehen konnten wie du persönlich mit Docker Sandboxes arbeitest?"
  },
  {
    "start": 1379.0,
    "end": 1382.32,
    "text": "Und ein Feature, was mir da aufgefallen ist die Überwachung des Netzwerkverkehrs."
  },
  {
    "start": 1382.46,
    "end": 1385.3,
    "text": "Magst du das Feature einmal erklären und wozu man es braucht?"
  },
  {
    "start": 1386.419,
    "end": 1387.28,
    "text": "Ja warum"
  },
  {
    "start": 1387.62,
    "end": 1387.72,
    "text": "muss"
  },
  {
    "start": 1387.8,
    "end": 1388.06,
    "text": "mich so?"
  },
  {
    "start": 1389.399,
    "end": 1390.62,
    "text": "ja also warum so toll ist vor allem?"
  },
  {
    "start": 1392.399,
    "end": 1403.0,
    "text": "Also um die virtuelle Maschine, die in dieser Docker Sandbox drum herumläuft wird mit Betriebssystem mitteln das Netzwerk abgedichtet."
  },
  {
    "start": 1403.76,
    "end": 1412.139,
    "text": "Ich habe im Wesentlichen habe ich einen Proxy der zwischen Sandbox und der Welt da draußen steht."
  },
  {
    "start": 1412.22,
    "end": 1422.379,
    "text": "Und ich kann diesen Proxy konfigurieren, ich kann in diesem Proxy sagen auf welche Hostnames darf dann überhaupt ein Zugriff gemacht werden, auf welcher IP-Adressen darf zugegriffen werden?"
  },
  {
    "start": 1423.659,
    "end": 1432.84,
    "text": "Dann gibt es von Docker Sandboxes ausgehend so drei verschiedene Polices mit denen man erst mal per Default starten kann – das gibt die Policie, ich erlaube alles!"
  },
  {
    "start": 1434.26,
    "end": 1436.08,
    "text": "Es gibt die Polizie, ich erlaube gar nichts."
  },
  {
    "start": 1436.18,
    "end": 1442.04,
    "text": "und dann gibt es noch irgendwas dazwischen liegt was sie balanced nennen in dem bestimmte Dinge von denen."
  },
  {
    "start": 1442.3,
    "end": 1449.379,
    "text": "Die Leute die ist doch erst Handboxes machen der Meinung sind dass das sinnvoll ist die Dinger dort rein zu schreiben die dann schon mal per Default erlaubt sind."
  },
  {
    "start": 1449.48,
    "end": 1455.96,
    "text": "aber all diese Regeln kannst du sowohl global anpassen Und tatsächlich zur Laufzeitart passen."
  },
  {
    "start": 1456.02,
    "end": 1461.98,
    "text": "Das heißt ich sehe Von außen kann Ich sagen wenn ihnen aus der Sandbox ein Netzwerkzugriff nicht geklappt hat."
  },
  {
    "start": 1462.08,
    "end": 1468.52,
    "text": "Irgendwas nicht funktioniert, kann ich außen lesen welche Zugriffe hat denn diese Sandbox versucht?"
  },
  {
    "start": 1468.78,
    "end": 1480.399,
    "text": "Kann mir überlegen ob ich die Zugrifft erlauben möchte, kann dann eben sagen ich erlaube den Zugriff auf diesen Host für dieser eine Sandbox oder global und dann sagen versuch einfach nochmal innerhalb dieses Sandboxes und dann kommt sie normalerweise auch raus."
  },
  {
    "start": 1480.46,
    "end": 1483.159,
    "text": "und das funktioniert ohne dass sich irgendwas groß neu starten muss."
  },
  {
    "start": 1484.1,
    "end": 1495.919,
    "text": "Für mich habe ich ein paar Dinge tatsächlich Ich bin selbstverständlich mit, du darfst gar nichts gestartet und habe dann aber sehr schnell festgestellt es schon so ein Standard Satz gibt den ich auf jeden Fall in jeder Sandbox freigeben möchte."
  },
  {
    "start": 1496.98,
    "end": 1500.399,
    "text": "Die Basis all dieser virtuellen Maschinen ist ein Ubuntu Linux."
  },
  {
    "start": 1501.56,
    "end": 1505.419,
    "text": "also habe ich die Paketquelle für UbuntuLinux freigegeben."
  },
  {
    "start": 1505.5,
    "end": 1515.26,
    "text": "und dort wo eben Updates heruntergeladen werden möchten Wenn ich einen bestimmten Agent verwende, dann wird dieser Agent möglicherweise mit einem Server sprechen möchten."
  },
  {
    "start": 1515.34,
    "end": 1517.419,
    "text": "Also ich nutze Cloud Code innerhalb der Sandbox."
  },
  {
    "start": 1517.6,
    "end": 1521.5,
    "text": "Dann muss ich für die Sandboxes in den ich Cloud Code benutze."
  },
  {
    "start": 1521.56,
    "end": 1522.12,
    "text": "Das sind nicht alle."
  },
  {
    "start": 1522.78,
    "end": 1531.06,
    "text": "Muss ich auch den Zugriff auf das Anthropic API erlauben damit Cloud eben sprechen kann mit seinem Model, mit dem es gerne sprechen möchte?"
  },
  {
    "start": 1531.22,
    "end": 1538.8,
    "text": "solche Dinge stelle Naja, mal so aus dem Bauch raus global ein und mal tatsächlich für eine einzelne Sandbox."
  },
  {
    "start": 1538.919,
    "end": 1544.78,
    "text": "Aber es ist tatsächlich so dass ich mehr als einer Sandbox habe und sie dann auch projektspezifisch konfigurieren."
  },
  {
    "start": 1545.899,
    "end": 1547.3,
    "text": "Machst du das wirklich so?"
  },
  {
    "start": 1547.48,
    "end": 1552.52,
    "text": "Dass du nur für die Sandboxen wo du Cloud Code benutzt die Entropic API freigibst?"
  },
  {
    "start": 1553.36,
    "end": 1556.04,
    "text": "Ja aber das ist ein Kit!"
  },
  {
    "start": 1557.62,
    "end": 1559.399,
    "text": "Wir kommen irgendwann später dazu, was Kids sind."
  },
  {
    "start": 1559.48,
    "end": 1569.58,
    "text": "Aber du kannst in Kids sagen, worauf der Zugriff geben möchtest und bei den Sandboxes wo ich Cloudcode benutzen möchte, binde ich ein Kid ein das die richtigen Netzwerkzugriffe erlaubt."
  },
  {
    "start": 1572.36,
    "end": 1575.32,
    "text": "Aluminium auf diesem Boot ist ein bisschen dicker als bei anderen."
  },
  {
    "start": 1578.28,
    "end": 1581.22,
    "text": "Wenn du schon Kids sagst warum reden wir nicht jetzt schon über Kids?"
  },
  {
    "start": 1581.28,
    "end": 1582.399,
    "text": "Also sind da sowas wie Plug-Ins?"
  },
  {
    "start": 1587.22,
    "end": 1588.639,
    "text": "Also es... Ich würde sagen dass sind so."
  },
  {
    "start": 1590.899,
    "end": 1595.22,
    "text": "Also du kannst über ein kit erreichen dass bestimmte dinge quasi zu."
  },
  {
    "start": 1595.54,
    "end": 1599.0,
    "text": "also du musst jetzt kein eigenes image bauen das wäre ja der."
  },
  {
    "start": 1599.159,
    "end": 1601.04,
    "text": "das könntest du auch tun glaube ich."
  },
  {
    "start": 1604.04,
    "end": 1612.8,
    "text": "Aber du könntest jetzt auch sagen ne so wie des images irgendwie von von doch quasi vorgeschlagen wird so passt mit"
  },
  {
    "start": 1612.86,
    "end": 1613.12,
    "text": "es nicht"
  },
  {
    "start": 1613.72,
    "end": 1624.12,
    "text": "aber mit den kits deutlich einfacher weil du kannst bei dem... Standard image bleiben und kannst dann halt additiv irgendwelche dinge versagen kit hinzufügen."
  },
  {
    "start": 1628.32,
    "end": 1632.78,
    "text": "Und damit dann zum beispiel so wie steffan das gerade gesagt mit den netzwerk zugriffen."
  },
  {
    "start": 1632.84,
    "end": 1645.6,
    "text": "aber das könnte auch sein dass du jetzt zb skills für den agent hinzufügen möchtest, und das kannst du dann eben über Ein."
  },
  {
    "start": 1645.76,
    "end": 1651.639,
    "text": "über ein kit könntest du das machen, dass du dein default skill set irgendwie mit ran nimmst."
  },
  {
    "start": 1653.48,
    "end": 1657.34,
    "text": "Du kannst Dateien reinkopieren und kannst auch sagen ich möchte bestimmte software installieren."
  },
  {
    "start": 1657.419,
    "end": 1663.12,
    "text": "Ich möchte bestimmten Dinge zu start meiner sandbox oder bei der installation des handbox ausführen."
  },
  {
    "start": 1663.2,
    "end": 1679.2,
    "text": "ich habe solche kits für Sandboxes die.net brauchen, wo ich dann einfach ein Kit habe das mir das.net SDK installiert in der richtigen Versionsnummer die ich brauche und ich hab anderes für Java Projekte die ich einbinde und solche Dinge."
  },
  {
    "start": 1679.7,
    "end": 1699.12,
    "text": "damit ich eben nicht überall einen OpenJDK in einer bestimmten Version in der Sandbox habe mache ich das nicht global sondern eben für jedes Sandbox einzeln einmal Das ist ja ein Debian basiertes System sind es einfach im wesentlichen zwei APT Kommandos die man ... in das Kit reinschreibt, um die richtigen... vielleicht sind es auch fünften."
  },
  {
    "start": 1699.32,
    "end": 1701.379,
    "text": "Die richtigen Paketquellen einzubinden zu sagen."
  },
  {
    "start": 1701.5,
    "end": 1704.8,
    "text": "Mach mal ein Update-Installier bitte, dass... Und dann sind die Dinge da!"
  },
  {
    "start": 1704.94,
    "end": 1708.5,
    "text": "Du kannst Dateien kopieren, das was Michael mit Skills sagte."
  },
  {
    "start": 1708.56,
    "end": 1711.72,
    "text": "Du kannst Netzwerk zur Verfügung regeln und du könntest Secrets hinterlegen."
  },
  {
    "start": 1711.76,
    "end": 1712.659,
    "text": "Noch einmal ein anderes Thema."
  },
  {
    "start": 1714.36,
    "end": 1721.399,
    "text": "Da gibt's schon Möglichkeiten, die zusammengehen und was du eben sogar tun kannst ist deine eigenen Agents erfinden."
  },
  {
    "start": 1721.48,
    "end": 1723.78,
    "text": "also wir haben den Begriff des Agents jetzt schon ein paar Mal gehabt."
  },
  {
    "start": 1724.62,
    "end": 1726.0,
    "text": "Der ist auch zentral bei Docker."
  },
  {
    "start": 1726.08,
    "end": 1730.5,
    "text": "Das ist halt eigentlich der Prozess, der gestartet wird wenn ich die Sandbox starte."
  },
  {
    "start": 1731.48,
    "end": 1740.8,
    "text": "Da gibt es dann vordefinierte Agents für die meisten großen Agentec Coding Umgebung."
  },
  {
    "start": 1741.52,
    "end": 1746.84,
    "text": "in der Shell laufen also Cloud Code oder Codex oder Coopilot oder was man sich da so vorstellen kann."
  },
  {
    "start": 1746.879,
    "end": 1751.2,
    "text": "aber das ist auch möglich seine eigenen Definitionen von Agents anzugeben."
  },
  {
    "start": 1751.26,
    "end": 1758.26,
    "text": "Es gibt einen Skills Contrack Repository, wo Leute ihre Skills zur Verfügung stellen als Open Source Projekte."
  },
  {
    "start": 1759.04,
    "end": 1770.76,
    "text": "Darin findet sich zum Beispiel was für Pi Dev also für einen anderen Harnes mit dem ich beliebige Modelle unterstecken kann damit ich diesen als Agent starten kann und ganz klein."
  },
  {
    "start": 1771.3,
    "end": 1772.52,
    "text": "Shell ist ein Agent."
  },
  {
    "start": 1772.84,
    "end": 1776.22,
    "text": "Also er startet dann einfach eine Bash und die ist eingebaut."
  },
  {
    "start": 1776.34,
    "end": 1784.58,
    "text": "dafür brauche ich kein Kit sondern darauf aufbauend kann ich eben all die anderen Dinge tun, wie das was du über deine NPM Updates beschreibst."
  },
  {
    "start": 1784.62,
    "end": 1791.1,
    "text": "Da brauchst du eigentlich nur die Shell in der du dann NPM Install oder NPM Update oder was auch immer sagst um das auszuprobieren?"
  },
  {
    "start": 1792.3,
    "end": 1814.34,
    "text": "Ja ich hatte gar nicht dran gedacht dass also ich dachte wenn ihr jetzt über VMs sprecht, dass sich da halt einfach eine Konsole aufmache und es ist zur Verbindung zu dieser WM und dann kann ich dort halt wie in jedem Betriebssysteme einfach Dinge nachinstallieren aufrufen und so weiter, aber es klingt jetzt eher danach als wäre das sehr abgeschottet."
  },
  {
    "start": 1814.399,
    "end": 1816.76,
    "text": "Und da bräuchte man Kits um Dinge nachzuinstallieren."
  },
  {
    "start": 1817.24,
    "end": 1817.8,
    "text": "ist das korrekt?"
  },
  {
    "start": 1817.84,
    "end": 1818.58,
    "text": "Hab ich das falsch verstanden?"
  },
  {
    "start": 1819.46,
    "end": 1820.5,
    "text": "Nee brauchst du nicht!"
  },
  {
    "start": 1821.44,
    "end": 1823.44,
    "text": "Also du könntest dich auch einfach ähm."
  },
  {
    "start": 1823.899,
    "end": 1832.159,
    "text": "also ähnlich wie bei Docker, also jetzt nicht die Firma Docker sondern das Tool kannst du halt auch mit exec zum Beispiel."
  },
  {
    "start": 1832.3,
    "end": 1843.3,
    "text": "also sbx run ist das womit wir eigentlich normalerweise eine Von diesen vms startest und dann wird eben diese wie steffan eben sagte."
  },
  {
    "start": 1844.12,
    "end": 1852.899,
    "text": "Typischerweise der agent ausgeführt ist dann tatsächlich so dass sie die best sogar, oder die shell als einen möglichen agent beschreiben."
  },
  {
    "start": 1854.02,
    "end": 1857.159,
    "text": "da hängt aber dann auch noch dran das das base image verschieden ist."
  },
  {
    "start": 1857.24,
    "end": 1865.78,
    "text": "also wenn Wenn du jetzt SPX Run Cloud aufrufst, dann nimm dir ein anderes Base-Image wie also dann nimme halt eins wo Cloud installiert ist."
  },
  {
    "start": 1865.82,
    "end": 1870.78,
    "text": "Wenn du SPX run co-pilot aufruft, dann nimmt ihr halt ein Image wo Co-Pilot installiert wird."
  },
  {
    "start": 1871.34,
    "end": 1882.5,
    "text": "Ich weiß nicht genau wie die Unterschiede noch sind aber das Image ist zu verschieden und eben Shadow ist dann auch wieder ein anderes Image was vielleicht wahrscheinlich gar kein Agent sonst installiert."
  },
  {
    "start": 1883.24,
    "end": 1891.96,
    "text": "Aber du kannst natürlich mit SPX Exec zum Beispiel in eine bestehende VM dich einfach wie einloggen und hast dann dort einen Terminal."
  },
  {
    "start": 1894.54,
    "end": 1902.379,
    "text": "Und dann kannst du auch dort einfach abget was auch immer tun, das meinte Stefan mit ganz am Anfang."
  },
  {
    "start": 1902.48,
    "end": 1903.6,
    "text": "es ist einfach eine vor allem."
  },
  {
    "start": 1903.68,
    "end": 1908.419,
    "text": "also die hat einen state der deine disk oder disk image."
  },
  {
    "start": 1910.84,
    "end": 1919.94,
    "text": "Wenn du in der vor allem etwas veränderst und die dann schließt, dann startest du lieber im nächsten mal bist du wieder bei dem Zustand, den du halt vorher hattest."
  },
  {
    "start": 1920.7,
    "end": 1934.62,
    "text": "Also wenn du einmalig irgendwelche Dinge in der Vm nachinstallierst dann sind die zwar dort aber die bleiben dann halt so wie sie sind."
  },
  {
    "start": 1934.74,
    "end": 1940.899,
    "text": "also das Thema mit den Updates können wir vielleicht gleich nochmal darüber reden ist für mich entspannt wie Stefan das macht."
  },
  {
    "start": 1942.96,
    "end": 1946.62,
    "text": "Aber Ähnlich ist es eben auch jetzt mit den Skills."
  },
  {
    "start": 1946.74,
    "end": 1954.879,
    "text": "Wenn man die Skills, sie könnte man sich ja auch einmal rüber kopieren und wenn man das macht dann ändern diese sich aber nicht mehr."
  },
  {
    "start": 1954.96,
    "end": 1964.56,
    "text": "also bei mir ist das zumindest so dass ich einen einigen skills immer noch mal was nachschärfe oder Die halt in irgendeiner form weiterentwickeln."
  },
  {
    "start": 1966.1,
    "end": 1978.82,
    "text": "Und dann wenn ich jetzt also ich habe sehr viele von diesen vms weil ich das normalerweise, weil ich an vielen Projekten parallel arbeite und dann typischerweise für jedes Projekt eine eigene Vm hab."
  },
  {
    "start": 1979.48,
    "end": 1985.56,
    "text": "Und da ist es sehr schwierig den nachzuhalten wo jetzt welche Version von was hinkopiert wurde."
  },
  {
    "start": 1985.62,
    "end": 1995.159,
    "text": "und diese Kits wenn man halt die Kids einbindet dann kann man das auch erreichen dass ja quasi Das beim Starten immer wieder rüber kopiert"
  },
  {
    "start": 1996.78,
    "end": 1998.58,
    "text": "Ja okay verstanden Dankeschön"
  },
  {
    "start": 1999.32,
    "end": 2001.899,
    "text": "Genau, und du kannst natürlich Software installieren ohne ein Kit."
  },
  {
    "start": 2002.36,
    "end": 2005.74,
    "text": "Dass ich sowas wie das .NET SDK mit einem Kit installiere ist."
  },
  {
    "start": 2006.24,
    "end": 2014.02,
    "text": "Einfach damit dich das nicht sieben Mal machen muss... ...damit ich nicht siebmal die gleichen Kommandos eintippen muss sondern dass einmal irgendwo hingeschrieben habe wie es geht."
  },
  {
    "start": 2016.94,
    "end": 2019.02,
    "text": "Das was bei Kits noch nett ist fällt mir gerade ein."
  },
  {
    "start": 2019.28,
    "end": 2022.0,
    "text": "Das ist nicht unbedingt mehr eingefallen."
  },
  {
    "start": 2022.06,
    "end": 2024.52,
    "text": "Sonst in einem Gespräch mit einem Kollegen kam das oft."
  },
  {
    "start": 2024.7,
    "end": 2025.06,
    "text": "er sagte."
  },
  {
    "start": 2027.0,
    "end": 2030.1,
    "text": "komposable sind, dass sie miteinander kombinieren können."
  },
  {
    "start": 2030.159,
    "end": 2037.56,
    "text": "Wenn ich so was mit Containern machen würde dann habe ich das Base-Image da ist Rust drin aber manchmal brauche ich vielleicht Rust und Python und Node."
  },
  {
    "start": 2038.06,
    "end": 2040.96,
    "text": "Dann fange ich an Probleme zu haben die Dinge zusammenzustecken."
  },
  {
    "start": 2041.22,
    "end": 2049.08,
    "text": "bei sowas wie Sandboxes kann Ich aber die drei Kits die rust und node und Was ich nicht weiß war das andere was ich gesagt habe Python installieren."
  },
  {
    "start": 2049.139,
    "end": 2054.44,
    "text": "mit den passenden Modulen Kann ich eben die drei kits einfach zusammenfassen Und dann hab ich die Dinge miteinander komponiert."
  },
  {
    "start": 2055.1,
    "end": 2064.08,
    "text": "es sind wirklich eigenständiger und damit auch leichter als Bausteine zu nutzen, als das Layer wären die ich einem Dockercontainer oben drauf lege."
  },
  {
    "start": 2067.64,
    "end": 2069.42,
    "text": "Ja Michael du wolltest doch jetzt davon fragen?"
  },
  {
    "start": 2070.96,
    "end": 2077.24,
    "text": "Ja genau also wie machst Du das denn mit den Updates?"
  },
  {
    "start": 2077.3,
    "end": 2081.14,
    "text": "weil ich habe halt das Gefühl wenn ich...also vielleicht liegt es auch daran dass ich so viele VMs habe."
  },
  {
    "start": 2083.46,
    "end": 2091.62,
    "text": "aber So wie ich das Hand habe, muss sich eigentlich in jeder dieser Vm's also wenn ich die jetzt über längere zahlt benutze."
  },
  {
    "start": 2092.22,
    "end": 2093.76,
    "text": "Dann irgendwann mal Updates machen"
  },
  {
    "start": 2094.48,
    "end": 2095.44,
    "text": "Ja geht mir auch."
  },
  {
    "start": 2095.48,
    "end": 2101.12,
    "text": "so mache Ich auch tatsächlich von hand Muss ich zugeben und es ist ich hab wahrscheinlich weniger vor uns als du."
  },
  {
    "start": 2102.0,
    "end": 2103.36,
    "text": "Das liegt ein Stück weit auch daran."
  },
  {
    "start": 2103.74,
    "end": 2106.84,
    "text": "dann kann ich die frage zurück geben wie managst Du eigentlich deinen fest platten Platz?"
  },
  {
    "start": 2107.88,
    "end": 2113.12,
    "text": "weil micro vm klingt viel kleiner Als Es am Ende Tatsächlich Ist."
  },
  {
    "start": 2114.1,
    "end": 2123.4,
    "text": "Rout-Dateisystem hat glaube ich zwanzig Gigabyte per default für jede einzelne VM die ich da starte und liegt dann als Snapshot auf meiner Festplatte."
  },
  {
    "start": 2124.46,
    "end": 2140.02,
    "text": "Mir ist es irgendwann vor zwei, drei Wochen passiert das mein Home Verzeichnis bei dem ich das Linux Volume zu klein bemessen hatte einfach voll wahr weil die ganzen Snapshots drin lagen und dann habe ich aufgeräumt und jetzt gerade etwas weniger VMs als ich vorher gehabt habe."
  },
  {
    "start": 2140.06,
    "end": 2144.0,
    "text": "Natürlich habe ich auch noch andere Dinge geändert, damit es zukünftig nicht mehr passiert."
  },
  {
    "start": 2144.24,
    "end": 2145.2,
    "text": "Hoffe ich zumindest!"
  },
  {
    "start": 2145.38,
    "end": 2150.98,
    "text": "Aber wie machst du das bei ganz vielen vor allem mit dem Festplattenplatz?"
  },
  {
    "start": 2151.06,
    "end": 2155.76,
    "text": "Weil das was mir gerade fehlt ist ein räumal altes Snapshot-Sweckfeature."
  },
  {
    "start": 2156.02,
    "end": 2161.48,
    "text": "Tatsächlich glaube ich, dass gibt's in der Form nicht... Ich hab den Eindruck die belegen viel mehr Plattenplatz als sie bräuchten."
  },
  {
    "start": 2164.78,
    "end": 2173.86,
    "text": "Also mal der Reihe nach... also ich müsste jetzt nachschauen und ich denke Also ich habe auch hier neulich aufgeräumt, weil auch meine Discfolge laufen ist."
  },
  {
    "start": 2173.92,
    "end": 2178.26,
    "text": "Aber ich glaube es lag an was anderem und nicht nur an den VMs."
  },
  {
    "start": 2178.4,
    "end": 2189.12,
    "text": "Und ich hatte aber zuerst die VMs im Verdacht, weil der auch angezeigt hat irgendwie wie ich hätte neunhundert achtzig Gigabyte VMs oder sowas hat mein Finder angezeigt."
  },
  {
    "start": 2190.26,
    "end": 2191.2,
    "text": "Es scheint aber so zu sein."
  },
  {
    "start": 2191.48,
    "end": 2194.92,
    "text": "Ich musste dann einfach aufräumen und hatte keine Zeit für Forensik."
  },
  {
    "start": 2196.14,
    "end": 2198.64,
    "text": "Aber es scheint sozusagen dass diese Angabe falsch war."
  },
  {
    "start": 2199.18,
    "end": 2209.94,
    "text": "Also, ähm ich hatte wahrscheinlich keine nur nundertachtzig Gigabyte VM sondern da waren einige vielleicht nicht ob der Hardlinks benutzt oder was er da macht."
  },
  {
    "start": 2210.4,
    "end": 2212.88,
    "text": "Jedenfalls ich glaube diese Angabe war falsch."
  },
  {
    "start": 2212.94,
    "end": 2220.06,
    "text": "aber du hast total recht eine VM belegt relevant fest platten Platz."
  },
  {
    "start": 2221.66,
    "end": 2227.74,
    "text": "Ich denke Micro bezieht sich auch eher auf den sozusagen footprint zur Laufzeit und weniger auf den disk space."
  },
  {
    "start": 2233.1,
    "end": 2242.58,
    "text": "Also ich hab jetzt diese Gelegenheit genutzt und auch mal VMs weggeworfen, die ich gar nicht mehr benutze oder die ich lange nicht mehr benutzt habe."
  },
  {
    "start": 2242.66,
    "end": 2251.9,
    "text": "Und letzten Endes wenn man zum Beispiel diese Kids anlegt dann sind die VMs im Prinzip auch reproduzierbar."
  },
  {
    "start": 2252.32,
    "end": 2267.0,
    "text": "also wenn später wieder starte in dem gleichen ordner und zum beispiel dann ein kit angebe oder vielleicht auch nicht wenn mir der default reicht, dann kriege ich schon etwas anderes wie das was sich vorher hatte."
  },
  {
    "start": 2267.08,
    "end": 2270.08,
    "text": "also es ist ja so dass durch die updates von docas sandbox."
  },
  {
    "start": 2272.16,
    "end": 2283.58,
    "text": "Und ist eigentlich auch spannend ich bin mir sicher ob es genau synchronisiert ist dass die base images auch immer nur ein Update bekommen, wenn ein neues Update des SBX Tools kommt."
  },
  {
    "start": 2283.84,
    "end": 2284.78,
    "text": "Habe ich mir noch nie angeschaut?"
  },
  {
    "start": 2285.6,
    "end": 2307.28,
    "text": "Aber... Wenn ich jetzt sagen wir mal deine VM angelegt habe vor zwei Monaten und würde die jetzt löschen und die dann mit dem gleichen Kommando neu anlegen, hab' ich nicht exakt die gleiche VM sondern ich hab' ziemlich sicher eine neuere Version also neueres Base-Image für eine sehr ähnliche VM die aus meiner Erfahrung auch das Gleiche tun wird."
  },
  {
    "start": 2308.58,
    "end": 2312.68,
    "text": "aber In Details kann sich das halt unterscheiden, finde ich jetzt nicht schlimm."
  },
  {
    "start": 2313.66,
    "end": 2323.22,
    "text": "Und bei den zehn bis fünfzehn VMs die ich hab... Also ich komme da mit zu Recht bisher mit dem Disk Space."
  },
  {
    "start": 2325.78,
    "end": 2330.96,
    "text": "Ich denke schon dass es so zwanzig bis zwanzich dreißig Gigabyte pro VM sind."
  },
  {
    "start": 2334.34,
    "end": 2344.0,
    "text": "Aber was mich eher dazu anleitet oder was mich er dazu bringt die öfter mal wegzuwerfen, das ist wirklich das mit den Updates."
  },
  {
    "start": 2344.08,
    "end": 2355.94,
    "text": "Also wenn ich sie halt weggeschmeiße und sie neu anlege dann weiß sich A dass ich darin quasi keinen shadow state also nicht irgendwelche Dinge habe, die ich eigentlich brauche aber die mir gar nicht mehr so bewusst sind."
  },
  {
    "start": 2356.56,
    "end": 2358.24,
    "text": "Das würde ich ja auch gerne vermeiden."
  },
  {
    "start": 2358.3,
    "end": 2386.28,
    "text": "Ich will meine wertvollen Dinge in dem Projekt verzeichnen oder in irgendwelchen Dingen haben wo ich auch ein Backup von hab und nicht nur auf meiner lokalen Disk Und Updates mache ich schon, aber... ...aber ich finde das eben bei der Menge an VMS mühsamer die Updats wirklich seriös zu machen als dann eher so eine Art Hygiene zu entwickeln und die VMS halt mal wegzuwerfen."
  },
  {
    "start": 2388.26,
    "end": 2398.16,
    "text": "Und dass vielleicht als Gelegenheit zu nutzen auch Kids zu erstellen da wo ich Anpassungen brauche wenn ich das nicht sowieso schon gemacht habe."
  },
  {
    "start": 2398.2,
    "end": 2399.76,
    "text": "Plötzlich richtig an soll dich auch tun?"
  },
  {
    "start": 2405.06,
    "end": 2406.52,
    "text": "Anja, du hattest ihm gesagt."
  },
  {
    "start": 2406.58,
    "end": 2412.26,
    "text": "Du hast dir dann vorgestellt, du startest die Vm und dann gehst du da per SSH drauf oder so etwas in der Form."
  },
  {
    "start": 2412.98,
    "end": 2425.64,
    "text": "Tatsächlich ist die User Experience... Du gehst in dein Terminal, du trippst darin SBX Run und den Agent, den du haben möchtest vielleicht noch ein paar andere Kommando-Zeilen-Parameter und dann startet halt der Agent in deinen Terminal."
  },
  {
    "start": 2426.32,
    "end": 2432.0,
    "text": "Das heißt es ist das Kommandozeileninterface deines Agents, dass in deinem Terminal läuft."
  },
  {
    "start": 2433.1,
    "end": 2436.68,
    "text": "nicht so, dass du jetzt noch einen extra Prozess benötigst, um da reinzugehen."
  },
  {
    "start": 2437.42,
    "end": 2442.44,
    "text": "Das was aber die virtuelle Maschine nicht hat ist irgendeine Art von UI im Normalfall."
  },
  {
    "start": 2442.74,
    "end": 2460.18,
    "text": "Das heißt für Menschen die, weiß ich nicht das, die Desktopanwendung von Claude oder ChatGPT oder sonst irgendwas verwenden bietet sich die Sandboxen nicht unbedingt an weil sie da nicht vernünftig reinkommen und damit irgendetwas zu tun."
  },
  {
    "start": 2460.32,
    "end": 2474.0,
    "text": "also es tatsächlich Glaube ich momentan der Anwendungsfall eher Menschen, die keine Hemmungen haben auf der Kommandozeile, Dinge zu tun und mit dem Text UI ihres Agents zu kommunizieren."
  },
  {
    "start": 2474.28,
    "end": 2486.02,
    "text": "Es gibt glaube ich eine neusten Version tatsächlich auch die Möglichkeit per SSH reinzukommen also tatsächlich sauber per SSR in den Container einzukommen wenn man das haben möchte dass da ein SSH-Demon drin gestautet wird."
  },
  {
    "start": 2487.6,
    "end": 2495.36,
    "text": "Das habe ich aber selber noch nie benutzt weil ich bisher auch keinen Anwendungsfall dafür gehabt habe, und die Möglichkeit existiert grundsätzlich."
  },
  {
    "start": 2496.72,
    "end": 2499.98,
    "text": "Ich gehe davon aus dass es auch keine wirklichen Integration für IDEs gibt oder?"
  },
  {
    "start": 2500.14,
    "end": 2509.84,
    "text": "Also man weiß ja, dass IDEs auch ihre eigenen Chatprogramme haben und worin sie dann beispielsweise Cloud- oder Chatch-Video usw."
  },
  {
    "start": 2510.18,
    "end": 2511.08,
    "text": "zur Verfügung stellen."
  },
  {
    "start": 2512.3,
    "end": 2518.8,
    "text": "Das bedeutet, diese Graphical User Interfaces in meine IDE kann nicht unbedingt mit Docker Sandboxes verbinden oder?"
  },
  {
    "start": 2521.22,
    "end": 2526.24,
    "text": "Doch kannst du schon also je nachdem was du für eine idee nutzt."
  },
  {
    "start": 2528.06,
    "end": 2533.88,
    "text": "Aber jetzt also ich benutze das nicht mehr wirklich, ich hab schon."
  },
  {
    "start": 2534.5,
    "end": 2543.52,
    "text": "also ich mache viel Java und ich habe aber schon ein weile mein IntelliJ oder ich benutz es wirklich nicht mehr so häufig weil einfach der agent viel macht."
  },
  {
    "start": 2545.46,
    "end": 2551.4,
    "text": "Aber wenn ich Du kannst halt viel machen, auch über ein MCP Server."
  },
  {
    "start": 2551.94,
    "end": 2560.48,
    "text": "Also zum Beispiel die IDEs stellen jetzt häufig MCP-Server zur Verfügung, worüber dann du eine Integration hinbekommst."
  },
  {
    "start": 2561.26,
    "end": 2571.08,
    "text": "aber das was Docker Sandbox an Integration nennt gibt es glaube ich nur für WS Code und für Cursor oder sowas."
  },
  {
    "start": 2571.72,
    "end": 2573.1,
    "text": "Aber auch das habe ich noch nie benutzt."
  },
  {
    "start": 2576.66,
    "end": 2580.42,
    "text": "Ich bin tatsächlich vollständig auf der Shell unterwegs in dem Umfeld."
  },
  {
    "start": 2580.56,
    "end": 2592.6,
    "text": "Das heißt, tatsächlich nutze ich gelegentlich noch ziemlich viel Rider in der .NET Entwicklung was JetBrains IDE für .NET ist und starte das dann in dem Shellfenster."
  },
  {
    "start": 2593.18,
    "end": 2606.84,
    "text": "Und jetzt föhlt es darin aus gibt dann gelegendlich mal Probleme des wenn der Agent-Dinge geändert hat, dass Rider nicht alles mitbekommen hat zur richtigen Zeit oder mit einem anderen SDK kompiliert worden ist."
  },
  {
    "start": 2606.92,
    "end": 2612.04,
    "text": "Weil da drin was anderes als draußen installiert ist oder sowas muss es mal ein Refresh bekommen."
  },
  {
    "start": 2612.08,
    "end": 2619.92,
    "text": "dann geht das aber an ganz vielen Stellen geht's mir auch ähnlich wie Michel, dass die IDE so ein Stück weit auch in den Hintergrund tritt."
  },
  {
    "start": 2620.02,
    "end": 2624.76,
    "text": "Ich bin immer eher ein Mensch gewesen der nicht viele Feature der IDE genutzt hat."
  },
  {
    "start": 2624.9,
    "end": 2628.62,
    "text": "und das was jetzt noch übrig ist kann ich auch genauso gut im EMAX machen"
  },
  {
    "start": 2628.66,
    "end": 2629.16,
    "text": "Da stimmt er."
  },
  {
    "start": 2631.56,
    "end": 2666.46,
    "text": "Da ist es halt praktisch, also wenn man jetzt zum Beispiel das Terminal in der IDE benutzt um in dem Terminal Sbx mit einem Agent zu starten dann ist das halt auch wieder praktisch mit den Pfaden dass die innerhalb und außerhalb gleich sind weil wenn ich jetzt... Also die Idees pasen ja quasi das was im Terminal passiert Und wenn ich dort ein Pfad von irgendeiner Datei sehe Dann kann ich da halt Kontrolle oder was auch immer auf dem Betriebssystem halt unwohl ist, kann ich da im Prinzip draufklicken und dann macht die IDE diese Datei auf."
  },
  {
    "start": 2667.04,
    "end": 2670.12,
    "text": "Und das geht ja auch... Das kann ja quasi rein."
  },
  {
    "start": 2670.22,
    "end": 2670.84,
    "text": "dann die IDE."
  },
  {
    "start": 2672.42,
    "end": 2674.7,
    "text": "also dafür muss SPX ja nichts tun."
  },
  {
    "start": 2677.12,
    "end": 2697.42,
    "text": "aber diese Geschichten Also ich gehe davon aus dass hat aber eigentlich auch nichts mit der SPX zu tun sondern eher insgesamt mit den Agents sowas wie in Refactoring oder das Unbenennen von von irgendeinem Namen in einer kompilierten und typisierten Sprache."
  },
  {
    "start": 2698.1,
    "end": 2708.58,
    "text": "Das war über die Agents immer ziemlich mühsam, weil sie haben kein Glinter, keinen Syntax-Tree normalerweise, sondern machen das alles textbasiert."
  },
  {
    "start": 2709.24,
    "end": 2714.56,
    "text": "Und das geht jetzt zum Teil MCP Server, die die IDE zur Verfügung stellt."
  },
  {
    "start": 2714.64,
    "end": 2717.66,
    "text": "Also das hat aber eigentlich auch eben nichts mit SPX zu tun oder?"
  },
  {
    "start": 2717.72,
    "end": 2727.88,
    "text": "Das würde auch mit dem Agent einfach so geben wenn der hier im Terminal läuft und neben dran ist die IDE... Und das kann ich aber in den SPX mehr oder weniger genauso machen."
  },
  {
    "start": 2729.14,
    "end": 2733.88,
    "text": "Lass uns doch einmal links zu diesen Projekten in den Shownote zusammenfassen!"
  },
  {
    "start": 2733.94,
    "end": 2735.74,
    "text": "Ich denke es ist für alle interessant."
  },
  {
    "start": 2737.26,
    "end": 2738.06,
    "text": "Für mich zumindest."
  },
  {
    "start": 2739.52,
    "end": 2739.56,
    "text": "Ja"
  },
  {
    "start": 2740.08,
    "end": 2740.26,
    "text": "gerne."
  },
  {
    "start": 2740.34,
    "end": 2741.12,
    "text": "Das klingt doch schon gut."
  },
  {
    "start": 2742.02,
    "end": 2745.9,
    "text": "Ich kann mich noch in einen Feature so dunkel erinnern, um meine Secrets zu schützen."
  },
  {
    "start": 2746.44,
    "end": 2750.5,
    "text": "Kann ich sie von außen reingeben ohne dass der Agent die eigentlich sieht."
  },
  {
    "start": 2751.38,
    "end": 2752.42,
    "text": "wie genau funktioniert das?"
  },
  {
    "start": 2753.5,
    "end": 2755.54,
    "text": "Also so Header Manipulation oder wie war das?"
  },
  {
    "start": 2756.54,
    "end": 2764.36,
    "text": "Genau also der Proxy, von dem ich eben gesprochen habe ist zumindest für eigentlich alles es ein Machine in the Metal Proxy."
  },
  {
    "start": 2764.78,
    "end": 2775.24,
    "text": "Das heißt selbst wenn ich aus dem Agent heraus einen HTTPS Zugriff mache Bericht der Proxy die verschlüsselte Kommunikation auf."
  },
  {
    "start": 2775.46,
    "end": 2786.26,
    "text": "Der hat in das Basis Image und Zweifel sich selber als trusted certificate authority eingetragen, sodass er einfach für alles gültige Zertifikate ausstellen kann."
  },
  {
    "start": 2786.3,
    "end": 2792.9,
    "text": "wenn wir dann keinen certificate pinning haben Dann komme ich da schon durch und dann sieht er den HTTP-Request und kann damit Dinge tun."
  },
  {
    "start": 2792.94,
    "end": 2805.96,
    "text": "Und dann kann ich eben außen sagen dass Wenn er in bestimmten ATP Headern Platzhalter findet, die eben sagen hier müsste jetzt mein Secret eingefügt werden."
  },
  {
    "start": 2806.86,
    "end": 2810.84,
    "text": "Und ich konfiguriert habe wie dieses Secret heißt dass er das dann dort einfügt."
  },
  {
    "start": 2811.12,
    "end": 2818.4,
    "text": "also es ist so im Wesentlichen der Mechanismus das heißt des Toolings drin müsste wissen was es an der richtigen Stelle hinzufügen muss."
  },
  {
    "start": 2818.48,
    "end": 2819.18,
    "text": "ein Platzhalter."
  },
  {
    "start": 2819.44,
    "end": 2823.28,
    "text": "dafür werden dann einen Variabeln in der Sandbox erzeugt."
  },
  {
    "start": 2823.58,
    "end": 2826.2,
    "text": "da steht dann aber replaced by proxy oder sowas drin."
  },
  {
    "start": 2826.36,
    "end": 2834.16,
    "text": "aber du sagst halt Dein CurlAufruf setzt mal hier den Authorization Header, den Wert dieser Environment Variablen ein."
  },
  {
    "start": 2834.7,
    "end": 2850.88,
    "text": "Dann sieht es für Curls so aus als würde in der Environment Variable vielleicht mein Basic Off oder tokenbasierte Authentisierung drinnen stecken und der Proxy ersetzt dann quasi diesen Platzhalter durch das Secret, dass in dem Proxy drin hinterlegt ist."
  },
  {
    "start": 2851.5,
    "end": 2853.0,
    "text": "Das ist so der einfache Mechanismus."
  },
  {
    "start": 2853.1,
    "end": 2866.3,
    "text": "für Komplexere, bestimmte vordefinierte komplexere Dinger die OORTH-II beispielsweise angehen kann dieser Proxy eben auch die Redirects-Urie für OORth-II anbieten."
  },
  {
    "start": 2866.4,
    "end": 2877.38,
    "text": "Also um jetzt nicht zutechnisch zu werden im wesentlichen fängt der Proxy das ausgestellte Token bei einem OORS II Flow ab und kennt dann das Togen aber nicht innen drin."
  },
  {
    "start": 2877.5,
    "end": 2882.26,
    "text": "Das heißt wenn ich... Für Entropic geht das schon sehr lange."
  },
  {
    "start": 2882.34,
    "end": 2900.32,
    "text": "Wenn ich in Claude einen Slashlock insage, dann gibt er mir den Link mit dem ich öffnet auch tatsächlich meinen Browser damit ich freigebe dass tatsächlich mein Token jetzt weitergegeben werden soll an Claude in der Schelle drin und das dabei ausgestellte Token landet aber im Proxy."
  },
  {
    "start": 2900.52,
    "end": 2903.8,
    "text": "Das landet nicht in der Sandbox sondern das Token gelandet nur im Proxi."
  },
  {
    "start": 2904.0,
    "end": 2911.72,
    "text": "die Sandbox benutzt den Platzhalter nicht das echte Token und der Proxy ersetzt den Platzhalter durch das eichte Token an dieser Stelle."
  },
  {
    "start": 2912.82,
    "end": 2920.74,
    "text": "Damit habe ich so ein Stück weit den Zugriff auf meine Secrets verschoben, ich muss nicht mehr dem Code in der Sandbox liegt vertrauen."
  },
  {
    "start": 2921.3,
    "end": 2926.78,
    "text": "dafür muss sich jetzt Docker Incorporated vertrauen denn die haben diese Secrets in dem Proxy."
  },
  {
    "start": 2927.58,
    "end": 2947.42,
    "text": "Und auch da kann man sicherlich darüber diskutieren ob die selbst gestrickte Lösung wenn ich sie dann hätte am Ende mehr Souveränität und noch vertrauenswürdiger bedeuten würde, als dass ich so etwas einem kommerziellen Produkt – was es am Ende ist – überlasse dessen Qualtexte auch nicht einsehen kann."
  },
  {
    "start": 2949.12,
    "end": 2949.22,
    "text": "Ah!"
  },
  {
    "start": 2949.36,
    "end": 2951.1,
    "text": "Ist das also kein Open Source-Projekt?"
  },
  {
    "start": 2952.86,
    "end": 2959.2,
    "text": "Es setzt sich aus einigen Open Source Komponenten zusammen aber das komplette Ding ist nicht wirklich Open Source."
  },
  {
    "start": 2959.56,
    "end": 2974.9,
    "text": "Das was bei Github ist, dass es einen GitHub Projekt dafür gibt da drin wird der Issue Tracker benutzt und die Releases können dort runtergeladen werden, aber der eigentliche Quelltext von Docker Sandbox ist nicht da."
  },
  {
    "start": 2975.64,
    "end": 2978.72,
    "text": "Das sind Kombinationen von offensichtlich existierenden Dingen."
  },
  {
    "start": 2978.88,
    "end": 2992.2,
    "text": "also was auch immer an Aufsatz auf KVM genutzt wird unter Linux ist ein Open Source Projekt auf dem dann die Micro VM läuft, aber das sind auch eine ganze Menge Dinge an Code dabei die eben nicht öffentlich"
  },
  {
    "start": 2994.5,
    "end": 2998.62,
    "text": "Könnte so aussehen, dass es irgendwann eine Bezahlschranke verschwinden wird dieses Tool."
  },
  {
    "start": 2999.36,
    "end": 2999.88,
    "text": "Was denkt ihr?"
  },
  {
    "start": 3002.22,
    "end": 3006.4,
    "text": "Das hatten wir am Anfang ja ein bisschen befürchtet als das Ganze noch Early Access war."
  },
  {
    "start": 3007.94,
    "end": 3010.26,
    "text": "und eben es ist kein Open Source."
  },
  {
    "start": 3011.98,
    "end": 3017.16,
    "text": "aber sowies jetzt von Docker kommuniziert wurde ist das Tool eigentlich frei."
  },
  {
    "start": 3018.28,
    "end": 3029.46,
    "text": "also da gab's auch schon gewisse Anstöße weil man das nicht benutzen kann Ohne eine Count von Docker, also man muss bei Docker ein Account anlegen."
  },
  {
    "start": 3029.5,
    "end": 3058.1,
    "text": "Man muss nichts zahlen aber man muss auch regelmäßig wenn man sbx aufruft der Kommando-Zeit dann passiert es immer wieder dass man quasi das auch so wie Stefan das gerade beschrieben hat von dem Entropic Login, dass dann quasi aus der Kommando-Zeile raus ein Browser aufgeht und man dort eine Bestätigung oder da muss man eingeloggt sein bei Docker mit dem Browser."
  },
  {
    "start": 3058.18,
    "end": 3060.96,
    "text": "Und dann muss man dort das freigeben."
  },
  {
    "start": 3062.06,
    "end": 3067.5,
    "text": "also das Tool selbst kann man wirklich nicht benutzen ohne dass man zumindest preisgibt wie man ist."
  },
  {
    "start": 3072.16,
    "end": 3076.6,
    "text": "wird es auch bei uns von allen, bei einigen Kollegen ist das nicht so wirklich gut angekommen."
  },
  {
    "start": 3078.2,
    "end": 3079.76,
    "text": "Kann ich auch erstmal nachvollziehen."
  },
  {
    "start": 3079.8,
    "end": 3081.62,
    "text": "also richtig offen wäre natürlich besser."
  },
  {
    "start": 3082.22,
    "end": 3087.42,
    "text": "aber ich glaube dass die Standardfeatures über die wir jetzt gesprochen haben alle frei bleiben."
  },
  {
    "start": 3087.48,
    "end": 3091.72,
    "text": "zumindest war das die letzte Kommunikation auch für kommerziellen Einsatz."
  },
  {
    "start": 3092.24,
    "end": 3094.92,
    "text": "und was sie halt verkaufen wollen isso wie nennen Sie das?"
  },
  {
    "start": 3095.9,
    "end": 3100.32,
    "text": "Also so einen Enterprise-Feature haben Sie quasi wo man erreichen könnte."
  },
  {
    "start": 3100.46,
    "end": 3105.8,
    "text": "Ähm, dass man zentral irgendwo was konfiguriert wie auf den."
  },
  {
    "start": 3106.9,
    "end": 3113.08,
    "text": "Auf den Arbeitsplatz rechnen halt die Sandboxes irgendwie zum Beispiel bezüglich Netzwerk Polices konfigurate werden oder sowas."
  },
  {
    "start": 3114.5,
    "end": 3116.04,
    "text": "Genau also Governance zurück."
  },
  {
    "start": 3116.36,
    "end": 3130.86,
    "text": "im Endeffekt das du sagen kannst ich fasse Die Menschen die für meine Firma arbeiten zu einem Team zusammen und dann kann ich entscheiden wer aus meinem team darf welche Dinge ausführen, darauf tatsächlich worauf im Netzwerk zugreifen."
  },
  {
    "start": 3132.06,
    "end": 3140.74,
    "text": "Ich glaube es gibt auch noch so Dinge wie teamweite Kits die man dann teilen könnte, die da nicht öffentlich sind und nicht nur lokal auf dem Rechner liegen."
  },
  {
    "start": 3140.8,
    "end": 3142.86,
    "text": "also meine Kits sind lokal."
  },
  {
    "start": 3143.22,
    "end": 3145.66,
    "text": "Es gibt dieses Contrip Ding das Open Source ist."
  },
  {
    "start": 3146.12,
    "end": 3158.82,
    "text": "aber es gäbe dann eben auch die Möglichkeit im Team solche Kits zu teilen Dinge untereinander besser verbreiten zu können und vor allen Dingen um viel viel stärker zu reglementieren, wer welche Feature von Docker Sandboxes nutzt."
  },
  {
    "start": 3159.2,
    "end": 3161.82,
    "text": "Das sind aber alles Dinge die mich überhaupt nicht interessiert haben."
  },
  {
    "start": 3161.88,
    "end": 3167.02,
    "text": "deshalb habe ich auch überhaupt nicht angeguckt was damit in Detail nachher funktioniert oder nicht funktioniert?"
  },
  {
    "start": 3168.22,
    "end": 3171.08,
    "text": "Ja genau Governance das war das Wort was ich eben gesucht hab."
  },
  {
    "start": 3171.22,
    "end": 3188.24,
    "text": "Aber also ein Feature gibt es was Schambadal drin steckt Und das hätten wir beide schon gerne benutzt glaube ich nämlich dass man diese Entste teilen Dass man Dateien nach einem bestimmten Pattern zum Beispiel ausblenden kann, dass die in der Vm nicht sichtbar sind."
  },
  {
    "start": 3188.5,
    "end": 3190.5,
    "text": "Das geht glaube ich mit diesem Governance-Feature."
  },
  {
    "start": 3191.94,
    "end": 3194.34,
    "text": "Zumindest lässt sich Doku das erahnen."
  },
  {
    "start": 3194.46,
    "end": 3198.92,
    "text": "und da wo man die Policies einstellen kann also die Netzwerkpolicies."
  },
  {
    "start": 3199.16,
    "end": 3201.14,
    "text": "Da kann man auch Feinpolicys einstellen."
  },
  {
    "start": 3203.22,
    "end": 3211.22,
    "text": "Kann ich aber nicht weil ich eben das nicht lizen ... Also ich vermute mal wenn man es lizenziert hat dass man dann dort was einstellen kann."
  },
  {
    "start": 3212.1,
    "end": 3216.16,
    "text": "Bei uns steht das nur auf irgendwie Sternen, Sternen oder sowas und dann erlaubt."
  },
  {
    "start": 3217.6,
    "end": 3230.16,
    "text": "Da gibt es aber so eine Sektion in dem Tool also... Das haben wir jetzt noch gar nicht erwähnt wenn man SPX einfach so aufruft ohne irgendwelche Parameter also auch ohne Run oder einfach nur SPX."
  },
  {
    "start": 3230.84,
    "end": 3234.78,
    "text": "Dann kommt man den so einen Tweet, so einen Terminal."
  },
  {
    "start": 3234.9,
    "end": 3236.7,
    "text": "User Interface ist wirklich ganz nett gemacht."
  },
  {
    "start": 3237.98,
    "end": 3241.44,
    "text": "da kann man auch sehr viele Dinge sehen Und auch einstellen."
  },
  {
    "start": 3241.7,
    "end": 3250.44,
    "text": "Stefan hatte das vorhin mal oder am Anfang mal erwähnt, dass man dort zum Beispiel... Also da kann man sehr komfortabel eigentlich sehen welche Netzwerkverbindungen zb."
  },
  {
    "start": 3250.8,
    "end": 3259.12,
    "text": "der die VM aufmachen wollte und was davon erlaubt oder verboten war und kann dann auch das entsprechend anpassen."
  },
  {
    "start": 3261.94,
    "end": 3270.14,
    "text": "Ich hatte den Netzwerksregeln eher anders verstanden, dass ich sagen kann bestimmte Leute dürfen bestimmte Pfade überhaupt in einer Sandbox Mountain."
  },
  {
    "start": 3270.98,
    "end": 3275.82,
    "text": "Aber wenn das tatsächlich auf Dataisystem-Muster geht, ich also sagen kann bestimmte Dateien werden ausgeschlossen."
  },
  {
    "start": 3275.98,
    "end": 3279.32,
    "text": "Dann gebe ich dir recht ist es eines der Feature die mir fehlen."
  },
  {
    "start": 3279.54,
    "end": 3283.2,
    "text": "Das andere Feature des Mir fehlt ist feinkranularer Netzwerkzugabe."
  },
  {
    "start": 3284.18,
    "end": 3286.94,
    "text": "Ich kann ihn nur auf Host Ebene erlauben oder verbieten."
  },
  {
    "start": 3288.04,
    "end": 3302.96,
    "text": "So was wie raw.githubusercontent.com ist mir eigentlich zu groß weil jeder kann beliebige Inhalte selber auf GitHub veröffentlichen und da würde Lieber sagen wollen, aber nur in bestimmten Verzeichnungsbäumen."
  },
  {
    "start": 3303.08,
    "end": 3305.9,
    "text": "Aber nicht alles was da ist sollte der Zugriff erlaubt sein."
  },
  {
    "start": 3306.46,
    "end": 3308.18,
    "text": "Da gibt es durchaus noch Dinge die mir fehlen."
  },
  {
    "start": 3308.22,
    "end": 3310.78,
    "text": "Es ist nicht so dass das rundum so groß."
  },
  {
    "start": 3310.84,
    "end": 3312.52,
    "text": "ich bin mit einem glücklich Paket ist."
  },
  {
    "start": 3316.2,
    "end": 3320.0,
    "text": "Also was die Files angeht... Das ist vielleicht auch Mutmaßung ne?"
  },
  {
    "start": 3321.36,
    "end": 3325.54,
    "text": "Ich habe das nur gesehen in diesem User Interface und hab das so interpretiert."
  },
  {
    "start": 3326.28,
    "end": 3334.56,
    "text": "Ja, damit wir das auch noch kurz erwähnt haben für die Fils gibt's ja auch ein Workaround den wir benutzen, man kann nämlich."
  },
  {
    "start": 3336.18,
    "end": 3340.94,
    "text": "Dann anstatt zum Beispiel das Endpfeil in den Projektordner zu legen dass eine Ebene höher z.B."
  },
  {
    "start": 3341.22,
    "end": 3346.78,
    "text": "legen und dann SimLink machen und den SimLink kann."
  },
  {
    "start": 3347.78,
    "end": 3365.82,
    "text": "also der funktioniert zwar im Host im normalen System aber den Simlink kann Docker sein also kann die VM nicht auflösen weil die da nur diesen Diesen einen Fahrt-Mount sieht zwar den Sümmling, aber das Ziel wo der Sümmeling hin zeigt ist dann halt nicht verfügbar."
  },
  {
    "start": 3366.68,
    "end": 3367.1,
    "text": "Das schlau!"
  },
  {
    "start": 3369.3,
    "end": 3371.1,
    "text": "Ja, sehr wackerund jetzt."
  },
  {
    "start": 3372.82,
    "end": 3375.42,
    "text": "Gibt es noch irgendetwas was wir vergessen haben?"
  },
  {
    "start": 3375.58,
    "end": 3377.76,
    "text": "Aber die Zuhörerinnen auf jeden Fall wissen sollten..."
  },
  {
    "start": 3379.72,
    "end": 3385.88,
    "text": "Mir würde im Netzwerk Teil noch eine Sache einfallen wenn ich habe das eine oder andere mal diese Maschinen gemittelt erwähnt."
  },
  {
    "start": 3387.04,
    "end": 3390.6,
    "text": "Tatsächlich funktioniert die nur für HTTP und HTTPS richtig gut."
  },
  {
    "start": 3392.76,
    "end": 3397.44,
    "text": "Wenn ich andere Netzwerkszugriffe machen möchte, dann widerspricht sich auch so ein bisschen die Doku."
  },
  {
    "start": 3398.62,
    "end": 3403.14,
    "text": "Es gibt Stellen in der Dokumentation, die sagen außer HTTP und HTTPS geht gar nichts."
  },
  {
    "start": 3403.3,
    "end": 3406.82,
    "text": "Und es gibt andere, die sagt das geht schon aber ist nicht ganz einfach."
  },
  {
    "start": 3407.8,
    "end": 3416.98,
    "text": "Und tatsächlich funktioniert es für TCP-Verbindung, aber für UDP Verbindung scheint es gar nicht machbar zu sein dass man aus dem Sandbox rauskommt."
  },
  {
    "start": 3417.02,
    "end": 3432.08,
    "text": "wir haben auch Kollegen die versucht haben aus der Sandbox heraus Datenbankzugriffe zu machen, weil sie in der SandBox Dinge entwickeln wollten aber auf eine Entwicklungs-Datenbankinstanz zugreifen wollten und haben es einfach nicht hinbekommen diesen Netzwerk Zugriff zu erlauben."
  },
  {
    "start": 3432.14,
    "end": 3443.54,
    "text": "Also da kann das dann eben auch sein dass die Restriktion für das Netzwerk manchmal so hoch sind oder so kompliziert sind, dass bestimmte Dinge die man gerne tun möchte aus der."
  },
  {
    "start": 3447.02,
    "end": 3448.92,
    "text": "Das wäre schon ein Feature, was wichtig wäre."
  },
  {
    "start": 3449.12,
    "end": 3451.66,
    "text": "Also auf eine Datenbank sich verbinden können wäre schon wichtiger."
  },
  {
    "start": 3453.26,
    "end": 3454.06,
    "text": "Okay gut!"
  },
  {
    "start": 3454.88,
    "end": 3456.36,
    "text": "Ja vielen Dank für das Gespräch."
  },
  {
    "start": 3456.68,
    "end": 3457.6,
    "text": "Ich habe viel gelernt."
  },
  {
    "start": 3459.88,
    "end": 3460.02,
    "text": "Vielen"
  },
  {
    "start": 3466.3,
    "end": 3467.22,
    "text": "Dank!"
  }
]