Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/vishnunandan555/cordon
Allgemeine DienstprogrammeContainer-SicherheitDynamische Analyse (Sandboxing)Scripting & AutomatisierungKonfigurationsprüfungSicherheitsvirtualisierungNetzwerksicherheitDevSecOpsLieferkettensicherheitArchived
GitHubvishnunandan555/cordon

Cordon

27vor 4 MonatenNoch nicht geprüft

Führe jeden Befehl innerhalb einer eingeschränkten Dateisystemansicht unter Linux aus.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Cordon

⚠️ PROJEKT EINGESTELLT

Die Entwicklung an diesem Projekt wurde eingestellt, da jemand anderes an der gleichen Idee arbeitete und eine bessere Lösung gebaut hat.
Wir empfehlen dringend: Fence von Use-Tusk.

Hinweis: Dieses Repository wurde ursprünglich für den FOSS HACK 2026 erstellt, leider konnten wir es nicht rechtzeitig fertigstellen.
Wir haben jedoch ein ähnliches Projekt für den Hackathena '26 gebaut, das den 3. Preis gewonnen hat!
Wenn Sie interessiert sind, finden Sie das Repository hier: A56-A5/lion.

Cordon führt jeden Befehl in einer eingeschränkten Dateisystemansicht unter Linux aus. Es nutzt Linux-Namespaces (über bubblewrap), um alles zu verstecken, was Ihr Prozess nicht benötigt – Ihr Home-Verzeichnis, SSH-Schlüssel, AWS-Anmeldedaten, alles – während der Befehl trotzdem seine Aufgabe erfüllen kann.

root@kitploit:~
cordon run --net=allow -- npm install
cordon run -- bash setup.sh
cordon run --profile python -- pip install -r requirements.txt

Kein Root. Keine Container. Keine Daemons im Hintergrund.


Warum?

Wenn Sie npm install oder pip install ausführen, wird dieser Code mit Ihren vollen Benutzerberechtigungen ausgeführt. Er kann ~/.ssh/id_rsa lesen, an einen Server exfiltrieren, Dateien ändern, die Ihnen gehören – alles, während es so aussieht, als würde nur ein Paket installiert.

Das ist keine Paranoia. Es ist bereits passiert:

AngriffWas er tat
LiteLLM (2024)Bösartiges PyPI-Paket las SSH-Schlüssel und Umgebungsvariablen bei pip install
xz-utils (2024)Build-Zeit-Hintertür, die während des make-Schritts bei der Installation eingeschleust wurde
event-stream (npm, 2018)Kompromittiertes npm-Paket stahl still Bitcoin-Wallets
SolarWindsSupply-Chain-Angriff über die Build-/Update-Pipeline

Cordons Antwort: Lass den Prozess nicht sehen, was er nicht sehen sollte, selbst wenn der Code bösartig ist.


Wie es funktioniert

Jeder cordon run erstellt eine frische isolierte Umgebung:

  • /usr, /bin, /lib werden schreibgeschützt eingehängt – Dinge können ausgeführt werden, ohne das System zu zerstören
  • Ihr Projektverzeichnis ist beschreibbar – npm install erstellt node_modules/, Builds funktionieren
  • src/ ist schreibgeschützt, falls vorhanden – Quelldateien können nicht stillschweigend überschrieben werden
  • ~/.ssh, ~/.aws, HOME – standardmäßig gar nicht eingehängt
  • Netzwerk ist standardmäßig aus, oder durch einen eingebauten Domain-Allowlist-Proxy mit --net=allow gefiltert

Wenn der Prozess beendet wird, ist die Sandbox weg. Nichts bleibt bestehen.

Der Proxy

Der --net=allow-Modus startet einen eingebauten Rust-HTTP/HTTPS-Proxy auf einem zufälligen localhost-Port und injiziert ihn über Umgebungsvariablen (HTTP_PROXY, https_proxy, npm_config_proxy usw.) in die Sandbox. Er fängt CONNECT-Tunnel ab und prüft jede Domain gegen eine Allowlist, bevor er sie weiterleitet.

