For AI agents: the public content index is available at https://we0.ai/llms.txt, and the English article bundle is available at https://we0.ai/llms-full.txt.
For AI agents: the complete content index is available at https://we0.ai/llms.txt, the full English article bundle is available at https://we0.ai/llms-full.txt, and this page is available as Markdown at https://we0.ai/de/articles/friendly-fire-rogue-agent-ai-coding-security.md.
Friendly Fire und Rogue Agent zeigen, dass die Sicherheit von KI-Agenten nicht nur ein Problem der Modellausrichtung ist. Die praktische Gre...

AI 编程代理不再是简单的自动补全工具。它们可以读取代码库、检查问题、编辑文件、运行脚本、调用工具、打开网络连接,有时还能做出可直接投入生产的修改。这使它们变得有用,但也改变了安全模型。
关键问题不再仅仅是模型能否拒绝有害提示。更难的问题是代理在运行时被允许做什么:它可以读取哪些文件、执行哪些脚本、能否访问互联网、密钥是否已挂载、以及每个操作是否留下有用的审计轨迹。
本文围绕 Friendly Fire 和 Rogue Agent 对原始讨论进行重新组织,为在实际开发工作流中使用 AI 编程代理的团队提供一份实用安全指南。
Friendly Fire 和 Rogue Agent 背后的共同信号很简单:当代理将不受信任的上下文视为权威时,它可能变得危险。
代码库的 README、依赖脚本、客户上传的压缩包或聊天机器人的代码块看似普通输入。但如果代理读取该输入并据此执行文件系统、Shell、网络或凭据访问操作,那么该输入实际上已跨越信任边界。
对于生产环境,代理不应成为判断是否允许工具调用的最终权威。它可以提议某个操作。权限层、沙箱、策略引擎和人工审查者应决定该操作是否确实被允许。
Friendly Fire 聚焦于一个真实的安全工作流:要求 AI 编程代理审查第三方或开源代码库的漏洞。这个工作流之所以有吸引力,是因为它看似防御性的。团队并不是要求代理攻击任何东西,而是要求它检查代码并提出修复建议。
问题在于安全审查需要读取不受信任的材料。代码库可能包含文档、脚本、构建文件、二进制制品和注释,这些不仅是数据,还可能包含针对代理的指令。
重要的教训不是对 AI 安全工具感到恐慌,而是将证据与授权区分开来。
README 可以解释项目通常如何测试,但不应自动授权代理运行该测试。依赖脚本可能是代码库的一部分,但不应自动被视为可信。第三方包可能包含看似正常安全检查的命令。代理可以读取它,但执行需要更高的信任级别。
一个风险模式如下:
./security.sh
该命令本身看似无害,但关键问题在于它来自哪里。是用户明确要求的吗?是模型建议的吗?是从第三方 README 复制的吗?是嵌入在问题评论或依赖脚本中的吗?这些来源不应享有同等信任级别。
Rogue Agent 展示了另一种风险。问题不在于审查代码库的本地编码代理,而在于云端 AI
Plattform, auf der konversationelle Agenten Codeblöcke innerhalb einer verwalteten Ausführungsumgebung ausführen können.
Die wichtige Erkenntnis für Produkt- und Sicherheitsteams ist, dass Chatbots nicht nur aus Eingabeaufforderungen und Antworten bestehen. Sie können auch Laufzeitumgebungen, Dienstkonten, Netzwerkausgänge, Sitzungsvariablen, Protokolle, gemeinsam genutzte Infrastruktur und Bereitstellungsberechtigungen umfassen.
Wenn ein konversationeller Agent Code ausführen oder auf Kundendaten zugreifen kann, sollte er wie eine Produktionsanwendung verwaltet werden. Das bedeutet minimale Rechte, Umgebungstrennung, Audit-Logs, Änderungsüberprüfung und klare Verantwortlichkeiten. Es nur als „Gesprächskonfiguration“ zu behandeln, ist für das tatsächliche Risiko zu schwach.
Friendly Fire und Rogue Agent sind unterschiedliche Vorfälle, weisen aber auf denselben Fehlermodus hin: Nicht vertrauenswürdiger Kontext erhält operative Befugnisse.
Im Friendly-Fire-Szenario kann nicht vertrauenswürdiger Repository-Inhalt einen Agenten dazu beeinflussen, Befehle auszuführen. Im Rogue-Agent-Szenario kann die Codeausführung innerhalb einer Agentenplattform das gemeinsame Laufzeitverhalten und sensible Gesprächsdaten beeinträchtigen. Auch die MCP-bezogene Forschung hat ein ähnliches Problem aufgeworfen: Die für den Benutzer sichtbare Genehmigungsansicht und die Metadaten, die das Modell tatsächlich erhält, vermitteln möglicherweise nicht immer das gleiche Vertrauensbild.
Aus diesem Grund kann sich das Sicherheitsdesign nicht nur auf ein sorgfältiges Modell verlassen. Ein Modell kann helfen, Risiken zu bewerten, sollte aber nicht unmittelbar nach dem Lesen nicht vertrauenswürdiger Anweisungen seine eigenen riskanten Tool-Aufrufe genehmigen.
Eine sicherere Architektur trennt drei Schichten:
Repositorys von Drittanbietern, unbekannte Issues, Abhängigkeitsaudits, Kundenarchive und heruntergeladene Pakete sollten in Einwegumgebungen geöffnet werden. Ein Container oder eine virtuelle Maschine ist ein guter Standard.
Die isolierte Umgebung sollte vermeiden, das Home-Verzeichnis des Benutzers, Cloud-Anmeldedaten, Paketregister-Token, SSH-Schlüssel, Browserprofile und Produktionskonfigurationen einzubinden. Quellcode kann zunächst schreibgeschützt sein. Schreibzugriff sollte nur gewährt werden, wenn der Agent einen klaren Plan erstellt hat und der Benutzer den Umfang genehmigt hat.
Gute Standards umfassen:
Lassen Sie nicht zu, dass Lesen, Bearbeiten und Ausführen in einen automatischen Ablauf zusammenfallen. Trennen Sie sie.
Lesephase: Der Agent kann Dateien inspizieren, Risiken identifizieren und einen Plan erstellen.
Patch-Phase: Der Agent kann einen Diff oder Patch generieren, idealerweise ohne nicht vertrauenswürdige Skripte auszuführen.
Ausführungsphase: Der Agent kann nur genehmigte Befehle innerhalb einer engen Positivliste mit Timeouts und Ressourcenlimits ausführen.
Wenn der vorgeschlagene Befehl aus einer README, einem Issue-Kommentar, einem Abhängigkeitsskript oder einem externen Dokument stammt, sollte die Genehmigungsoberfläche diese Quelle anzeigen.
Beschreibe deine Idee einmal, und We0 AI erstellt eine Showcase-Website, Seiten und ein CMS und hilft nach dem Launch bei Kunden und Traffic.
Eine komplette Projektgeneration zur kostenlosen Registrierung
Am besten geeignet, um einen vollständigen Generierungsablauf auszuprobieren und schnell einen ersten Projektentwurf zu sehen.
klar. Ein vom Repository vorgeschlagener Befehl ist nicht dasselbe wie ein vom Benutzer explizit angeforderter Befehl.
KI-Agenten sind nützlich für Erklärungen und die Ersteinschätzung, aber deterministische Werkzeuge sollten, wo möglich, zuerst ausgeführt werden.
Zum Beispiel:
Der Agent kann die Ergebnisse zusammenfassen und priorisieren. Er sollte die Basis-Scanner nicht ersetzen.
Für nicht vertrauenswürdige Repositorys ist die sicherste Vorgehensweise standardmäßig: erst prüfen, nicht ausführen.
Eine nützliche Regel ist einfach: Je weniger Sie der Eingabe vertrauen, desto weniger Befugnisse sollte der Agent erhalten.
Ein einzelner „Sicherer Modus“-Schalter ist nicht ausreichend. Echte Produkte benötigen Berechtigungen auf Fähigkeitsebene.
Ein besseres Berechtigungsmodell behandelt jede Fähigkeit separat:
| Fähigkeit | Empfohlener Standardwert | Warum es wichtig ist |
|---|---|---|
| Dateien lesen | Erlaubt im eingegrenzten Arbeitsbereich | Agenten benötigen Kontext, aber nicht die gesamte Maschine. |
| Patches schreiben | Erlaubt nach Prüfung des Plans | Code zu schreiben ist sicherer als Code auszuführen. |
| Tests ausführen | Nur auf Genehmigungsliste | Testbefehle können beliebige Skripte aufrufen. |
| Abhängigkeiten installieren | Genehmigung erforderlich | Paket-Lebenszyklusskripte sind eine große Risikoquelle. |
| Netzwerkzugriff | Standardmäßig verweigert für nicht vertrauenswürdige Arbeiten | Verhindert Datenabfluss und das Abrufen entfernter Payloads. |
| Zugriff auf Geheimnisse | Standardmäßig verweigert | Geheimnisse sollten für nicht vertrauenswürdige Aufgaben nicht sichtbar sein. |
| Pull-Requests erstellen | Genehmigung erforderlich | PRs können vertrauenswürdige Repositorys und CI-Systeme beeinflussen. |
| Bereitstellen | Manuelle Genehmigung erforderlich | Die Bereitstellung ist eine produktionswirksame Aktion. |
Genehmigungsbildschirme sollten nicht nur den Befehl anzeigen, sondern auch seine Herkunft. Ein Befehl aus Benutzerabsicht, Modellschlussfolgerung, README-Anweisungen, CI-Konfiguration und externen Issue-Kommentaren sollte unterschiedlich gekennzeichnet werden.
NxCode-Benutzer möchten oft, dass Agenten echte Entwicklungsarbeit erledigen: Code lesen, Dateien aktualisieren, Prüfungen durchführen, Bereitstellungsartefakte generieren und Dokumentation erstellen. Diese Fähigkeiten sind wertvoll, aber nur, wenn die Berechtigungsgrenzen klar sind.
Ein praktischer Ansatz besteht darin, Aufgaben in drei Gruppen zu unterteilen:
„Friendly Fire“ bezeichnet ein Risikomuster, bei dem ein KI-Agent, der für defensive Aufgaben eingesetzt wird, durch nicht vertrauenswürdige Codebasisinhalte beeinflusst wird. Der Agent kann dabei ein Drittanbieter-Repository lesen und Anweisungen in Dokumentationen oder Skripten fälschlicherweise als sichere betriebliche Anweisungen behandeln.
„Rogue Agent“ ist ein bekannter Sicherheitsvorfall bei Dialogflow CX, bei dem es zur Codeausführung innerhalb von Agent-Workflows kam. Die grundlegende Lehre daraus ist, dass KI-Chatbots mit Codeausführungs-, Sitzungszugriffs- und Cloud-Laufzeitberechtigungen wie Produktionssoftware und nicht wie reine Konversationsskripte behandelt werden müssen.
KI-Codierungsagenten lesen häufig nicht vertrauenswürdige Dateien und nutzen dann Werkzeuge basierend auf dem Gelernten. Enthält ein Repository, ein Issue oder ein Dokument versteckte Anweisungen, kann der Agent nicht vertrauenswürdige Inhalte mit vertrauenswürdigen Benutzerabsichten verwechseln.
Sandboxing ist wichtig, sollte aber nicht die einzige Verteidigungslinie sein. Eine sichere Konfiguration erfordert zusätzlich Berechtigungsgrenzen, Netzwerkbeschränkungen, Isolation von Geheimnissen, deterministisches Scannen, Befehlsherkunftsnachweise und Prüfprotokolle.
Nicht automatisch. README-Befehle können nützliche Dokumentation sein, stammen jedoch aus dem zu prüfenden Repository. Bei nicht vertrauenswürdigen Projekten sollte der Agent die Befehlsquelle und das Risiko erläutern, bevor eine Ausführung genehmigt wird.
Verwenden Sie eine Einweg-Umgebung, vermeiden Sie das Einhängen von Geheimnissen, schränken Sie den Netzwerkzugriff ein, führen Sie zuerst statische Prüfungen durch und übernehmen Sie nur geprüfte Patches oder Berichte. Behandeln Sie Sandbox-Zustände oder generierte Artefakte nicht standardmäßig als vertrauenswürdig.
Welche Berechtigungen sollten KI-Codierungsprodukte freigeben?
Produkte sollten granulare Steuerungsmöglichkeiten für folgende Bereiche bieten: Lesen von Dateien, Schreiben von Patches, Ausführen von Tests, Installieren von Abhängigkeiten, Nutzung des Netzwerks, Zugriff auf Geheimnisse, Erstellen von Pull Requests und Bereitstellen. Jede Fähigkeit sollte über eigene Bereiche, Budgets, Protokolle und Genehmigungsregeln verfügen.
Friendly Fire und Rogue Agent zeigen, dass die Sicherheit von KI-Agenten nicht nur ein Problem der Modellausrichtung ist. Die praktische Grenze ist die Laufzeitumgebung: Dateien, Befehle, Netzwerkzugriff, Geheimnisse, Ausführungsumgebungen und Auditierbarkeit.
Teams, die KI-Codierungsagenten verwenden, sollten nicht vertrauenswürdige Repositories und externen Kontext als nicht vertrauenswürdige Eingabe behandeln, selbst wenn die Aufgabe defensiv ist. Der Agent kann bei der Inspektion und Erklärung helfen, aber die Ausführung sollte durch Sandboxing, Richtlinien, Scanner und explizite Genehmigungen kontrolliert werden.
Das sicherste Muster ist einfach: Lasst Agenten breit denken, aber gewährt operative Autorität nur eingeschränkt.
Starte mit einem Satz und erhalte in wenigen Minuten eine vollständige Website.