Coverage for sources/mimeogram/fsprotect/home.py: 100%
5 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-02-19 23:01 +0000
« prev ^ index » next coverage.py v7.6.12, created at 2025-02-19 23:01 +0000
1# vim: set filetype=python fileencoding=utf-8:
2# -*- coding: utf-8 -*-
4#============================================================================#
5# #
6# Licensed under the Apache License, Version 2.0 (the "License"); #
7# you may not use this file except in compliance with the License. #
8# You may obtain a copy of the License at #
9# #
10# http://www.apache.org/licenses/LICENSE-2.0 #
11# #
12# Unless required by applicable law or agreed to in writing, software #
13# distributed under the License is distributed on an "AS IS" BASIS, #
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
15# See the License for the specific language governing permissions and #
16# limitations under the License. #
17# #
18#============================================================================#
21''' Sensitive filesystem locations relative to user homes. '''
24from __future__ import annotations
26from . import __
29_scribe = __.produce_scribe( __name__ )
32def discover_sensitive_locations( ) -> frozenset[ str ]:
33 ''' Discovers sensitive locations relative to user home. '''
34 return frozenset( (
35 # Credentials and Keys
36 '.ssh', '.aws', '.gnupg', '.gpg',
37 # Cloud Services
38 '.config/gcloud', '.azure', '.kube',
39 '.terraform.d', '.chef',
40 # Package Managers
41 '.npm', '.pip', '.cargo', '.gem',
42 '.gradle', '.m2', '.ivy2',
43 # Browser Data
44 '.mozilla', '.chrome', '.config/chromium',
45 '.netscape', '.opera',
46 # Database
47 '.postgresql', '.mysql', '.redis',
48 # Shell History and Config
49 '.bash_history', '.zsh_history',
50 '.bashrc', '.zshrc', '.profile',
51 # Cryptocurrency
52 '.bitcoin', '.ethereum',
53 # Other Sensitive
54 '.password-store', '.secrets', '.keys',
55 '.config', '.local/share',
56 ) )