Coverage for sources/mimeogram/fsprotect/home.py: 100%
4 statements
« prev ^ index » next coverage.py v7.9.2, created at 2025-07-05 19:46 +0000
« prev ^ index » next coverage.py v7.9.2, created at 2025-07-05 19:46 +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 . import __
27_scribe = __.produce_scribe( __name__ )
30def discover_sensitive_locations( ) -> frozenset[ str ]:
31 ''' Discovers sensitive locations relative to user home. '''
32 return frozenset( (
33 # Credentials and Keys
34 '.ssh', '.aws', '.gnupg', '.gpg',
35 # Cloud Services
36 '.config/gcloud', '.azure', '.kube',
37 '.terraform.d', '.chef',
38 # Package Managers
39 '.npm', '.pip', '.cargo', '.gem',
40 '.gradle', '.m2', '.ivy2',
41 # Browser Data
42 '.mozilla', '.chrome', '.config/chromium',
43 '.netscape', '.opera',
44 # Database
45 '.postgresql', '.mysql', '.redis',
46 # Shell History and Config
47 '.bash_history', '.zsh_history',
48 '.bashrc', '.zshrc', '.profile',
49 # Cryptocurrency
50 '.bitcoin', '.ethereum',
51 # Other Sensitive
52 '.password-store', '.secrets', '.keys',
53 '.config', '.local/share',
54 ) )