Die Standard-Allowlist umfasst registry.npmjs.org, pypi.org, crates.io, github.com. Alles, was nicht auf der Liste steht, erhält einen 403 – selbst wenn das Postinstall-Skript des Pakets versucht, nach Hause zu telefonieren.

root@kitploit:~
# Erreicht nur npmjs.org und seine CDNs – nichts anderes
cordon run --net=allow -- npm install

# Domain für ein privates Registry hinzufügen
cordon run --net=allow --domain my.internal.registry -- npm install

Seccomp

Optional einen Syscall-Filter hinzufügen:

root@kitploit:~
# Blockiert ptrace, kexec_load, mount, perf_event_open, process_vm_*
cordon run --seccomp basic --net=allow -- npm install

# Strenge Allowlist – nur bekannte sichere Syscalls
cordon run --seccomp strict -- python3 untrusted.py

Dies ist eine zweite Verteidigungslinie. Selbst wenn etwas aus der Dateisystem-Einschränkung ausbricht, kann es immer noch nicht ptrace aufrufen, um sich an einen anderen Prozess anzuhängen, oder perf_event_open für Seitenkanalarbeiten.


Installation

root@kitploit:~
git clone https://github.com/LORDv1shnu/Cordon
cd Cordon
bash install.sh        # baut Release-Binary → ~/.local/bin/cordon

Oder manuell:

root@kitploit:~
cargo build --release
cp target/release/cordon ~/.local/bin/

Sie benötigen installiertes bubblewrap:

root@kitploit:~
sudo apt install bubblewrap    # Ubuntu/Debian
sudo dnf install bubblewrap    # Fedora
sudo pacman -S bubblewrap      # Arch

Erster Start nach der Installation:

root@kitploit:~
cordon scan    # scannt Ihr System einmal, dauert ~30s, schreibt ~/.config/cordon/system.toml
cordon check   # Gesundheitscheck – stellt sicher, dass alles bereit ist

Verwendung

root@kitploit:~
# Die Grundlagen
cordon run -- echo "hello"
cordon run --net=allow -- npm install
cordon run --net=allow -- pip install -r requirements.txt
cordon run --net=full -- curl https://example.com   # uneingeschränkt (kein Filter)

# Seccomp
cordon run --seccomp basic --net=allow -- npm install

# GUI-Apps
cordon run --gui -- code .
cordon run --gui --optional audio_pipewire --optional dbus_session -- discord

# Integrierte Profile (vorkonfiguriert für gängige Laufzeitumgebungen)
cordon run --profile node -- npm install
cordon run --profile python -- python3 script.py
cordon run --profile rust -- cargo build

# Debuggen, was blockiert wird
cordon run --trace -- node server.js              # strace-Wrapper, meldet verweigerte Pfade
cordon add --from-trace ~/.config/cordon/logs/last-trace.log  # Batch-Hinzufügen fehlender Pfade

# Ressourcenlimits (benötigt systemd)
cordon run --mem 512M --cpu 2.0 --timeout 60 -- npm install

# Dry Run / Ausführlich
cordon run --dry-run -- npm install               # gibt den bwrap-Befehl aus, führt ihn nicht aus
cordon run --verbose -- npm install               # gibt jedes bwrap-Argument während der Ausführung aus

Projekteinrichtung (cordon.toml)

root@kitploit:~
cordon init                            # erkennt automatisch Cargo.toml / package.json / pyproject.toml
cordon set --net=allow                 # speichert Flags dauerhaft, sodass Sie sie nicht jedes Mal eingeben müssen
cordon add /path/to/assets --mode ro   # gibt zusätzliche Pfade in die Sandbox frei
cordon edit                            # öffnet cordon.toml in $EDITOR

Überprüfen & Debuggen

