Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
apm — Ein lokaler Passwort-Manager für alle | Kitploit
Tools/GitHubGitHub/aaravmaloo/apm
Passwort-CrackingVerschlüsselungs-/EntschlüsselungstoolsKryptographieCloud-SicherheitDevSecOpsPrivatsphäreDienstprogramme & FrameworksSecret-ErkennungIdentitäts- & Zugriffsmanagement (IAM)Authentifizierung
GitHub
29237vor 11 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
aaravmaloo/apm

apm

Ein lokaler Passwort-Manager für alle

Repository anzeigenWebseite
<div align="center">

# APM

**Ein besserer lokaler Passwortmanager für alle.**

[![Go](https://img.shields.io/badge/Go-1.22+-00ADD8?style=flat&logo=go&logoColor=white)](https://golang.org)
[![License](https://img.shields.io/github/license/aaravmaloo/apm?style=flat)](LICENSE)
[![Docs](https://img.shields.io/badge/docs-aaravmaloo.github.io/apm-blue?style=flat)](https://aaravmaloo.github.io/apm)

[![CI](https://img.shields.io/github/actions/workflow/status/aaravmaloo/apm/ci.yml?branch=master&label=CI&style=flat)](https://github.com/aaravmaloo/apm/actions/workflows/ci.yml)
[![Latest Release](https://img.shields.io/github/v/release/aaravmaloo/apm?style=flat)](https://github.com/aaravmaloo/apm/releases/latest)
[![Stars](https://img.shields.io/github/stars/aaravmaloo/apm?style=flat)](https://github.com/aaravmaloo/apm/stargazers)
[![Issues](https://img.shields.io/github/issues/aaravmaloo/apm?style=flat)](https://github.com/aaravmaloo/apm/issues)

</div>
APM ist ein schneller Zero-Knowledge-CLI-Passwortmanager, geschrieben in Go und Rust. Er speichert **über 25 strukturierte Geheimnistypen** in einem einzigen verschlüsselten Tresor – von Passwörtern und TOTP-Codes bis hin zu SSH-Schlüsseln, medizinischen Unterlagen, Fotos und Binärdateien. Aus diesem Repository stammen zwei Binärdateien: `pm` für den persönlichen Gebrauch und `pm-team` für gemeinsame organisatorische Tresore.

---

### Warum APM?

- **Schnell & leicht zu erlernen** – keine Befehle oder Flags zum Auswendiglernen. APM fragt Sie nach allem, was es benötigt. Für Power-User, die maximale Geschwindigkeit wollen, sind auch CLI-Flags verfügbar.
- **Zero-Knowledge** – Ihr Master-Passwort wird niemals gespeichert. Drei separate 32-Byte-Schlüssel werden mit Argon2id abgeleitet. Niemand außer Ihnen kann Ihren Tresor entschlüsseln.
- **Doppelte Verschlüsselung** – wählen Sie zwischen AES-256-GCM oder XChaCha20-Poly1305. Integrität auf zwei Ebenen durch HMAC-SHA256 zusätzlich zur AEAD-Authentifizierung.
- **Portabel** – eine Tresordatei, eine Binärdatei. Nehmen Sie Ihren Tresor überallhin mit.
- **Optionale Cloud** – Synchronisierung mit Google Drive, GitHub oder Dropbox. Vollständig optional; für die Nutzung von APM ist kein Konto erforderlich.
- **KI-bereit** – nativer MCP-Server mit eingeschränkten Tokens, damit Claude, Cursor oder jeder MCP-kompatible Agent sicher auf Ihren Tresor zugreifen kann.
- **Team-bereit** – vollständige RBAC, Abteilungen, Genehmigungsworkflows und gemeinsame Tresore in `pm-team`.

---

### Schnellstart

```sh
go build -o pm .
pm setup       # initialize vault and choose security profile
pm unlock      # start a session
pm add         # add a secret (interactive)
pm get github  # fuzzy search and retrieve
pm lock        # end session
```

**Team-Edition:**
```sh
cd team
go build -o pm-team .
```

---

### Geheimnistypen

APM unterstützt **25 strukturierte Geheimnistypen** mit validierten Feldern und typspezifischer Anzeigelogik:

| # | Typ | # | Typ |
|---|------|---|------|
| 1 | Passwort | 14 | Docker-Registry |
| 2 | TOTP | 15 | CI/CD-Secret |
| 3 | Ausweis | 16 | Sichere Notiz |
| 4 | Krankenakte | 17 | Wiederherstellungscodes |
| 5 | Reiseinformationen | 18 | Zertifikat |
| 6 | Kontakt | 19 | Bankwesen |
| 7 | WLAN | 20 | Dokument |
| 8 | API-Schlüssel | 21 | Softwarelizenz |
| 9 | Token | 22 | Rechtsvertrag |
| 10 | SSH-Schlüssel | 23 | Foto |
| 11 | SSH-Konfiguration | 24 | Audio |
| 12 | Cloud-Anmeldedaten | 25 | Video |
| 13 | Kubernetes | | |

---

### Funktionen

**Sicherheit**
- Zero-Knowledge-Schlüsselableitung mit Argon2id — das Master-Passwort wird niemals gespeichert
- Zwei AEAD-Verschlüsselungsverfahren: AES-256-GCM und XChaCha20-Poly1305
- Integritätsprüfung mit zweifacher HMAC-SHA256-Schicht
- Vier anpassbare Sicherheitsprofile: `standard`, `hardened`, `paranoid`, `legacy`
- Watchtower (`pm watchtower`): ein Sicherheitswert von 0–100 mit schwachen, wiederverwendeten, alten, kompromittierten (Opt-in, k-anonym) und offengelegten Passwörtern, ablaufenden Einträgen, fehlender Zwei-Faktor-Authentifizierung und fehlenden Passkeys, riskanten Schlüsseln und Einrichtungsprüfungen sowie Vertrauenswerten pro Eintrag und einer Aktivitätsüberprüfung
- Falsche Passwörter führen zu einer wachsenden Wartezeit (niemals zu einer dauerhaften Sperre), gemeinsam genutzt von CLI, App und Erweiterung
- Manipulationssicheres Audit-Log, das außerhalb des Tresors gespeichert wird

**Tresor**
- Einzelne verschlüsselte Tresordatei — portabel auf jedem Gerät
- Spaces für logische Unterteilung (wie Ordner)
- Unscharfe Suche mit interaktivem Browser und Tastaturnavigation
- Metadaten-Inspektor: Erstellungsdatum, letzter Zugriff, Zugriffszähler, Vertrauenswert

**TOTP**
- Live-Countdown-Timer in einer interaktiven Liste
- Dauerhafte benutzerdefinierte Reihenfolge
- Direktes Kopieren: `pm totp github`
- Autofill-Daemon-Integration zum automatischen Einfügen von 2FA-Codes

**Cloud-Synchronisierung**
- Google Drive (OAuth2 PKCE), GitHub (PAT), Dropbox (OAuth2 PKCE)
- Ende-zu-Ende-verschlüsselt — Anbieter sehen niemals Klartext
- `.apmignore` zum Filtern von Einträgen pro Anbieter
- Konfliktlösung: überschreiben, lokal behalten oder abbrechen
- Automatische Synchronisierung im Hintergrund

**Sitzungen**
- Explizites Entsperren/Sperren mit konfigurierbarem Ablauf und Inaktivitäts-Timeout
- Delegierte ephemere Sitzungen für Automatisierung und KI-Agenten-Zugriff

**MCP-Server**
- Nativer Model Context Protocol-Server
- Bereichsbezogene Berechtigungstoken: `read`, `secrets`, `write`, `admin`
- Schreibvorgänge warten in der Desktop-App auf Ihre Genehmigung; Assistenten können ihre eigenen Änderungen nicht genehmigen
- Funktioniert mit Claude Desktop, Cursor, Windsurf und jedem MCP-Client



**Wiederherstellung**
| Faktor | Befehl |
|--------|---------|
| E-Mail-OTP | `pm auth email` |
| Wiederherstellungsschlüssel | `pm auth recover` |
| Quorum-Anteile (Shamir) | `pm auth quorum-setup` |
| WebAuthn-Passkey | `pm auth passkey register` |
| Einmalige Wiederherstellungscodes | `pm auth codes generate` |

**Import / Export**

| Format | Import | Export |
|--------|--------|--------|
| JSON | `pm import json` | `pm export json` |
| CSV | `pm import csv` | `pm export csv` |
| TXT | `pm import txt` | `pm export txt` |

**Policy-Engine**
```yaml
name: corporate-standard
password_policy:
  min_length: 14
  require_uppercase: true
  require_numbers: true
  require_symbols: true
rotation_policy:
  rotate_every_days: 90
  notify_before_days: 14
```
```sh
pm policy load ./policies/
```

**Team Edition (`pm-team`)**
- RBAC mit mehreren Rollen
- Abteilungen mit isolierten Verschlüsselungsdomänen
- Genehmigungsworkflows für sensible Einträge
- Gemeinsame Tresore für die gemeinsame Nutzung von Anmeldedaten durch mehrere Benutzer

---

### Browser-Erweiterung

Die APM-Browser-Erweiterung füllt Anmeldedaten aus, bietet Einmalcodes auf den Websites an, zu denen sie gehören, speichert neue Anmeldedaten und erstellt und verwendet Passkeys. Sie sieht niemals Ihr Master-Passwort oder den privaten Schlüssel eines Passkeys. Sie kommuniziert mit einer kleinen Bridge, die APM auf Ihrem eigenen Rechner unter `127.0.0.1:41417` bereitstellt (setzen Sie `APM_BRIDGE_PORT`, um einen anderen Port zu verwenden).

**Drei Wege zum Tresor**

- Mit der Desktop-App: Die Bridge läuft, solange die App geöffnet ist. Kopplungsanfragen und Browser-Entsperrungen erscheinen in der App.
- Nur mit der CLI, verknüpft (empfohlen): Führen Sie einmal `pm extension link` aus. Dadurch wird `pm` bei jedem Chromium-Browser (Chrome, Edge, Brave, Arc, Vivaldi, Chromium) als Native-Messaging-Host registriert, und von da an startet der Browser `pm` selbstständig, wann immer die App geschlossen ist.
- Nur mit der CLI, aus einem Terminal: Führen Sie `pm extension serve` aus und lassen Sie es geöffnet. Es stellt dieselbe API bereit wie die Desktop-App und zeigt jede Entsperr-, Sperr- und Kopplungsanfrage an, sobald sie eintritt.

```sh
pm extension link               # once per computer; confirm the code the extension shows
pm extension serve              # unlocks with your CLI session, or asks for the master password
pm extension serve --locked     # starts locked; unlock from the extension
pm extension serve --idle 5m    # locks after 5 minutes without browser activity (default 15m, 0 turns it off)
```

`pm extension serve` gibt eine Zeile aus, wenn der Vault entsperrt oder gesperrt ist. Drücken Sie Ctrl+C, um es zu beenden; der Vault-Schlüssel wird aus dem Speicher entfernt. Wenn der Port belegt ist, wird es beendet und teilt Ihnen mit, dass die APM-App die Extension möglicherweise bereits bereitstellt.

**Einen Browser koppeln**

1. Wählen Sie in der Extension Connect. Die Extension zeigt einen 6-stelligen Code an, zum Beispiel `K7M-2QX`.
2. Prüfen Sie, ob APM denselben Code anzeigt: Die Desktop-App öffnet einen Dialog, und `pm extension link` oder `pm extension serve` fragt im Terminal nach, zum Beispiel `Connect Chrome on macOS? Code K7M-2QX [y/N]`.
3. Bestätigen Sie es. Die Extension erhält ihr Token und ist gekoppelt.

Eine Anfrage läuft nach 2 Minuten ab, und es kann immer nur eine gleichzeitig warten. `pm extension serve` lehnt Anfragen von sich aus ab, wenn es nicht in einem Terminal läuft. Um stattdessen manuell zu koppeln, führen Sie `pm extension token --show` aus und fügen Sie das Token in das manuelle Kopplungsfeld der Extension ein.

**Befehle**

| Befehl | Was er bewirkt |
|---------|--------------|
| `pm extension link [--browser chrome,edge] [--no-wait]` | Dem Browser erlauben, `pm` für die Extension zu starten, wenn die Desktop-App geschlossen ist |
| `pm extension unlink` | Browser daran hindern, `pm` zu starten. Die Kopplung bleibt erhalten |
| `pm extension status [--port N]` | Anzeigen, welche Browser verknüpft sind, was die Extension gerade bereitstellt, den Sperrzustand und die Anzahl der Einträge des Vaults sowie den Token-Fingerabdruck |
| `pm extension serve [--port N] [--locked] [--idle 15m]` | Die Extension von diesem Terminal aus bereitstellen, bis Ctrl+C gedrückt wird |
| `pm extension token [--show]` | Das Kopplungs-Token ausgeben, maskiert, sofern nicht `--show` angegeben ist |
| `pm extension rotate` | Das Kopplungs-Token ersetzen. Jeder gekoppelte Browser muss erneut koppeln. Eine laufende Bridge übernimmt das neue Token bei ihrer nächsten Anfrage |
| `pm totp link <entry> <domain>` | Einen Einmalcode mit einer Website verknüpfen, damit die Extension ihn dort anbietet |
| `pm totp unlink <entry> [domain]` | Die Website-Verknüpfungen eines Einmalcodes entfernen |

`pm get` zeigt die Passkeys, die ein Login hat, und den damit verknüpften Einmalcode, und `pm totp` zeigt die verknüpfte Website jedes Codes.

**Wie die Bridge privat bleibt**

- Sie lauscht nur auf `127.0.0.1` und beantwortet nur Anfragen, die an `127.0.0.1` oder `localhost` adressiert sind, was DNS-Rebinding blockiert.
- Sie lehnt jede Anfrage ab, deren `Origin` eine Webseite ist. Nur Origins von `chrome-extension://`, `moz-extension://` und `safari-web-extension://` erhalten CORS-Header.
- Jeder Aufruf außer der Kopplung benötigt das Kopplungs-Token, das in `bridge_token` im Konfigurationsverzeichnis von APM gespeichert und in konstanter Zeit verglichen wird.
- Listen- und Detailaufrufe enthalten niemals geheime Werte. Die Extension fragt jeweils ein Feld auf einmal an, wenn Sie etwas anzeigen oder ausfüllen, und APM zeichnet diesen Zugriff auf.
- Passkeys werden innerhalb von APM erstellt und signiert. Die Extension sendet den Origin der Website und einen Hash der Client-Daten, und APM prüft, ob die Website diese Relying Party verwenden darf, bevor es signiert.

**Mehrere Websites pro Login**

Ein Login behält seine Hauptadresse in `website` und alle weiteren in `urls`, die in der Desktop-App als „Other websites" angezeigt werden. Die Extension bietet den Login auf einer Seite an, die mit einer von ihnen übereinstimmt. Standardmäßig ist eine Übereinstimmung dieselbe registrierbare Domain, sodass `accounts.google.com` und `mail.google.com` beide mit `google.com` übereinstimmen.

- Über das Popup können Sie die Website, auf der Sie sich befinden, einem Login hinzufügen, Websites hinzufügen oder entfernen und einen neuen Login mit mehr als einer Website speichern.
- Wenn Sie einen Login auf einer Website ausfüllen, für die er nicht gespeichert ist, fragt die Extension zuerst nach. Wählen Sie „Fill and remember", um ihn auszufüllen und diese Website zum Login hinzuzufügen.
- `pm totp link <entry> <domain>` macht dasselbe für einen Einmalcode.

**Website-Logos**

Die Desktop-App und die Extension zeigen das eigene Logo jedes Logins statt seines ersten Buchstabens. APM ruft das Logo selbst ab, von der Website selbst, und fragt niemals einen Favicon-Dienst eines Drittanbieters an, der sonst jede Website in Ihrem Vault erfahren würde.

- Was: der Host der ersten Website des Logins (ein Einmalcode verwendet die verknüpfte Website), kleingeschrieben und ohne `www.` oder einen Port. `localhost`, IP-Adressen, `.local`, `.internal` und Namen ohne Punkt werden nie abgerufen.
- Wie: APM lädt `https://<host>/` (höchstens 512 KiB), wählt das beste Icon, das die Seite deklariert (`apple-touch-icon`, dann das größte PNG, dann SVG), und greift auf `https://<host>/favicon.ico` zurück. Nur HTTPS, höchstens 3 Weiterleitungen, 6 Sekunden pro Website, Bilder bis 256 KiB, keine Cookies. Adressen, die sich in Loopback-, private, Link-Local- oder CGNAT-Bereiche auflösen, werden abgelehnt. Anfragen gehen direkt an die Website, nicht über einen System-Proxy.
- Wann: nur solange der Tresor entsperrt ist und die Desktop-App oder `pm extension serve` läuft, höchstens 4 Websites gleichzeitig. Eine fehlgeschlagene Website wird nach 3 Tagen erneut versucht; ein Logo wird nach 30 Tagen aktualisiert.
- Wo: `icons/` in deinem APM-Konfigurationsverzeichnis (`~/Library/Application Support/apm/icons` unter macOS, `~/.config/apm/icons` unter Linux, `%AppData%\apm\icons` unter Windows). Jede Datei ist nach dem SHA-256 ihres Hosts benannt, und es werden höchstens 2000 aufbewahrt. Der Cache ist nicht verschlüsselt: Jede `.json`-Datei neben einem Bild nennt ihren Host, sodass jeder, der dein Konfigurationsverzeichnis lesen kann, sehen kann, welche Websites Logos haben.
- Was die Website erfährt: deine IP-Adresse und dass APM nach ihrem Icon gefragt hat (der User-Agent ist `APM/<version> (+icon)`). Nichts über dein Konto.
- Ausschalten: In der Desktop-App unter Einstellungen, Darstellung, schalte „Website-Icons anzeigen“ aus (die Tresor-Einstellung `siteIcons`, die auch `pm extension serve` berücksichtigt), und wähle „Icon-Cache leeren“, um den Cache zu löschen. Setze `APM_ICONS_OFFLINE=1`, um jeden Abruf aus einem Prozess zu unterbinden, zum Beispiel in Tests oder CI. Zwischengespeicherte Logos werden weiterhin angezeigt, bis du sie löschst.

---

### Sicherheitsprofile

| Profil | Argon2-Speicher | Iterationen | Parallelität | Anwendungsfall |
|---------|--------------|------------|-------------|----------|
| `standard` | 64 MB | 3 | 2 | Die meisten Rechner |
| `hardened` | 256 MB | 5 | 4 | Workstations (≥8 GB RAM) |
| `paranoid` | 512 MB | 6 | 4 | Server (≥16 GB RAM) |
| `legacy` | PBKDF2 | 600.000 | 1 | Abwärtskompatibilität |

APM erkennt deine CPU-Kerne und deinen RAM automatisch, um während `pm setup` das optimale Profil zu empfehlen.


### Entwicklungsstatus und -historie
(Diese Notiz stammt vom Eigentümer)
Stand 30. März 2026 arbeite ich derzeit an der GUI für APM. Anfangs begann es als CLI-Anwendung. Issue #38 erklärt alles im Detail. Insgesamt möchte ich, dass APM eine
noch größere Zielgruppe erreicht. Ich werde die GUI getrennt in einem apm-gui-Repo behalten oder eine Organisation erstellen und beide Repos dorthin verschieben.

Ich begann APM als ein wahrhaft persönliches Projekt. Es begann an einem beliebigen Abend, als ich meinen eigenen Passwortmanager erstellen wollte. Ich hatte Zoho Password satt, da ich es für TOTPs verwendete. Es war unglaublich langsam, bis es überhaupt funktionierte, und ich verwendete Klartextdateien für meine Token, was nicht sicher ist.

Derzeit plane ich NICHT, das Projekt aufzugeben/einzustellen. Es wird noch lange funktionsfähig bleiben. Ich versuche, es jeden Tag besser zu machen, und nutze es jeden Tag. Manchmal kann das Repo inaktiv sein, und dann teste und experimentiere ich mit der Anwendung.

---

### Release-Struktur

| Stufe | Stabil? | Tresor sicher? | Zweck |
|------|---------|-------------|---------|
| Canary | ❌ | ❌ | Früheste Feature-Vorschau — kann Tresore beschädigen |
| Alpha | ❌ | ✅ | Instabile Features, Tresorintegrität bleibt erhalten |
| Beta | ✅ | ✅ | Vollständig getestete Features, sorgfältige Einführung |
| Stable | ✅ | ✅ | Produktionsreife Releases |

> Sichere deinen Tresor immer, bevor du Canary-Releases ausprobierst.
P.S. Bei manchen Releases werden bestimmte Stufen möglicherweise nicht veröffentlicht, je nachdem, wie schnell und einfach sie sich ausliefern lassen, ohne mehr Stufen als nötig zu schaffen.
---

# KI-Nutzung
Die Entwicklung von APM und die Pflege der gesamten Suite ist nicht einfach auf einmal zu bewältigen. Daher verwenden wir **25 %** KI-generierten Code (hauptsächlich UI-Änderungen sowie nicht-kritische und nicht-kryptografische Änderungen). Bei APM haben wir jedoch einige Richtlinien für die Nutzung von KI; diese sind unten aufgeführt.
- KI wird nur zur Entwicklung kleiner Funktionen und von Funktionen eingesetzt, die den Vault nicht beeinträchtigen
- KI-Änderungen müssen mit Sorgfalt behandelt und sorgfältig überprüft werden
- KI-Änderungen müssen gründlich getestet werden
Diese Richtlinien stellen sicher, dass wir KI verantwortungsvoll einsetzen und APM für alle besser machen!


### Dokumentation

Vollständige Dokumentation unter **[aaravmaloo.github.io/apm](https://aaravmaloo.github.io/apm)**

- [Installation](https://aaravmaloo.github.io/apm/getting-started/installation/)
- [Erste Schritte](https://aaravmaloo.github.io/apm/getting-started/first-steps/)
- [CLI-Referenz](https://aaravmaloo.github.io/apm/reference/cli/)
- [Architektur](https://aaravmaloo.github.io/apm/concepts/architecture/)
- [Verschlüsselung](https://aaravmaloo.github.io/apm/concepts/encryption/)
- [Team Edition](https://aaravmaloo.github.io/apm/guides/team-edition/)
- [MCP-Integration](https://aaravmaloo.github.io/apm/guides/mcp-integration/)
- [Mitwirken](https://aaravmaloo.github.io/apm/contributing/)

---

### Mitwirken

Beiträge sind willkommen. Richtlinien findest du in [CONTRIBUTING.md](https://aaravmaloo.github.io/apm/contributing/).

---

### Lizenz

[GPL-3.0 License](https://github.com/aaravmaloo/apm/blob/master/LICENSE) © Aarav Maloo
Tool herunterladen