{"record":{"id":"62ca1bbbaf184abc","repo":"moonD4rk/HackBrowserData","slug":"secret-service-w","errorCode":null,"errorMessage":"secret service: %w","messagePattern":"secret service: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"masterkey/retriever_linux.go","lineNumber":33,"sourceCode":"\tsalt:       []byte(\"saltysalt\"),\n\titerations: 1,\n\tkeySize:    16,\n\thashFunc:   sha1.New,\n}\n\n// DBusRetriever queries GNOME Keyring / KDE Wallet via D-Bus Secret Service.\ntype DBusRetriever struct{}\n\nfunc (r *DBusRetriever) RetrieveKey(hints Hints) ([]byte, error) {\n\tstorage := hints.KeychainLabel\n\tconn, err := dbus.SessionBus()\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"dbus session: %w\", err)\n\t}\n\n\tsvc, err := keyring.GetSecretService(conn)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"secret service: %w\", err)\n\t}\n\n\tsession, err := svc.OpenSession()\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"open session: %w\", err)\n\t}\n\tdefer session.Close()\n\n\tcollections, err := svc.GetAllCollections()\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"get collections: %w\", err)\n\t}\n\n\tfor _, col := range collections {\n\t\titems, err := col.GetAllItems()\n\t\tif err != nil {\n\t\t\tcontinue\n\t\t}","sourceCodeStart":15,"sourceCodeEnd":51,"githubUrl":"https://github.com/moonD4rk/HackBrowserData/blob/0503d04d7a8d0379d060268a74f1b149e5a0aad5/masterkey/retriever_linux.go#L15-L51","documentation":"A D-Bus session bus was connected, but acquiring the Secret Service interface (org.freedesktop.se, implemented by gnome-keyring-daemon or kwalletd5) failed. This means the bus is alive but no secret-service provider is reachable on it.","triggerScenarios":"dbus.SessionBus() succeeds but keyring.GetSecretService(conn) errors: gnome-keyring-daemon not running or crashed, KDE Wallet without the Secret Service plugin, or the service name not owned on the bus.","commonSituations":"Minimal desktop installs without gnome-keyring; KDE Wallet not configured as a Secret Service provider; keyring daemon hung after suspend; Wayland/GNOME sessions where the daemon failed at login.","solutions":["Check the provider is on the bus: busctl --user list | grep -i secret (or org.freedesktop.se)","Start/restart the daemon: gnome-keyring-daemon --start --components=secrets (or enable kwalletd Secret Service module in KDE Wallet settings)","On KDE, install/enable the Secret Service API addon (kwalletmanager / kde's secret service integration)","If the profile only has v10 cookies, skip the V11 tier — PosixRetriever's PBKDF2(\"peanuts\") key may already decrypt it"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":"out, _ := exec.Command(\"busctl\", \"--user\", \"list\").Output()\nif !strings.Contains(string(out), \"org.freedesktop.se\") {\n    // no Secret Service provider on the bus — skip DBusRetriever\n}","typeGuard":null,"tryCatchPattern":"key, err := dbusRetriever.RetrieveKey(hints)\nif err != nil && strings.HasPrefix(err.Error(), \"secret service:\") {\n    key, err = posixRetriever.RetrieveKey(hints) // v10 fallback\n}","preventionTips":["Install/enable gnome-keyring (or KDE Wallet's Secret Service module) on target hosts","Verify org.freedesktop.se is owned on the session bus before retrieval","Restart the keyring daemon if it stopped after login/suspend","Plan for keyring-less machines by relying on the v10 peanuts-derived key"],"tags":["linux","dbus","secret-service","gnome-keyring"],"backgroundTag":"missing-dependency","analyzedSha":"0503d04d7a8d0379d060268a74f1b149e5a0aad5","analyzedAt":"2026-09-06T13:38:28.707Z","contentChangedAt":"2026-09-06T13:38:28.707Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}