root@kitploit:~
cordon check               # Gesundheitscheck: bwrap, Namespaces, AppArmor, Module
cordon doctor              # tiefergehend: Kernelversion, Distro-Besonderheiten, genaue Lösungsvorschläge
cordon status              # zeigt, was gerade in system.toml steht
cordon list                # zeigt alle Mounts, die beim nächsten Lauf aktiv wären
cordon log --errors        # zeigt die letzten Logs des letzten Durchlaufs, nur Fehler
cordon syscalls --preset basic   # listet, was jedes Seccomp-Preset blockiert

Profile & Portabilität

root@kitploit:~
# Benannte Profile (gespeichert in ~/.config/cordon/profiles.toml)
cordon profile create ci-node --net=allow --optional ld_so_cache
cordon run --profile ci-node -- npm test

# Lockfile für reproduzierbare Umgebungen
cordon lock update          # SHA-256 aller Mount-Pfade → cordon.lock
cordon lock verify          # prüft, ob nichts abgewichen ist

# Sandbox-Konfiguration mit dem Team teilen
cordon export > sandbox.json
cordon import sandbox.json

Shell-Integration

root@kitploit:~
# Tab-Vervollständigung
cordon completions zsh > ~/.zfunc/_cordon

# Transparente Wrapper – "npm" immer in der Sandbox ausführen
cordon wrap npm
cordon wrap pip
npm install                # führt tatsächlich aus: cordon run -- npm install "$@"
cordon unwrap npm

# Man-Page
cordon man | man -l -

Konfigurationsebenen

Es gibt vier Konfigurationsdateien, die in der folgenden Reihenfolge angewendet werden:

EbeneWoWer schreibt sie?
core.tomlin die Binary kompiliertzur Laufzeit nicht bearbeitbar (manipulationssicher)
system.toml~/.config/cordon/cordon scan
profiles.toml~/.config/cordon/cordon profile create
cordon.tomlProjektverzeichniscordon init / cordon set / cordon add

CLI-Flags gewinnen immer. cordon.toml schlägt ein benanntes Profil. Die eingebaute core.toml der Binary kann zur Laufzeit nicht berührt werden.


Exit-Codes

CodeBedeutung
0Erfolg
1Interner Fehler von Cordon
2Ungültige CLI-Verwendung
125Sandbox-Einrichtung fehlgeschlagen (bwrap fehlt o.ä.)
126Befehl gefunden, aber innerhalb der Sandbox nicht ausführbar
127Befehl innerhalb der Sandbox nicht gefunden
NVom sandboxierten Prozess weitergeleitet

Gleiche Konvention wie bwrap und die Shell.


Einschränkungen

Cordon ist kein Container, kein Antivirus und kein Ersatz für SELinux oder AppArmor. Es schränkt die Dateisystemsichtbarkeit und den Netzwerkzugriff ein – es versucht nicht, Malware zu erkennen. Wenn etwas einen Kernel-Exploit hat, wird es ausbrechen. Das Ziel ist, Supply-Chain-Angriffe deutlich zu erschweren, nicht unmöglich zu machen.

Außerdem: Derzeit nur Linux x86_64 und aarch64. bubblewrap ist erforderlich.


Technik

In Rust geschrieben. Verwendet bubblewrap für Namespacing, seccompiler für die BPF-Filter-Kompilierung, clap für CLI, tracing für strukturiertes Logging. Der Domain-Filtering-Proxy wurde von Grund auf in purem Rust geschrieben (kein externes Proxy-Tool).

→ COMMANDS.md – vollständige Flag-Referenz
→ SCANNER_LOGIC.md – wie der System-Scanner funktioniert
→ MODULE_INFO.md – jede Quelldatei erklärt


Erstellt mit KI-Unterstützung (Gemini). Architektur, Sicherheitsmodell und Designentscheidungen sind die Arbeit des Autors.

Tool herunterladen