From 01bf8a1b8d4f1ec6fc53602c4c61df516c921763 Mon Sep 17 00:00:00 2001 From: Takuma IMAMURA <209989118+hyperfinitism@users.noreply.github.com> Date: Thu, 30 Apr 2026 09:37:22 +0900 Subject: [PATCH] feat: add truncate_ima_log_by_pcr() --- README.md | 2 + examples/README.md | 42 +++ examples/ascii_runtime_measurements_2 | 514 ++++++++++++++++++++++++++ examples/pcrlist_2.bin | Bin 0 -> 768 bytes examples/truncate_log.py | 134 +++++++ imapcrutils/__init__.py | 1 + imapcrutils/libs.py | 36 ++ tests/conftest.py | 24 ++ tests/test_libs.py | 90 +++++ uv.lock | 184 +++++++++ 10 files changed, 1027 insertions(+) create mode 100644 examples/ascii_runtime_measurements_2 create mode 100644 examples/pcrlist_2.bin create mode 100755 examples/truncate_log.py create mode 100644 uv.lock diff --git a/README.md b/README.md index 238a70b..afde0c4 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ The `imapcrutils` module consists of the following public types and functions: | `build_template_fields` | Build `ima-ng` template fields (digest/name) from an `IMALogEntry`. | | `calculate_expected_template_hash` | Recompute the expected template hash for an entry (default: SHA-1). | | `calculate_pcr10` | Replay PCR10 by extending PCR10 with each `ima-ng` entry (default chain hash: SHA-256). | +| `truncate_ima_log_by_pcr` | Truncate the IMA log at the point where the calculated PCR matches the reference value. | | `validate_ima_log_entry` | Validate a single entry by comparing the template hash with the recomputed value. | | `calculate_boot_aggregate` | Calculate `boot_aggregate` from PCR0..PCR9 values. | @@ -45,6 +46,7 @@ and command-line tools. Sample IMA log and PCR list files are also available. | Script | Description | | ------ | ----------- | | `pcr10.py` | Calculate PCR10 from input IMA log | +| `truncate_log.py` | Truncate IMA log at the point where the calculated PCR matches the reference value | | `boot_aggregate.py` | Calculate boot_aggregate from PCR list file including PCR[0-9] | ### Compare with the true PCR10 hash value diff --git a/examples/README.md b/examples/README.md index 5e3d9d4..3aee0cc 100644 --- a/examples/README.md +++ b/examples/README.md @@ -47,6 +47,48 @@ python pcr10.py python pcr10.py -i ascii_runtime_measurements ``` +## truncate_log + +### Usage + +```shell +python truncate_log.py [-i $IMA_LOG_PATH] -p $PCR_HEX [-a $HASH_ALGORITHM] [-o $OUTPUT_PATH] +``` + +```shell +python truncate_log.py [--in $IMA_LOG_PATH] --pcr10 $PCR_HEX [--hash-algorithm $HASH_ALGORITHM] [--out $OUTPUT_PATH] +``` + +### Options + +- `-i, --in`: Path to the IMA log file (default: `/sys/kernel/security/ima/ascii_runtime_measurements`) +- `-p, --pcr`: Reference PCR value in hex format (required) +- `-a, --hash-algorithm`: Hash algorithm used for PCR calculation: `sha1`, `sha256`, `sha384`, `sha512` (default: `sha256`) +- `-o, --out`: Path to the output file (default: stdout) + +### Description + +This tool truncates an IMA log to find the point where the calculated PCR value +matches a reference PCR value. It's useful for identifying which IMA log entries +are relevant to a particular PCR measurement from a TPM. + +The function filters entries for PCR index "10" and "ima-ng" template only, then +extends the PCR value incrementally until it finds a match with the reference. +Returns the sublist of entries from the beginning up to and including +the matching entry. + +### Example + +```shell +# Truncate IMA log using reference PCR10 from pcrlist_2.bin +python truncate_pcr10.py -i ascii_runtime_measurements_2 -p c5bfcd40187bfc190fe9c584b8b2675f08180c0e9579255fa9eba91e7d18f678 + +# Save truncated log to file +python truncate_pcr10.py -i ascii_runtime_measurements_2 \ + -p c5bfcd40187bfc190fe9c584b8b2675f08180c0e9579255fa9eba91e7d18f678 \ + -o truncated_measurements.txt +``` + ## boot-aggregate ### Usage diff --git a/examples/ascii_runtime_measurements_2 b/examples/ascii_runtime_measurements_2 new file mode 100644 index 0000000..19f906e --- /dev/null +++ b/examples/ascii_runtime_measurements_2 @@ -0,0 +1,514 @@ +10 498c9bbfb84cee61be6e0768d4190c4b9b385b3a ima-ng sha256:bbdbca85a82cf96aad024bdfedaa4fcc791d857b338b6f7c5a4625bce0118ac4 boot_aggregate +10 5a9c34240b2f0cca9f47b4c1fab6d23829392470 ima-ng sha256:9b403ac5877723c568548723d1988e91d30d8a8bb171bdae001126729ee93047 /usr/lib/modules/6.17.0-1005-azure-fde/kernel/fs/autofs/autofs4.ko.zst +10 a66f62e131afe972f8eec94f91070f5a35499860 ima-ng sha256:910c77268babfc7ea567615d11e393f247db00ee988a8a27117974c1c81d8d2b /usr/lib/modules/6.17.0-1005-azure-fde/kernel/fs/nls/nls_iso8859-1.ko.zst +10 7d26cfd812dfaf0aad0eef0241bcb2200d7e1e62 ima-ng sha256:1dab38e3bdfa4237150b16a0d07acf273ba72fb691c7008a8cc2cafb5755bcdb /usr/lib/modules/6.17.0-1005-azure-fde/kernel/drivers/md/dm-crypt.ko.zst +10 3a37c30e81aac2549f1be949be782fa8e0224aad ima-ng sha256:9f0a3cd745d9d1a1726b8da9d4f8c2075b467e5bb5eb479c93db5b8301034e55 /usr/lib/modules/6.17.0-1005-azure-fde/kernel/net/netfilter/x_tables.ko.zst +10 1e09e1660f6614fd151bd082fe83872cbe5187a4 ima-ng sha256:e0a0aa856a800bfe0d6942e69797a22dac5f204c0d5977c56c78452f41926e8e /usr/lib/modules/6.17.0-1005-azure-fde/kernel/net/ipv4/netfilter/ip_tables.ko.zst +10 b110af574f397f046017d9721c5a67d1d364920c ima-ng sha256:cb746a20301f3845341c980a4f5432f963a19645d2bbb390d1712bd1474751ab /usr/lib/systemd/system-environment-generators/linux-base-sgx +10 b80285bcd74ed692b8f5ee5d683672888b3f7f2f ima-ng sha256:86d31f6fb799e91fa21bad341484564510ca287703a16e9e46c53338776f4f42 /usr/bin/dash +10 88fc3c83f6eeeaa320b3af18ab8646adf44b4049 ima-ng sha256:1cd555ac46b7887edeaf3c42aac5408c8135e52f6b37870da2cf82d5fe14e829 /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 +10 6924086a0e09a88bddde04b97a54f067f6975841 ima-ng sha256:d8db8739a1633c972cec6a4fe0566bdcec6fd088f98723492ab0361f66238f75 /usr/lib/x86_64-linux-gnu/libc.so.6 +10 d151ac2ce55315f02a1bd246381201de9636ac2a ima-ng sha256:d0e3758b27afc291814b2f5b23d1d6104c1c47412f47fabec92409c0b85b8959 /usr/lib/systemd/system-environment-generators/snapd-env-generator +10 9c222dde880461850a940d700b4a6ba56173e84f ima-ng sha256:cfc54cf84dbd88c112c297edd656261e344af96f1a3edc39353c70be72a339e9 /usr/lib/systemd/system-generators/cloud-init-generator +10 6415426c497d02406cb26054ee480afe7f4ea280 ima-ng sha256:21fc559808b8ff2f0ae3b8b80908286b7bd482bd5428f85bad3aacd689ddc7d2 /usr/lib/systemd/system-generators/friendly-recovery +10 d188afe52e72bce344b5fa6248e414d25c96c486 ima-ng sha256:0753ca2b5e4f0ffc84abe0cdbffeaf209e5300ec331ddee08c5f8fd62138a1e7 /usr/lib/systemd/system-generators/systemd-cryptsetup-generator +10 90c1d06f9908b243de4e30b2568d40a3699ba014 ima-ng sha256:9bab6329d2869ea63bb216f9f4423dd66305b9ea8f201aa35f22fd0c96a94585 /usr/lib/systemd/system-generators/systemd-fstab-generator +10 c482badfa5eb9db6946771f1f873389f6d3a0050 ima-ng sha256:5b9e725059cd79ae238f4497a06baa862b644ae276df3193144a79640f03a6e0 /usr/lib/systemd/system-generators/systemd-debug-generator +10 f198325921441b9f4048a89cec8df81eeb7645c6 ima-ng sha256:8c3b24dfd4baf824d08cb030985a15f797b159b23a18ba9c7ed44f34f012cf4c /usr/lib/systemd/system-generators/snapd-generator +10 e9e415349fdd20867dbe0ba429df1bc27f8694fb ima-ng sha256:d684b65828ce9ab338cc0095300d09fe51e273877003af31cea57e1484771d22 /usr/lib/systemd/system-generators/systemd-getty-generator +10 b45faf5e96b2d6c1210f01c82dabb610b6463b49 ima-ng sha256:7f12192c325d26c02f96b1da9744c13c5887080379b142588e3d085c971d3251 /usr/lib/systemd/system-generators/sshd-socket-generator +10 90c360deb8823c11891c27387982f5c1e903f862 ima-ng sha256:1502636e3be8232c9cf801dfb533694aea985d449904f3e1295db26d7b348946 /usr/lib/x86_64-linux-gnu/libcrypt.so.1.1.0 +10 bd8ee28f22812f0246c1c3d067f698b729b51b03 ima-ng sha256:6881bc280768b13dff8f336ca7539de21201d18794933509a27e80633e257ced /usr/libexec/netplan/generate +10 fc0818c2d9ddc2a2700efcde49ef807ce57456b4 ima-ng sha256:1855c5f780b1007fd8045709fa3129745bde478c59e2f9406055926e4c591f68 /usr/lib/systemd/system-generators/systemd-rc-local-generator +10 e2a3b1428cd2ef0e526fdbd1b52362517a74f8f7 ima-ng sha256:ed17dd282007a981c40e9222942b89abbb650d324a16a32348e25ab2dd6e06f2 /usr/lib/systemd/system-generators/systemd-run-generator +10 4f793ce542910b7c13eccc598f65006559593b4e ima-ng sha256:a63158e6e5bce20616425f5d61e5bd7374bb5bccf15bbb93ae2e40238248f179 /usr/bin/cat +10 220ec6b941b04337ff5c71a8c2904e30924f77b3 ima-ng sha256:897f7a48fe99e0e6bbc5e26b02bc63dbc393183dd7ce3f373014428fe134b397 /usr/lib/systemd/system-generators/systemd-system-update-generator +10 1c4c37cb896ca2dc45b8edf766eeae0fb2e03d7d ima-ng sha256:23ea18e32701ce1101ee69788372026aa0f6a86edb35978325b03bcb3d648f42 /usr/lib/systemd/system-generators/systemd-hibernate-resume-generator +10 3a763c7ef14b0cac18b446236efb617d971e7e22 ima-ng sha256:8004b13dd73c36bf32a434474607fac75e8aa517c4fbbdae3d118a4e54de9fb9 /usr/lib/systemd/system-generators/systemd-sysv-generator +10 9ab658fb68591cbd1c25fc2ddc73c7ced7c854a3 ima-ng sha256:8a4ca5eda7607f2e65da7cb32a780cc0dcfbf202037482ef4261a3c1ec339083 /usr/lib/x86_64-linux-gnu/libaudit.so.1.0.0 +10 99a173c8031ef3aa00184e879e37cd3a6657d4ea ima-ng sha256:094b919ba9273f973c5efc13ea14254a814c7a6eae643d53dc2e75a7ec44ab33 /usr/lib/x86_64-linux-gnu/libpam.so.0.85.1 +10 f2c5db2b00baa5c1434ae07dea71451ace6d1692 ima-ng sha256:af2cc5106b37532b2aa1b4981668685cf7aebdf5fea3ac7356d568cf98d7470b /usr/bin/mkdir +10 7707cdc480a0cb98cb224f2b127b9fcbed14213f ima-ng sha256:a8d2b9d76bdbfd86225765dbe1d772e21667f903ac32e259798e291cc02c61fb /usr/lib/systemd/system-generators/systemd-integritysetup-generator +10 42b2b1505dacf4c0d8d3ce0a068527d121ac820b ima-ng sha256:0ec0843463f90e227b0e138e1f379774f50b5514bd7f5dbd4c8a87aca0aa6670 /usr/lib/x86_64-linux-gnu/libselinux.so.1 +10 0b5b2c33820fd3fb09d04c7b0236270e0aae7ea4 ima-ng sha256:e00576d71d81d3ba0cfa4903c835a44a8723aac96f72f79ff75200b4cff9071b /usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.11.2 +10 4d138a6a90f3602cc2b1d7ff172c9ec558554ad7 ima-ng sha256:0227fb777052dbb1c24c9403ea5e39fa056a7eec905923bc2e96622f2a33b834 /usr/lib/systemd/system-generators/systemd-veritysetup-generator +10 2c23e00a450acb1eebe1400fad90ef9fa3ce98be ima-ng sha256:7e1c151146cf27bcb5f8ce2b23669b765a90a6b6d3df0f7ee8495139b624da2c /usr/lib/x86_64-linux-gnu/libnetplan.so.1 +10 aef19ec780a3737ae1c8586afb78982682307695 ima-ng sha256:b9a20df712d206654477c079f03b568276933e91cbe237e62af791f0f3ab8d8b /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2 +10 4f83bef169448603f6a52cedeca83d32cdbf6a5a ima-ng sha256:52c143c9c77a223a4dac5449eac41fd2490e37c8a30430f1559c1421f4f8ed73 /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3 +10 15adf0e2d3347c48bded65da6c65682e562d082f ima-ng sha256:ac4081058531d76a62c6bc6dfbe4986f2772664e22ba39def409742e19fb3cce /usr/lib/x86_64-linux-gnu/systemd/libsystemd-shared-255.so +10 f1e39d5115fee8e8678eafd7b0d9218c730d3cb2 ima-ng sha256:1f5247285409ec89990e9fe384d78dfb2ae6ec8e210a2657073babc8d6b7e54f /usr/lib/x86_64-linux-gnu/libacl.so.1.1.2302 +10 993a2f95257a65a0ffa5b7e0dbef885e88dbd2c0 ima-ng sha256:42467d0dbcc0a6c9e0a31f05a5944095504ce98f093c3fe0825f0a1533fa8207 /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8000.0 +10 80b4c7dac2d7d1410e80abd87c8dac69b453d890 ima-ng sha256:f3d6283f6b58de134f0f13094deac9c3af6764923c62e85f08a5780ad4ebe039 /usr/lib/x86_64-linux-gnu/libblkid.so.1.1.0 +10 3ae8cb9f813163a54fd7f6d74c44078e35cf6da4 ima-ng sha256:022943b3b11c860b049bce41342f1c2594941b7b401d95dfdf235521099fee08 /usr/lib/x86_64-linux-gnu/libcom_err.so.2.1 +10 25b2b2a03dacacd8d2fd56376fee40a4693b7fb6 ima-ng sha256:6ac6abc86ac891c6e13486470e26f1d939f47fda9e6b5d5508a7f5ec881adc84 /usr/lib/x86_64-linux-gnu/libcap.so.2.66 +10 3e76100235981c80e9d0b318ce6e4015a3a4e584 ima-ng sha256:f207cbaa2f5ad2acb0a0991f79c2329808493af500ca8cf25dfc386e6639bf1b /usr/lib/x86_64-linux-gnu/libgcrypt.so.20.4.3 +10 e6261dbe3d50be0f52341c508f669f421935574b ima-ng sha256:a1869a5b9d78e067f047751eae7bb3f230228fc06cab8bcef5ad76466682247c /usr/lib/x86_64-linux-gnu/libkmod.so.2.4.1 +10 a5f7be83c09a81ab6c6138a42cdba906d3fdeaa6 ima-ng sha256:40bffd0a098387368b16b992abd5f7cf43c0fa2f05cabe5a6d483719554adfda /usr/lib/x86_64-linux-gnu/liblz4.so.1.9.4 +10 1c920e6d2795e7ad985d7b924deb7a1802f4353b ima-ng sha256:43831ab1f85948e5599c5c0295d87ad6d03e3d58b801534abdf4cd5d266388de /usr/lib/x86_64-linux-gnu/libmount.so.1.1.0 +10 ae86d2c1bd6bfedee931e1abedd199072bc3196f ima-ng sha256:d8c4cf698e9b8790584cc5ede813a86ec4f041c0d58daa452b72431572685a87 /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.8000.0 +10 6a1093f35c8928ae431a66309d2ed5b8b9f6569d ima-ng sha256:fc93b4d0c268a6069a2a07722d1dcfdf45e30f3f968899a7e9d34ad692098456 /usr/lib/cloud-init/ds-identify +10 8d787a11ffaa28a42aa3d391369aae428e3f2f39 ima-ng sha256:99bf0727e0ca4faf12ab09b753b3d03294562c29c559b970c4dad435f9ec2bc6 /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.8000.0 +10 b0afb751c501312a1e1c8cf29d3b9bfbfd3e02e0 ima-ng sha256:a518a0ec7ee915fbeabe80551b8c9573b34e37b9402cc3e3eeab0fe346ba6ef0 /usr/lib/x86_64-linux-gnu/libyaml-0.so.2.0.9 +10 37bf3cd6e39afbc5d26fd91f3cfe0de4af24f563 ima-ng sha256:a0fe32d24d125186cf332570770ae749822b5b529d4d4f59222e1aedbc63b58d /usr/lib/x86_64-linux-gnu/libuuid.so.1.3.0 +10 59d90c247f5f2d96e98498460e477226bc94e25e ima-ng sha256:e6391daf670544d3a8f2b8a0cb8e27b4246fea109352abed50a29ec57f03153d /usr/lib/x86_64-linux-gnu/libcrypto.so.3 +10 5471f63057c278cc8f337d09cb25819a53552197 ima-ng sha256:b4d9140a7797ccf3ac14f5d9d579b64f157111662940cb8330c632b11a8cea8e /usr/lib/x86_64-linux-gnu/libseccomp.so.2.5.5 +10 9f2bf2960520f15a8f2d79a6314d566b734b4f5d ima-ng sha256:8fd593fd9e1902eb67cfeba15642719b0ef6c44ba97febceac819e7e5c442abb /usr/bin/uname +10 47708e106f5ea332c9cd0ee60c055bb9b334e436 ima-ng sha256:a9793942a8a5f6f4d0f523ef9e0a5be4f0033f2c6c28520cd2b4e706d53c6e17 /usr/lib/x86_64-linux-gnu/liblzma.so.5.4.5 +10 745c7977480455aeaabd16da61414d75b5614324 ima-ng sha256:1b87a1a50b496cfead2b0ad134c2ff536705c82608db240c7e8aa48d6c0e4217 /usr/lib/x86_64-linux-gnu/libm.so.6 +10 875b076b4c74ac81adfd8a75ef819a0a67bf80ce ima-ng sha256:9b64150b28505a33d6bc3ecf709c279f6de97a1c184dbda65d06ee4537f6d286 /usr/lib/x86_64-linux-gnu/libz.so.1.3 +10 af40a891a46c8a6ef1d1d8e7a576d6c67bfbb9cb ima-ng sha256:25349c22956c7af94f46e728d7e4c1eba57d0e4a0517f72781fb495d541eeef3 /usr/lib/x86_64-linux-gnu/libcap-ng.so.0.0.0 +10 da013e741c850d556fc13a581686697957daf7fb ima-ng sha256:f8445c01952fd3ff0bb4f17f73be821af3e4b9b61546ff517392e9baeb8f2126 /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.8000.0 +10 47f3b252e49bbde190f9600161c9213be90bbf4d ima-ng sha256:8394027f2be7c2cc7b2da4797476a8b688a21f75ee231941fa2df8d00ba79d08 /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1 +10 dc6a80d14505520f0fb333bd111d910446101aa5 ima-ng sha256:00f593fe192f2851b8ce23b25cec2488d769beb5a8f63e8c9e563071e1075153 /usr/lib/x86_64-linux-gnu/libffi.so.8.1.4 +10 52f899a84ff82c39cfe8ceb43e3a5511f277ac75 ima-ng sha256:0a2128bc10841fb29e76d08d945864dfb0b6a66da5df6df5d8299197439e54bb /usr/lib/x86_64-linux-gnu/libzstd.so.1.5.5 +10 ecb424688ddc771c132fdddb17e2a59e31b492b5 ima-ng sha256:8e1ef5a40f7b0d5b0fbcd6e4f28dd50b263650338a2bb72503be34632f3629d6 /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1 +10 63c7c5cad76a214241f9d872dfbbff5853d018cc ima-ng sha256:6cb18a007bfcb623029f4528a36b46578fea7dc34c2b505b8e6e0d99e6348cd1 /usr/lib/x86_64-linux-gnu/libgpg-error.so.0.34.0 +10 c27cb426a61a6c0e723b1673227b97c7cc56b8cd ima-ng sha256:ce32eb4705821ce89dbf770d1287959f58c452142350862637f09a8aed473213 /usr/bin/tr +10 154100ed54b17186f23fb90137b6efce2888534d ima-ng sha256:f48214417757f18793ed6e180cc14ee1d6f04252a518fc7270e8ca1d0b4260fe /usr/lib/x86_64-linux-gnu/libkeyutils.so.1.10 +10 03106d8390059a3bac9ff6cfe5bccd5b2ace7652 ima-ng sha256:2c4c310ff85793ed0edcff9d548a6a73041f68fd0eb6fa998388bb43787036e3 /usr/lib/x86_64-linux-gnu/libresolv.so.2 +10 7f040d8e68798376b4542dba58143a6dad094bcc ima-ng sha256:20a35a4c18f2fe9e6305c1cbf866b9c0fcc3f957132ae66028c99ec353bb0a80 /usr/bin/grep +10 0151711786155d1ec38b2dcc63e0efedb2275e9a ima-ng sha256:45fc42e18e0103e943bc46cf10385423ea412a9c8b4384a60211352307f750b9 /usr/sbin/blkid +10 935cd656c5faed74742bd03de94260a2d848e1f0 ima-ng sha256:0fa5580b6604a3a26f14f3713725d661f39d35036701b603908700e58cf2cc7f /usr/bin/ln +10 16700c00f09fd3ed102739cd0c23018544ca1388 ima-ng sha256:0f1f5e63a070f3519fa1cabc18646d001531e5c250443bd30739347c9be1069f /usr/bin/kmod +10 a83d1f35ea2bc128d40dec0d1cc02c10c6df00c5 ima-ng sha256:6fae76abacca399f5ca92d9c12402c43a48aa11d9ffd835454a9bd57c03a55db /usr/lib/modules/6.17.0-1005-azure-fde/kernel/net/netfilter/nfnetlink.ko.zst +10 32820856b93a80a29d59fd79e695301fa6bf0d0b ima-ng sha256:2542e0c59897ddc8bf6527086fc747f1ae5023a58682582d3f5fc8b99eefac05 /usr/lib/systemd/systemd-executor +10 e724516189e1b8b58b43ab60b3ba9a9a774695dc ima-ng sha256:54cb817c2c7e083aa81d314d63b1efc1ad5e04764439f401f30a7875b6198955 /usr/lib/x86_64-linux-gnu/systemd/libsystemd-core-255.so +10 002f507e4f1f3ff56a13acd9de03c24acfb52979 ima-ng sha256:7edafb7d1aab32591f26c97e631a4881f68e92e1cd0f0dbbfb4338b8ccac5e7c /usr/lib/x86_64-linux-gnu/libapparmor.so.1.17.2 +10 a3be076a0e3117ffca18de8f22cfea227ab76589 ima-ng sha256:f79265d2ad5b43ed44bbd6efa2b002f007cc97b369e45238b5385f35cdc00587 /usr/lib/console-setup/keyboard-setup.sh +10 45d260e9cbe1f9198e8261a17db96dec494aa257 ima-ng sha256:e2a0991d913de84b6eba06a18c4c141a8f03fe9393b6079283b286cc8539e48f /etc/console-setup/cached_setup_keyboard.sh +10 4a312eb87030d0a7f4e5e3163035d33c90ee9865 ima-ng sha256:3d6bce7ef7d4d56e11dcf594a4ff4826a03c691367af82a516c8ccf32724608e /usr/bin/kbd_mode +10 36f7835179634fda7777f5fca0369975038961b3 ima-ng sha256:746e3b35da9220ccfb57a3c6ff2a637429ed86898765d4f958de2317a8b897fd /usr/lib/systemd/systemd-journald +10 fb20d7a097217c8d64a12a4554a626dce11ed936 ima-ng sha256:be90b925d47e6f5d41325165e28ad615b674d9522060af10ed1f17e9890ab423 /usr/bin/loadkeys +10 bff2ab87ffd3cfe891e86c54a7b65d412f6a5164 ima-ng sha256:16f1f8dbe5b47b3c1160b9066bd15bfdd80548b1b878b1a025c462fec0ca02b1 /usr/bin/gzip +10 73142d9b3089482d0a7bd141fcd866c3c06b1a73 ima-ng sha256:7e2299bed497407342a72d00099598e3118e9c9adcece207f0516200cdeadef3 /usr/sbin/lvm +10 0343456a5bb07fe772e22517a2f6b31e2bbacbe6 ima-ng sha256:5f25d025992b6462f8691cf798d21700a9c02a592a07c1f772b5b1ee0157a3d2 /usr/lib/x86_64-linux-gnu/libdevmapper-event.so.1.02.1 +10 fb61bb32ebdfbeee7340670a06ee0153f26b041e ima-ng sha256:195c607216f8581dbf516346ed38f4c73500cac4b84e18eb0a4fd49931e4cd56 /usr/lib/x86_64-linux-gnu/libedit.so.2.0.72 +10 90947a24a66ada77593a00c6e6f205a38165036a ima-ng sha256:4e31fab3dc20ef70f690a2b4c360aab9e837bf353c7c89f7474fcfd370a2cc0c /usr/lib/x86_64-linux-gnu/libsystemd.so.0.38.0 +10 831731bd03fac77bc51afa1843c13d4e50d4b2e9 ima-ng sha256:9dbba7441fe096f6654bfd31bfdbba52f41a209bd4a560468293c226ff63c998 /usr/lib/x86_64-linux-gnu/libaio.so.1t64.0.2 +10 96dc73151dfd0c1fded326ad727e9ae1bff55114 ima-ng sha256:68af91b5529d196cfc019dd2e8f1fb32175c2383db3afdde275801b0898eeb14 /usr/lib/x86_64-linux-gnu/libudev.so.1.7.8 +10 95e7db5fdd40de61c94f4605d2b61d789d127193 ima-ng sha256:0b33f9e9780b2e22bd40170f4cfe358b0cf525974d01896b3bb2b02d6e4e2582 /usr/lib/x86_64-linux-gnu/libdevmapper.so.1.02.1 +10 a32ce121526ea8531bd307b8338b9f9295868388 ima-ng sha256:61f693cd7f8e55ad3ab518b20a00c01adb46ef829cf90773c97615a73f99e09b /usr/lib/x86_64-linux-gnu/libtinfo.so.6.4 +10 492d86370e0381f0e52dea497c20160aac44c3b3 ima-ng sha256:e86cd4f0019f42c2ba5e60602e0edc8694d2948377d98c3654d0f6bddb5254bb /usr/lib/x86_64-linux-gnu/libbsd.so.0.12.1 +10 128ba4f099b8bb9ec9deb5751f02f4d50d5f5f4b ima-ng sha256:423e18586b6ea740f4465afd64f7a9a4cb7264ed979c8e7256f9085af5345fef /usr/lib/x86_64-linux-gnu/libmd.so.0.1.0 +10 15b66c4d41920e9da332c26f04893be851c05f30 ima-ng sha256:ff91a4f45969da556f8a0f4ee4eaac5e7c5dfaec38eb8b9544da9aad155b08f0 /usr/lib/modules/6.17.0-1005-azure-fde/kernel/drivers/firmware/efi/efi-pstore.ko.zst +10 e2e6a22495b392f04137f01a6ed6a3536148e897 ima-ng sha256:1f83aa67d4970d43f0b9146d0ef8cd86797b29c100db4a777a9e8529605ec734 /usr/lib/modules/6.17.0-1005-azure-fde/kernel/drivers/nvme/host/nvme-fabrics.ko.zst +10 5a83e44b97c53f145fdd29d5b5ce78b58b60b323 ima-ng sha256:40934f4f936f5d5a37d4290b93ea86dcbf57e7a326b17219cce4285010cc50ca /usr/lib/systemd/systemd-modules-load +10 d193ce1b99c0451593bb3b5bc2505ff64f40bb4c ima-ng sha256:c415957fe3da568a97bba088238f58667d9e87f5abc45fc4872b201cbd52e8b2 /usr/lib/modules/6.17.0-1005-azure-fde/kernel/arch/x86/kernel/msr.ko.zst +10 970d04fc1151ce89544050e2d0e8cb488333b13d ima-ng sha256:c10b7c581eb4986f31b744ac5ca843f28923a1725ba85a63d303bb26724bef74 /usr/lib/systemd/systemd-pcrextend +10 5f1bf2465d67607f52dbb2e879e6f385e983f391 ima-ng sha256:3190e36040121b0ac920fb34d3af2c3029cd70967357b66ddc9a7817ae6dabe5 /usr/lib/systemd/systemd-remount-fs +10 2735a9f1d1591a980f482c5ce5aebef99ccf0dd8 ima-ng sha256:102ae499aed7cb237591a1cfcc93a691f724c56e732e20d241e0d8c3c497396f /usr/lib/x86_64-linux-gnu/libtss2-esys.so.0.0.1 +10 8666090a18e1abf94d188d1e9d4ed1d9eabcc064 ima-ng sha256:ad6616a4e25009800e414698021ad5b6e364cd7ed24ef2cbcc419f093e3f9110 /usr/lib/x86_64-linux-gnu/libtss2-sys.so.1.0.1 +10 33706c876ce8e11d051de82e545e5877cb25eef1 ima-ng sha256:706b47eb7fe64be83c5e3d86564ddfefb648188613ffbac689410558816f95d0 /usr/lib/x86_64-linux-gnu/libtss2-mu.so.0.0.1 +10 61d77af84bacada4155134e21dab196b03eaabe2 ima-ng sha256:6e6d339d602e401deb8038e6ea1736b1160ed0330570ead495188717dfab566f /usr/lib/x86_64-linux-gnu/libtss2-rc.so.0.0.0 +10 5f5d114b29c78d3882dec45de080f9956284585b ima-ng sha256:fd3aa07207d64acf36265d4fba0b777da0e4ffcdae95703ed2e9785ef5abc420 /usr/lib/systemd/systemd-tpm2-setup +10 8a3858681f463319232a4f57eca901a21e2fea30 ima-ng sha256:aedc7dfc40c90ee2c380f1f3555de85733965a745c52b0ca106bb554b51ec440 /usr/lib/x86_64-linux-gnu/libtss2-tcti-device.so.0.0.0 +10 050e185cb1e1b1a9ccdeb0578508dbd467c5ef7b ima-ng sha256:ac5aa68d34add5a33ae81ac3a971aea677c4032d768aab5a3c4c2707f728885e /usr/bin/mount +10 ba2b9db9e35f71e764e8b4c1718952cfdfb1d6f4 ima-ng sha256:52dffbcf253d42526417a6ccd0c1b5667a6ab4001028216b9c6da2d8f38237b5 /usr/bin/udevadm +10 f708c22b7902e9306bd8fce56c517ed4cafa91d9 ima-ng sha256:34ace2c3ebd3dfd7119ff905b5096af19bcc926df007419b387c699322381813 /usr/bin/journalctl +10 14518919a400926e4a184ce27360f306d61210d1 ima-ng sha256:109b41d072e687a41af07c662ae4d4a02b27dab1f792d1867a9a946785fd1484 /usr/lib/systemd/systemd-random-seed +10 fb60181501b4a35fa79ed70f691a38926229f1c9 ima-ng sha256:de624ddf866f7af840f667a358f78b7f683e1e73aff5c13001f7095292c15210 /usr/lib/systemd/systemd-sysctl +10 8b0370cc86e66003d996df75239459e48ac4fee7 ima-ng sha256:964094f8e4abe64b2e94b429cc116c04ccbd3f4ea3dac17f030ceed04d1b6c00 /usr/bin/systemd-tmpfiles +10 8f5e95c8825c166037826b24539c7bf0395f3981 ima-ng sha256:599765c622fbe9422bf69e18ed17ff83acc794e7096b7027c02429120101fafd /usr/lib/modules/6.17.0-1005-azure-fde/kernel/net/sched/sch_fq_codel.ko.zst +10 700e9bd871012ccc1da07c221e3f38b649991c9c ima-ng sha256:40e7fbc0ac59c530077a49ba3d9728c44f56757373b7e2d54ff57e4a31fc3b3c /usr/lib/udev/probe-bcache +10 2819644d4ac96d8ede2d802b0ac5e949bb1b6e14 ima-ng sha256:771539f408fd5b1fa918c312c6ab14c848c316c199868762a848b7b732da0b3b /usr/lib/open-iscsi/net-interface-handler +10 875d833b435e56a50d396897124c058d64fca1f9 ima-ng sha256:fdfbe26c548f150ab186587c0ab814b29a8163a17fe4261ce5f2b490ecaf6099 /usr/lib/udev/bcache-export-cached +10 8f3767a6fdd5db46912927f4634711483058eec8 ima-ng sha256:fe0444cc3f334e495b8180a88ae6d700e1ed3e32593ce8de06097bcedc3a8620 /usr/sbin/bcache-super-show +10 37897bcba9164268b394556a1a9ea89969234b57 ima-ng sha256:b951dad211e5b2fcb1fa989a483c52ca3ce80b9353668307989826b114ce8e0c /usr/bin/gawk +10 3f3be88b8c407f118f63b8a90ecf13366d3eaf26 ima-ng sha256:377958da5ffe455349b4b9f188469bd8175bf415ade9785ae33fe4103495cbf5 /usr/lib/udev/scsi_id +10 df802ee638a49f2c3a76165e452756230dfd8f92 ima-ng sha256:deb2b527b15164aba628af4279dadc9a86d8870b7e5adb9cbcd24de44110c3b7 /usr/lib/x86_64-linux-gnu/libsigsegv.so.2.0.7 +10 bfa04c67f7bd612651b94f0cae2566108e4e39a9 ima-ng sha256:0a079f958147699f7bb5bf228406a5d878dc2387fe9cdc5cce6f3e35e20380fc /usr/lib/x86_64-linux-gnu/libreadline.so.8.2 +10 9f9c0e5ccf63b807d788d265690738c82229f166 ima-ng sha256:2156351fa3dedd04a7381c6ac7a8a26efa2d6fb08b80f8a2d644ccdd653710ae /usr/lib/x86_64-linux-gnu/libmpfr.so.6.2.1 +10 be087800ea3b49e7dfa495e982cec7e95cdc5d62 ima-ng sha256:0ccdfb6d6f5c039465f6d002cf7e4c072d48ac6a2cffc8dd6c748dec31592804 /usr/lib/x86_64-linux-gnu/libgmp.so.10.5.0 +10 cc0a2a3a66094d96136f20009e3fbaec7de0cd64 ima-ng sha256:645a5f1f1f2aa9639a1fa1ac0a0b7e9377a2b963baf62d3952a3ce02715e1bf7 /usr/bin/readlink +10 77bd02a6e03d2f7c7489428c3664c933d0f1b003 ima-ng sha256:94d1a3030de44ef8e4c2d157911b6246ae009d4eecaa52a072060c7070011b0e /usr/bin/cut +10 fffb952bb6fd16e06aca2959556a5dd13f7f8b3b ima-ng sha256:c1a5dfc22aa49d060b3398bb8b7d2d61377367ffdf8b688cbc97428f314979ed /usr/lib/udev/hdparm +10 90a59ada9f6241995896eea56ff4caadfacf4d98 ima-ng sha256:b57bd3d7025ff272b4a2da2605798c0456e2b2a80b8947c8e652d4aca1617789 /usr/lib/modules/6.17.0-1005-azure-fde/kernel/drivers/net/hyperv/hv_netvsc.ko.zst +10 f41bfeccc5c96e1dd49a1c50cdf363879f76116a ima-ng sha256:10caa507f39367738ca977a5f2014406159064b072dbade0c0c23a40597f66da /usr/bin/egrep +10 b8f996b723a5853050f1f6670703a92f6dbbf830 ima-ng sha256:db67d4895f868617bfd19786247ebda7c2f50f4cb3857a987f732a2c267a799e /usr/bin/sed +10 b4c505fcf67959a6b8fef4b3c35b4906abf29279 ima-ng sha256:7b0db1906a3faaf1f2617c07c28b455a471d49e39a2cb05e5f8aa73567cdd9af /usr/lib/modules/6.17.0-1005-azure-fde/kernel/arch/x86/crypto/ghash-clmulni-intel.ko.zst +10 8d23f2ab9a30a70fbb6d3bfb011a8b2837990bc7 ima-ng sha256:b3d8ec65d4a58030d218dfa89feacd8d56260a3af354350ef51de9bf37792b80 /usr/lib/modules/6.17.0-1005-azure-fde/kernel/arch/x86/crypto/polyval-clmulni.ko.zst +10 75e83c02797350e40160d44e1ddaf04d36f9645b ima-ng sha256:9870f3d0640358648970ce6378dc488b324ec42f5b5e13736cc7d6533e38f61d /usr/lib/udev/dmi_memory_id +10 8c7d86fde05f6450a42d19feefff36a7fea4a916 ima-ng sha256:3aab477e758d7f00759e00ad0260845c9a519b9bb2d93cf1653a2f8af90dae65 /etc/console-setup/cached_setup_font.sh +10 6c394be3871218e24880ca408657cf0e1d19f66b ima-ng sha256:5d66b870e448ddd55663343d0ea22f711d9c82ebedb9e104ee023ea8dd2ba2c8 /usr/bin/setfont +10 b4d72b56a0ea846305f97ece153122d3b896ec26 ima-ng sha256:f7ba478ce7ff158ccd3ba01bac1c4231e68cbd490fe49b5562a6ea008a586696 /usr/bin/chmod +10 f9d5937d0f628b272a5e5b8ca3da4c2e58f13c56 ima-ng sha256:53a9c0557a948069d56f964cf21c7c0854bb2677d9985080369ed1e172161625 /usr/bin/ls +10 7d92f1237fff80dd499c46a031c358fb84800c6b ima-ng sha256:85d5b496ea00a98f2b50c5fb1b7baa27d99ff5a5ad5945a7366c0ad8fa4f62d3 /usr/lib/systemd/systemd-fsck +10 047389bc94c5d793ee12bf402ae3c43679fa1978 ima-ng sha256:4ddd9a6f042e8ea2fe459bcb428f257ecee7c1c777bd919c302bea3e82e0425a /usr/sbin/fsck +10 1c83de60f00e47401de166518142dfd2196c7577 ima-ng sha256:a2fa5119a452e71c0ddbf6d775aa49c205ffe859340c27bee0d6d214b14dd4d2 /usr/lib/systemd/systemd-fsckd +10 4c2aa9fe9d97f1d87d6b7b02b0d48f344f353c88 ima-ng sha256:c196cbd7ef45815253a8592588be6cbb966821f99abc7e8bc72460a3a4bd5bd9 /usr/lib/apparmor/apparmor.systemd +10 d4bdd910865263b4e1f3c3c00209a0bec3c325d0 ima-ng sha256:c69c6315f602d389821b3a1dab1308618616259400f2cf5d997243c4a83c284c /usr/sbin/e2fsck +10 8b5769f78e0ede9427d277d60cd800d75ad21344 ima-ng sha256:cb66ad1a628afcf77b4fb79cd6207efc30950b70d4c0039e402c8e79c08b7713 /usr/bin/systemd-detect-virt +10 c3f349ab69e785514245ea0ac6de6e4d3a862fcb ima-ng sha256:4b03abd4f5ec8a5d7519d34931feaa39ca73b21e6946f90b328e67e0cf95ed72 /usr/lib/x86_64-linux-gnu/libext2fs.so.2.4 +10 ee5c836aff9fc44fc16120032421e5a7dae6a04a ima-ng sha256:471a02b06797769a6d0e11a59c138074985f56d1ec62dfcbe2feb00a31f37c28 /usr/lib/x86_64-linux-gnu/libe2p.so.2.3 +10 42edc19d184e1c92a994cd997a21576f02b20d5e ima-ng sha256:26565008e9dbc7332fd999dbe92fb66b2410b66460b2c844b836de672d6040d8 /usr/lib/console-setup/console-setup.sh +10 eb8c013bb0870690ea8343669675bbbf6aa9c946 ima-ng sha256:4b5a5694e3c0e8b1d58fc52ac6ef076e55e72c2f53195243ac86d5ff517cc2f6 /usr/bin/true +10 57cfe1f469c6716e24313a6a2088af7e328a28f8 ima-ng sha256:ad5fff963b13b19537181406b8e785544b31083b86fcbc3565405769f02a6deb /usr/sbin/sysctl +10 01f7c0def1fd3c6782d4c08840d5ec237957e44d ima-ng sha256:52ff013967f79c08a0ed4012ca5e9239551267e840a1981ea11cb15b4810b0fd /usr/bin/plymouth +10 4dd6703c4ffc307fd094684dd98a517b8f156336 ima-ng sha256:0936bcc380dae5bb45e28631f84c5117f4f9d8339bc36ab5c8c6ca77ea7813c4 /usr/lib/systemd/systemd-binfmt +10 ff7790baf4ca59bb7d514482c755eb20ce038a62 ima-ng sha256:bf52a63a21662c4c0121d42d232738ce5a39cc6351226640731eaf31b957fc95 /usr/lib/x86_64-linux-gnu/libply.so.5.0.0 +10 be8cf41bdf7e9643e7f9ceb8fa31756e0b76f0ee ima-ng sha256:a89b5f2ed99e6c6427a2645ba556d8aad508c6a04808ed337d32c0e45de7e6ad /usr/sbin/apparmor_parser +10 4b8f695eae4f8b04c39a6afd5eff7692cf4abfa4 ima-ng sha256:c98f19dd0a68e94f729acdcba34fe48244dbfacdfa8943f257215d2ae351f80a /usr/lib/ufw/ufw-init +10 82a4d5e38433fe69646b0a216f791d530f252069 ima-ng sha256:e1efa562c2cc2e35521a5c9c9b9939921001ff8ca9708a13ef15ace68cc2ccd7 /usr/bin/python3.12 +10 2ef4768122427e469c068cda29469ee466612218 ima-ng sha256:c42ff317838b4b4639e2ea801905f0317177c6df7e31b2f0d0240e3c3ac0cfde /usr/lib/x86_64-linux-gnu/libexpat.so.1.9.1 +10 ffeebc34d50b1204fe51d778c9c10fbb25e3c470 ima-ng sha256:22c06a98f245471ef184b55b87ab9f48c2f5222c1f737378a5f237b28d484694 /usr/lib/modules/6.17.0-1005-azure-fde/kernel/fs/binfmt_misc.ko.zst +10 e34df44787c98c5672284c321ec93e47d80fe730 ima-ng sha256:75fe898af36d6c1178a711d7ef8356b1b9af865aa6c6d39a57cd92d5fff3b6c7 /usr/lib/systemd/systemd-update-utmp +10 c054f7c5912668eda6e2ae786cd862c0e1619da2 ima-ng sha256:5d931333b1afa9437b7fa999abef5a4b1eea71fcbcb3dfef66cb6025d22bf039 /usr/lib/x86_64-linux-gnu/libnss_systemd.so.2 +10 96d7390161d515e38db897cbfc3bbf948000ca3a ima-ng sha256:22b21a9c408fba50852f98fae63cc86e11c29156aebe2ed2230b911ebd659092 /usr/lib/python3.12/lib-dynload/_json.cpython-312-x86_64-linux-gnu.so +10 c734e80184beb9f48c6546c4020baf52d08919ee ima-ng sha256:6b03623b61004d0b0176c6c863d0f2761a88a0e54402d4332d16a1a22e33c9f7 /usr/lib/systemd/systemd-resolved +10 7693edd1bae3b4a9880d9e6328bc84960652e33d ima-ng sha256:0ca2c28b026f0084661fbb0e69079436680f3b6dd1f4aa3436395442456a6d4c /usr/lib/x86_64-linux-gnu/libssl.so.3 +10 b5a307a24023930c144d32448975c1ab3e2fb42c ima-ng sha256:d269738e8ab2cd900ad0c88de05a84ce6eec2e9a04539f9c57444b1f24dd40bb /usr/lib/python3.12/lib-dynload/_bz2.cpython-312-x86_64-linux-gnu.so +10 3c1a514c286130ae5bdb32052813b8724a345a09 ima-ng sha256:218c4abdabce31161f3c2778762986d1fe06633705c7eb004a740946a5ccdfff /usr/lib/x86_64-linux-gnu/libbz2.so.1.0.4 +10 2dd691a077e69c27505965a53e141e547e0b58ee ima-ng sha256:6e632fd9a3125db60bbc623719bbc17b0470330321c5b1c57f1ff7190e5551ad /usr/lib/x86_64-linux-gnu/libidn2.so.0.4.0 +10 64fd7621c5e1268c1720dd9ba92a0fd7b5b28e00 ima-ng sha256:50886c88ab67d0e4259a919cee647549f06632383f9549649bda4006918f21d0 /usr/lib/python3.12/lib-dynload/_lzma.cpython-312-x86_64-linux-gnu.so +10 def1ef4aaf5ae9afe186ed2f204e766a9f0a6610 ima-ng sha256:7bcf825cd449892db5105ad2aed91dcf94a27b796426600c765720c584c54dd1 /usr/lib/x86_64-linux-gnu/libunistring.so.5.0.0 +10 5feacc482b6684bdf289c968348aa32651b9e9d3 ima-ng sha256:0419335891bcf8ced23ca8953ef6dd503e389271e15578630bec933d75eebcc4 /usr/lib/snapd/snapd-apparmor +10 fadeb42167774184e031bc730486b79110081677 ima-ng sha256:f0739c2fd0059c114d4de8a3526d296328dc28470cc0c8af6ce5920c6c8c2019 /usr/bin/cloud-init +10 c5c1fffa7193c1f1a5b14fbcae8d117ec83c8160 ima-ng sha256:a76d80414a6193c64be513c6cf661dd88e0886c3bf44e679789bc6406d9b66a7 /usr/lib/python3.12/lib-dynload/_ssl.cpython-312-x86_64-linux-gnu.so +10 43edfaf2af899ac776ca7af47a0974c9460a4ab6 ima-ng sha256:6374ebd09314564b6c451cf3ccc229327368c91ad6dde1b1a26a96e9b96ab7a6 /usr/lib/python3.12/lib-dynload/_queue.cpython-312-x86_64-linux-gnu.so +10 e2bf12fe42bec9b5fbd9b10fd5b74c3a44e871d1 ima-ng sha256:484188f4b37b4021998dafd1966cda1c6f8207af9aee3ad51746a5d22acf3e65 /usr/bin/lsb_release +10 de53d2c2a23f06b5bf57958289a4fc636b81c2b8 ima-ng sha256:7b5a203bc9de7d924273fd7f60afd85e3013eaa6549222d43015fe0614d268f4 /usr/bin/getopt +10 ed3e0ec8114c25cf7265b4df2bfbf0c36b57584b ima-ng sha256:43b3b0036fab5c1385d5dc2a5bc1a070f276a317a4d5aee42deac884f8ea57eb /usr/lib/python3/dist-packages/yaml/_yaml.cpython-312-x86_64-linux-gnu.so +10 6e68c358e5161c1fe9f22cf6dd17823a26eb7ce5 ima-ng sha256:d0d7caef18e28d3f4697f2a13e42647cf8db9a547b98099f0f77a24e6dd670b4 /usr/lib/python3.12/lib-dynload/_hashlib.cpython-312-x86_64-linux-gnu.so +10 3480979af7adeaed04b60ffaf7188f9f938abd5c ima-ng sha256:2a1933a49eaa011894ba092f535397e1a0d2094a5e3c782475a98b689e625644 /usr/lib/python3.12/lib-dynload/_crypt.cpython-312-x86_64-linux-gnu.so +10 905613bbcea67c54e6b69dac181df7cb9b11c708 ima-ng sha256:b07c14c7db7528abdae48ed14121d192f69771db1c2dd9b43b59cff054ee66c4 /usr/lib/python3/dist-packages/markupsafe/_speedups.cpython-312-x86_64-linux-gnu.so +10 ea79ca7f9bdbac5d1803c064bd63654b371ddfa9 ima-ng sha256:61cf9173c68bcd8bc71ad46ea9bbbf34ff825db7487891e66a91151f5b420fe8 /usr/lib/python3/dist-packages/pvectorc.cpython-312-x86_64-linux-gnu.so +10 1feffda7a36a14aeb08b39dbdf53891ee964dc2f ima-ng sha256:c828e3b0f60d9ff58e6110fec7dc9622aef1fc5733936531f3903aeb338e0e48 /usr/lib/python3.12/lib-dynload/_decimal.cpython-312-x86_64-linux-gnu.so +10 64507de8b653c79edb34c66553dfd8ae871d00ec ima-ng sha256:b76af83f7c0c79e14506779ae3dfff85b291a16e9531aa656b93b37e362f1b66 /usr/bin/systemctl +10 e38d37d258e63b82a18d87565eb266bb568dc752 ima-ng sha256:a1610dd70bb5ab04180671280df65b0077b680b627c0b6c51480b327732a762d /usr/sbin/xtables-nft-multi +10 bab9eedadeb34c67d4af120af98c291f1ac6c5c2 ima-ng sha256:e971495b2fcde36e24ed71636f085f8e2e3f5eacdf81e76c8d1cecf496dfd60f /usr/lib/x86_64-linux-gnu/libxtables.so.12.7.0 +10 af68785deac2b9e2429d3a402e3b9a001cd24708 ima-ng sha256:a166aeee69e4b89b3cdb94e9b4cf1391081c1d141e19d24f1964e76990a18435 /usr/lib/x86_64-linux-gnu/libmnl.so.0.2.0 +10 28035dd7f0dc357f7b8927b59b8c2d47e0c9f090 ima-ng sha256:6199b89346952e5abc1aa693fcde543224788a94ce9f7fab6bb06b0c97885e2b /usr/lib/python3/dist-packages/netplan/_netplan_cffi.abi3.so +10 4857ea5448d1255bd088ae18fc42dd97e84d606c ima-ng sha256:31de1bbd42e0976d6fbde5cc8b805036189506d092dd0964dc8547b2e2ad57e5 /usr/lib/x86_64-linux-gnu/libnftnl.so.11.6.0 +10 c8b33e3880a2069d9cf0360b07da210a8e49c3a7 ima-ng sha256:5401195ab2db5412e46a2f4b1dcda10c60d2cc282933720cf2524668d445e7f0 /usr/lib/python3/dist-packages/_cffi_backend.cpython-312-x86_64-linux-gnu.so +10 adc91390b44b2eb6ffcde3c88336076427683202 ima-ng sha256:70cd98374ac64762fd0e778d29ff88bb13587d8e839644cbf7463d685a9ed353 /usr/lib/x86_64-linux-gnu/xtables/libxt_conntrack.so +10 2cce7cca474ace0c092c1560cf42971a2bf42b95 ima-ng sha256:87b05612f1a971db4b0699eb3e920201a8accf97d4cb9f84ef9d7fec74595c49 /usr/lib/modules/6.17.0-1005-azure-fde/kernel/net/netfilter/nf_tables.ko.zst +10 9ef38d7864eff99d1373d245ce182c5aed085d2f ima-ng sha256:77f0a0b4fe97b6587d5aec481674d1a954a1f2a53b873ed58f07176f70667d2f /usr/lib/modules/6.17.0-1005-azure-fde/kernel/net/netfilter/nft_compat.ko.zst +10 4e72419b8787154d060effd4cb2f494361ee8126 ima-ng sha256:29cdd6c455f23f709db5f4f8e0af114ce61f73cc3f2833e67b4d8f3ce97932b9 /usr/lib/modules/6.17.0-1005-azure-fde/kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko.zst +10 0fd73de3de67a4b9fd0f91cbb6e41100fd2a009d ima-ng sha256:ea6a9d2e3ced16a0e2019d7ddaa884c19ef871261894b9035eeba76ecac37517 /usr/lib/modules/6.17.0-1005-azure-fde/kernel/net/ipv6/netfilter/nf_defrag_ipv6.ko.zst +10 f1219752b5c5f246a1d06bfd78418bd83860850e ima-ng sha256:5c1a9b00749a9279915f6f3e205eff617d4a3ffba601e537aa51908bcc886218 /usr/lib/modules/6.17.0-1005-azure-fde/kernel/net/netfilter/nf_conntrack.ko.zst +10 a487a4980cf8602376f0bafd66cc294775031038 ima-ng sha256:c3f37be880c51223066903933cb0d53e91e9c8c1486a05ff462f38eb4cec4d71 /usr/lib/modules/6.17.0-1005-azure-fde/kernel/net/netfilter/xt_conntrack.ko.zst +10 6a05f7cbfed4113810e28b9a78fd580dd3b54bcb ima-ng sha256:4272f784f13eeae24c3bc2c407d77bc7a19db77abf7abe74def994f6c7bcde6e /usr/lib/x86_64-linux-gnu/xtables/libxt_standard.so +10 010b68a5f8770c767a29118c2de4e239225742ce ima-ng sha256:501173c7c1e62779bd492e449be4f93c8ff4dc5bc015521b4bf65bfd9d5de6b9 /usr/lib/x86_64-linux-gnu/xtables/libxt_tcp.so +10 d9b00a070e8d534f61f58afd84e7ec9995e9c5de ima-ng sha256:d1252ae6be621cbc1837fefc3e175744659f61675b959b64754c507d33173ffb /usr/lib/modules/6.17.0-1005-azure-fde/kernel/net/netfilter/xt_tcpudp.ko.zst +10 2c3101b022abe0d0768cb1ccc00e8610648aec4c ima-ng sha256:86c4d75ab908edccb501f2167471181ea01561f005e23f3287e64ec8912ab88e /usr/lib/x86_64-linux-gnu/xtables/libxt_owner.so +10 ab08356ffee1e35c96504084d0a6da81439c03ac ima-ng sha256:6b181e5b5eb63c84801c7daf982fc77533ebb6ce13205c76a8fba42157e2c7de /usr/lib/modules/6.17.0-1005-azure-fde/kernel/net/netfilter/xt_owner.ko.zst +10 94527af37c4f83eb0d4d726e4a9bf4291b019a42 ima-ng sha256:8c1efbee8dbee25378fc941db29a88309d6a7525786e4ebba2dda08edb77615e /usr/bin/tee +10 9b4a59d5a380c1f6568d07fbb600dbaefaf398ea ima-ng sha256:81a95d97c70f3677d1883b9d8fe13b1771ab208d5bca56bc447aaaff0b0480e0 /usr/bin/ip +10 aa1b104d18d7a13d74b65101aef381f959bda0ac ima-ng sha256:0e9998e17e38d78e5ce953f89a5e6a7c8b457d3e1bfe71e3ec5a1cfb05bbd1c3 /usr/lib/x86_64-linux-gnu/libbpf.so.1.3.0 +10 194bfa0a5b5bece2172230d8f50a6b8d2abe4110 ima-ng sha256:248c989360783cdc52f3659921de852c2efcc2097253ce58e34443f856412814 /usr/lib/x86_64-linux-gnu/libelf-0.190.so +10 1f3d4dfaf00664e979e35733254282dd19f9d829 ima-ng sha256:27275e58cddae1450788a81869c66163c687a21069d8761e1e910f4d213025b0 /usr/sbin/dhcpcd +10 8e2f0c0e4d094cae01b252f4c0682f61e1f0255e ima-ng sha256:9ecded669738c8b4662a977f1861479813c469abd008fbd5cac9f1b80dbd2548 /usr/lib/modules/6.17.0-1005-azure-fde/kernel/net/llc/llc.ko.zst +10 8ee6f3faaf41dce57f8f9fae75a8b0629542a177 ima-ng sha256:583908083e80875d126b8549e0b49e5388b5a53af046ffccbbade7795183dddf /usr/lib/modules/6.17.0-1005-azure-fde/kernel/net/802/stp.ko.zst +10 b296405c888119c34f313f86a545d4930a3c299e ima-ng sha256:d749d850fca26cd0f26f08c933788702ad2b9cacc9ed2949daf76ae18add1e2a /usr/lib/modules/6.17.0-1005-azure-fde/kernel/net/802/mrp.ko.zst +10 e9595e6002ea3ba2ab0a23ddaee9a72240dbee4d ima-ng sha256:4484903ef010b3d7c381c706243fa2fc93a7804262acfae4111e6101de1c2553 /usr/lib/modules/6.17.0-1005-azure-fde/kernel/net/802/garp.ko.zst +10 6ce809c30c77453b22a78e8e03ce5cb2e3687377 ima-ng sha256:41b59c82e3cb2909a3655461d177ba2359959903d7ec7de59fe98d6ecb869710 /usr/lib/modules/6.17.0-1005-azure-fde/kernel/net/8021q/8021q.ko.zst +10 a810fc02d261ac34de50aee5cd30a03c9a9db6b1 ima-ng sha256:d2ac991650e3feb41cfdd09fa97c9581e9c8ea8d68868db3a5ed0d2f39f7b2b2 /usr/lib/systemd/systemd-networkd +10 3770c81e529a85e56e2921e0bad9af1f59215ea0 ima-ng sha256:d5fe030552da872ff86a42fb82abd6d9c6e7fba1a5897e1c3a9911bf98b70585 /usr/bin/dmesg +10 c77905332821876836a01eca57b43b2033dace16 ima-ng sha256:5b52d058d8c6d21494e1f2a2bdeba63c06f217690136def8fb666c29b29a580e /usr/bin/growpart +10 25ab2b8e7b79e52b55962f3f8050d8f3bb842b22 ima-ng sha256:684ad515cc43fee7f6c6875197b017caa98ebb34d7fd2ae9081e68b870e52410 /usr/sbin/dmsetup +10 3b2b20863284d793c845c49bab4dc6f6205f97ff ima-ng sha256:5400fa036759e260dfefff9e1ce3281cf03f694003a6aed8b3a9cbb45f449fca /usr/sbin/cryptsetup +10 b35713e2cab906ab7ae5c991b0877a8ff910d5cc ima-ng sha256:21218da01335dabbf62ef619c8f3f0bb4285c525665ed3d802ae45550bdcc263 /usr/lib/x86_64-linux-gnu/libcryptsetup.so.12.10.0 +10 c0a0d57d6213cf77720b8403871f69626a254f01 ima-ng sha256:4081d1d73ba5bc1d033cfea56023f609fcc976001769ff34af41a3889605a311 /usr/lib/x86_64-linux-gnu/libpopt.so.0.0.2 +10 a87e51ac2b9c64cdeb65b7fb2263600015819403 ima-ng sha256:3c593c01d1c3497b1276537a1002c90ce3beb729a3520087608838cf8bbd847d /usr/lib/x86_64-linux-gnu/libargon2.so.1 +10 865bcbbedc9815a2544d94954a18a9695b2ce5d0 ima-ng sha256:5cb4dfc866c13becb4d447440c4efbbd4114a469e348209f6f86d9741c12661f /usr/lib/x86_64-linux-gnu/libjson-c.so.5.3.0 +10 053894716eae2f4830c4f5583af28604c5fd115b ima-ng sha256:4cd12047e55a7b37f47293cca6dd2c2a317f0feaa3acfe7cfc4087942149f2fd /usr/lib/x86_64-linux-gnu/ossl-modules/legacy.so +10 06bf94803ebec24d2b0eb5b01cc6d15e98d2a5cc ima-ng sha256:583d6d53ebdd05cc7389398368634427d0f69aaf533489bb533a435362612fec /usr/sbin/sfdisk +10 2a813d5f6e2ed0ef3790e8174507ca95551a5cd1 ima-ng sha256:88d1add49be20ebb88af3ef01278f581cd13312cafc592b6167d6174cedc2963 /usr/lib/x86_64-linux-gnu/libfdisk.so.1.1.0 +10 6154f1f1368bdb7a25bb885306e78bb27095ce41 ima-ng sha256:251737d4fb62cf687228219c8891ca857eed874df9b0118bf4b2ac09af3b4849 /usr/lib/x86_64-linux-gnu/libsmartcols.so.1.1.0 +10 887542c7a1fa72639f1c56545da370aa04fcc245 ima-ng sha256:66c12078fbc09868ad418b67655f501d10508e6b6670c1a373e90e6744787478 /usr/bin/partx +10 436d432dc772cae2186588d76277cb213df30d4b ima-ng sha256:45d28b6224635b9506be3fd58b280e8267ea1418f251ccc84f9c4c1b56ce9e45 /usr/bin/mktemp +10 3c6fa2a8b938b909fb8d4074ad4acb9b3e00d696 ima-ng sha256:aedf2ef491e1ca4ea2682b88a031f7c3960ebb133677a339743e859fa3d3d8b5 /usr/bin/rm +10 431cbee7c63b3e2f9c2aac801e7da4691dc7fdd6 ima-ng sha256:1a0ea5f6784285b82098fe7935c95bf1ac76713aec904cc9b43920fa85ebe35d /usr/sbin/resize2fs +10 e3b080827cbeaf97c9f98e2cec0255418e894803 ima-ng sha256:8c479f1fcddfd6693c736ce541da0955f6752834bdeeef4b928e27f5e974c247 /usr/bin/dbus-daemon +10 ad8015722029de8602e0ded3290a4132397af297 ima-ng sha256:a6ae7b4ef48562b40d7b9ba8efd2e49f6528b7cc6364bea382dcee4b473b5413 /usr/lib/x86_64-linux-gnu/libdbus-1.so.3.32.4 +10 3cd85471c7de15ac1f86b76fb639f1c1f2970ca9 ima-ng sha256:ca2883dfcc5568121cf4afe5d1556a4fdaa5e24c6677d56e1c03da07bfc5356b /usr/sbin/e2scrub_all +10 516114a33fecbb46ac6f672d7df616835a420b34 ima-ng sha256:bc5945feb8bd26203ebfafea5ce1878bb2e32cb8fb50ab7ae395cfb1e1aaaef1 /usr/bin/bash +10 b4d25e72f09bcf7497e8a0448e20754a1c49bf2f ima-ng sha256:aad2823762b60d03df6762ef18eb747a30d20ff7882116f96f4adf745800d697 /usr/bin/networkd-dispatcher +10 70008749d81f90d02c4e9a6158117031dd469160 ima-ng sha256:c098ec8693dafe419bf2146c3e7ebfc9b1f4848584615cf09d6cbc1c980d922d /usr/sbin/nvme +10 ac1ae093f8f68db82a3ce1abdb9c14297287a340 ima-ng sha256:b67ccbcd2bbbab5f88efe1d9f2b34e5f9581964c2364637b466069fd24a95e2b /usr/lib/x86_64-linux-gnu/libnvme.so.1.8.0 +10 31ddcae26eb88996416ea35f7e67d085c93b2518 ima-ng sha256:46b438e5f6b2513777a674a8166a0791cf201ad59f2474cbf2b75ad93f295e2c /usr/lib/x86_64-linux-gnu/libnvme-mi.so.1.8.0 +10 cc81405ecdb6f8b7026541c4e9a45349143a552d ima-ng sha256:8e25ead974b2150aa99699a1c81437534e57fd5c331022ebc4ba6869fd01c523 /usr/lib/snapd/snapd.core-fixup.sh +10 4e4c629b37eda64618b16128a23f8963038b8f38 ima-ng sha256:ccea8fd632c76c13635f6a81b2dc5e7e22a8de396821607e96a236880c3c0ecc /usr/lib/python3/dist-packages/gi/_gi.cpython-312-x86_64-linux-gnu.so +10 fd92ab26822f9121de99bc9957d8b9c3d0966b73 ima-ng sha256:2c16fd69df300c76d8ff4847dadb09d30433595e737de98c9935752e6fa29fb1 /usr/lib/x86_64-linux-gnu/libgirepository-1.0.so.1.0.0 +10 1882751aa064407205693eed4326830e380329ce ima-ng sha256:afa4277c764bb0c49eb83b894d77c9881700f93e941992a788f715a5e23e1239 /usr/lib/sysstat/sa1 +10 23a9fc00077681d627a01f39a172e76875afbc90 ima-ng sha256:eec0bf16836e34f166fb5da22836bd65676e5b670152a00c257f24d4176b2cac /usr/lib/rsyslog/reload-apparmor-profile +10 761a7e8e735864040919c6246ab5ba03d7f11a53 ima-ng sha256:d0dcaadc057b3791f3d3aa19e2f9b1243ad37714f4336a8be0b69b197bdf0397 /usr/lib/sysstat/sadc +10 7afdc043c2228ec0a65408fa46e047fb78316b3c ima-ng sha256:5464959e6896b27396304c91706089f1339f10430d7381fef0beebf183332a36 /usr/lib/x86_64-linux-gnu/libsensors.so.5.0.0 +10 250c21252349f150b02d31cd11b758864f8aec3a ima-ng sha256:e96923169d580fdee95b59556f3ea5c9cd19f1d5f2d12055db5404749e21e756 /usr/sbin/aa-status +10 a01f188739d9d3081c9d27b23f30b81b98ce719c ima-ng sha256:1c37660f5a060c6e90ea5839fd64f2c5ad339566ba7b87c619fbbf62b1321ab9 /usr/lib/python3/dist-packages/_dbus_bindings.cpython-312-x86_64-linux-gnu.so +10 a461030ddd1e756775af41753aa18ecbf76c9063 ima-ng sha256:aadf60dca22d367977d77384d6fe077e027e231312554db0634e0fb0b5a2de32 /usr/lib/python3/dist-packages/_dbus_glib_bindings.cpython-312-x86_64-linux-gnu.so +10 6c64b7769d826f1e41e76c798489fa5eeb44d065 ima-ng sha256:02f34e605299d93e6c2e9ab7a35bb2b2a7b60ba0e109d70d1cc623f706d4d8f8 /usr/libexec/udisks2/udisksd +10 3df501ef5cf344dcdefcd060f8d6310b4165c6bb ima-ng sha256:1903aa717807afde0d1cc5d9036da34547c9735a5fbbf8107b4f63863be541f9 /usr/bin/networkctl +10 9f4ff9154267c9f2f91f1705f9351915cb4417af ima-ng sha256:fe24380e9898291c58f4b5533bf9199604c919a6e0567ff21652eaad7e4982eb /usr/lib/x86_64-linux-gnu/libgudev-1.0.so.0.3.0 +10 3f66fe3c8364b4769dd454994ba0328a8d8c9717 ima-ng sha256:81abe1d259e7a46582993ab8fb63e632496e61c86ac098bc99fe688baef5d5fd /usr/lib/x86_64-linux-gnu/libblockdev.so.3.0.0 +10 472908823cad6fb4fff6950495c37d0bbca8348c ima-ng sha256:327a1b5356761aaf32a2c9a49446e93013adc6191201a84a62f06ead863e189b /usr/lib/x86_64-linux-gnu/libbd_utils.so.3.0.0 +10 54d08268c023f62b9ce29b4a5375becf8ccaa653 ima-ng sha256:5d5b02accf301d800f207eb59cf072697c1ee7cd80fef08d9c1ef471fab3e733 /usr/bin/snap +10 0091eb4e0575e05ba5342c742795aeefa8a8c3a8 ima-ng sha256:25b1ed5913367f39ce9e5c4f7d6fccee8f13df814c193845cfeabc0e5bbb2498 /usr/lib/x86_64-linux-gnu/libatasmart.so.4.0.5 +10 e55b975580ce00805f168e46d0385222e62390e6 ima-ng sha256:730e4c8ac8518b0daad3da2293bd41e71f383b1fab68015173f5c51204335e0c /usr/lib/x86_64-linux-gnu/libpolkit-gobject-1.so.0.0.0 +10 e35fb0dc5aca78782364a83971c9db56e5bd3df9 ima-ng sha256:6484f572ad6abe9e525f90239be9ee69f699984cdc4cc883b29a1a1a9f1b5229 /usr/lib/x86_64-linux-gnu/libudisks2.so.0.0.0 +10 d666319770eb180764496cd0dc92265db9803b0a ima-ng sha256:5d759cda3fc28303eed34a0fcddda358f9a732809e6dd875d0ed0a707d909573 /usr/lib/x86_64-linux-gnu/libbd_swap.so.3.0.0 +10 3734a9c2f20dd770d157d40c7da638438f4a8f3c ima-ng sha256:bcba7a28cebfcae226ed98631e83488c897bf252e8385d17eda31b2806840864 /usr/lib/systemd/systemd-logind +10 5280b4e19895c3015308b8d7a4c24da61d758b50 ima-ng sha256:e677a7ac61a1b48dbcdf576c7935f8bce3383b3434fdfa818631f324daf81718 /usr/lib/x86_64-linux-gnu/libbd_loop.so.3.0.0 +10 df8ac612935086deeb4941a39a5f4938872b1dfc ima-ng sha256:3c57bd028d1560be8b9b662b2e052a1ba1e0446a06506b176aee1c7356df6db5 /usr/lib/x86_64-linux-gnu/libbd_crypto.so.3.0.0 +10 4821e9036e27ec6d787631dd33ba7501d89aa13e ima-ng sha256:bf3c472a1baac49b62b98936a5c2d13092abd89978164fb507fe32daf6993100 /usr/lib/x86_64-linux-gnu/libnss3.so +10 2261fc58190f5922c99dcd4e9be3c5f4428d3e80 ima-ng sha256:59b076a7278cd31c140d3cb625d0e4e2e4d2cf24f43fb8b9bbe5dc7f918ae2cf /usr/lib/x86_64-linux-gnu/libsmime3.so +10 94bd979ec9ea04b31c216013e3dcc8ab7c7edb66 ima-ng sha256:d1683c204300882bd4ab95e16b6d6cbbad224de0c683acceca10f5a566d99cb7 /usr/lib/NetworkManager/dispatcher.d/20-chrony-onoffline +10 f3d4f0e54680e0eb4f468909df433e8d4f5ff9e5 ima-ng sha256:c8db2f36a51a19879d2250a6d2a235694d4ea27d995be6d5ed2e15207afb7cb5 /usr/lib/x86_64-linux-gnu/libvolume_key.so.1.2.3 +10 b89a76800c226a303d0d6a2c2fee3e56ec9e6f88 ima-ng sha256:6684278f34146b89c3e89457dae5a44ebb83aa7047986db8524bc9e4e09c9b9d /usr/lib/x86_64-linux-gnu/libnssutil3.so +10 4d1fb0010350bd0e238027306b6d15589658b0fb ima-ng sha256:f68520b4a9ba6190c67ce96511192f9af31dd96d91f18fd64cca48ffe08f7deb /usr/lib/x86_64-linux-gnu/libplc4.so +10 00576786bf1a538bdd10e8a91c5de8bb0995f52b ima-ng sha256:403f3c1ec489de93d04b5a386d2e659af6da0a41e09ffb90a280b6d68eeb1617 /usr/lib/x86_64-linux-gnu/libplds4.so +10 f0efbe349b1ba7172e94620ac5ede273fa44b6aa ima-ng sha256:271ea54c67206559437bd299d0e08c9e3d42ee6be322b1722e76311cd5d9df8d /usr/bin/chronyc +10 e6d40b45789465e42be03dd599efa041531ffb7a ima-ng sha256:c32583a53640c144757419b977a76976ee3dbda7b905a0af1046ace3c570ae98 /usr/lib/x86_64-linux-gnu/libnspr4.so +10 64861db3821512e0e35091a9f60538353a7c9285 ima-ng sha256:a245ed916229583d6fe0b07657b3ed945bc148c28cc08b5266295f620d2b91cc /usr/lib/x86_64-linux-gnu/libnettle.so.8.8 +10 83c34b9be07f3e17119d04518bd9097731de0859 ima-ng sha256:a5b16b01e5a7bebbe80ca228d021fa117e4d982226381312218ba47c9f12bed1 /usr/lib/x86_64-linux-gnu/libgpgme.so.11.27.0 +10 4473ac3af660eaa13a5bbe5ca220fe8fcee30f66 ima-ng sha256:ae80d8e06d17cd95d654da3dd52f3a63ad241ea5fc001fa2f52ada5e640cfdd8 /usr/lib/x86_64-linux-gnu/libassuan.so.0.8.6 +10 cfb971f06e2f8e298183127e05a9018cd3034b78 ima-ng sha256:6c733206caa7bb51b03f15815c92bc54c4893f67618eb1353b6fc89e0ddf4e60 /usr/lib/x86_64-linux-gnu/libbd_mdraid.so.3.0.0 +10 fc286f26f284fb54557195d8cb80b749eaecda05 ima-ng sha256:9a4d09b39f1911f9bfdc50578dbb1470d7d8aace398c800549ed2803fa03f8f5 /usr/lib/x86_64-linux-gnu/libbytesize.so.1.0.0 +10 4c52dab22d6020f1701271e431f86b6135128b20 ima-ng sha256:117a9f20b3e50fce347b704ac7c50dc4498ad138214de2e6c326f17b3c3af7ab /usr/lib/x86_64-linux-gnu/libbd_part.so.3.0.0 +10 fd9f800adae4f41cfd33e3620daa82573f6472f9 ima-ng sha256:09bf5eb7305fef5abd1b771c8a09e69ea1e12d3dc1e6d34496a8b66ea19bb2db /usr/lib/x86_64-linux-gnu/libbd_fs.so.3.0.0 +10 951ea6ce2fc1eb68e581572627359dacd12e51a4 ima-ng sha256:9246832be4e13f85440badc2cc673154a5c25277cb6eafcad8d8943059b131fc /usr/lib/x86_64-linux-gnu/libbd_nvme.so.3.0.0 +10 ecec412d0cbcb52a3af7881e3fee902487c75433 ima-ng sha256:944a6ff2b756619aa977ccadb27c7d32384c3a38a3126575dddc1bd054879991 /etc/console-setup/cached_setup_terminal.sh +10 83874d8de8d02edc0c6d0f9a1322a46970683a8a ima-ng sha256:48ae26b9a01b359ac6a743c074265e4b19a3ed99bbc4c46953850c75edde8e1c /usr/lib/systemd/scripts/chronyd-starter.sh +10 1227e3544112dccf4cd1331c55d4c5acd239ebde ima-ng sha256:1b8b5e2c53e8970dd2f47c9a0892030d1ebad57cae1f7242c43a6252f1f6dff2 /usr/share/apport/apport +10 962ec5ec706760a6a3b5405c0e969a217faa30dc ima-ng sha256:16112312c9d96d9a998ffc680292866b7665c2c0971faa1a86f08c303c6b11c9 /usr/sbin/capsh +10 9c349eab85285e37896f682c46ecd05726fe6386 ima-ng sha256:7a834e478d8a904c39a348606a5d0ac58fd1ccbca24f333a8170c786af8ca508 /usr/sbin/chronyd +10 0904584001594790c36adbd95ad214626d815201 ima-ng sha256:6bd8593640af2413bce259fa0affc18dbf149892756ebe805bf316624f8b590f /usr/sbin/cron +10 b7033ae015fcb3d1c44547038cd7eff44cbb5418 ima-ng sha256:b7ae1a5a5702267e1612599335a5ece68093be99c13b394d55f9a782c390413e /usr/lib/x86_64-linux-gnu/libgnutls.so.30.37.1 +10 2bdcc314b237b8d901653e2c57ae6463e8f0acb8 ima-ng sha256:caf61aaeffaf71b36ea1a830650505ec57a90038573c214b9ff01ee284a95f4f /usr/lib/polkit-1/polkitd +10 697fb3c8a509a721cbf1c7666f0eeb1d75225858 ima-ng sha256:c6b469a006685ebf2075e200180c3b21f41b88ad722c5697d736ea558cfe3ea1 /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.3.1 +10 990f02be05d7821ebe474b347fccc7378b98f436 ima-ng sha256:59994414d0cdec4f678ef91eaaafc44b26b00bca507e4cc7978caaf79f584173 /usr/lib/x86_64-linux-gnu/libtasn1.so.6.6.3 +10 e1b774b3bd3895eab3d347ca771751d27380e613 ima-ng sha256:c3c606139d4f7776efa4dbd4a6b62e30c916b07a0cafd8c3ef173d6f093607e3 /usr/lib/x86_64-linux-gnu/libhogweed.so.6.8 +10 c5d37fb367afeb5788a31974af3894515cfddc47 ima-ng sha256:5733ea32f7c50e962e08b26b02f0656851525f3aa06f8b826459e27fa8711199 /usr/lib/x86_64-linux-gnu/libduktape.so.207 +10 0f30cb5d3abf8153708f62b38a6e84ff397e92e7 ima-ng sha256:47bf261efc497fce413d632a36872e592b903b26eaad9608ded15054cd78d18a /usr/lib/python3/dist-packages/apt_pkg.cpython-312-x86_64-linux-gnu.so +10 34332e213e7244cb7eb08b1d25484f89775259d4 ima-ng sha256:a550bb7ffd9d27ef5034611134a4c3587fcf6aa2e4f5d3353b37fc52dc686780 /usr/lib/x86_64-linux-gnu/libapt-pkg.so.6.0.0 +10 800652b4657978acaa2f1d490c88a1ae00f4c123 ima-ng sha256:1fd75fe70354a416d75aef22bcae68c47bd25d20e2d0568c30b1a9838cf62f11 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.33 +10 a25f6733e9dfa782ca8449ad219a056d62f44e2d ima-ng sha256:d93224d2b0dab4247598be683adca02f5cf00586f99c187579cd7e92058fb7cb /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 +10 bbaf6a6aa510ff61f2896b9bdace1d9467069b4e ima-ng sha256:a43c43c2fbb643f42572577b6c2514905804f963d186d4d630e184c4015e68a7 /usr/lib/x86_64-linux-gnu/libxxhash.so.0.8.2 +10 f88dcdaa99c368d0147d604813f482ccd49c3629 ima-ng sha256:3ec825054a86e1e8784e4f0ba013d2b82e25c56f5cbd4febd2aa327340c09891 /usr/lib/snapd/snapd +10 c6d7d274453a3e0f4147675c7ff23743031c96b3 ima-ng sha256:d6ae52a9a0b5451ba10f3e936e81a10ddae8c0acc0f9618c54544dad2af9e3c8 /usr/sbin/rsyslogd +10 f9592619c06482ac3f62dfc6bafeae56f779744b ima-ng sha256:ce6c6fd66d98b2d6c8e75c5792ccc1f2197685da39ca429bf29ac8422b28048f /usr/lib/x86_64-linux-gnu/libestr.so.0.0.0 +10 695ec2ca3ba6c8b8da8b86e6324bbda418fe9e5a ima-ng sha256:565e7267d7e9c373025a4d6e0bea362405deeab627363ec628e45400883997e2 /usr/lib/x86_64-linux-gnu/libfastjson.so.4.3.0 +10 9fe774e8a55ec840f525d74912bfd3033e830822 ima-ng sha256:17ed5392ce040e9d40b3816b76d5f3e1bf6cecb2ec1ba81bdebedef6439d9267 /usr/lib/x86_64-linux-gnu/rsyslog/lmnet.so +10 7e462742f785804f2601285fc9df662175c309cc ima-ng sha256:0719f36043c9fa68485183dcb2b361f6c606148424c6c3349d2f55dc4dca985e /usr/lib/x86_64-linux-gnu/rsyslog/imuxsock.so +10 31a2dfb6aeb26e0fcd2ffd9661d9ddff86d8d3cb ima-ng sha256:0a13f8fbafc4de5bc50ca3a70cb15dfb10250a9bf2bd60161f25fa838d7f68a6 /usr/lib/x86_64-linux-gnu/rsyslog/imklog.so +10 5c499fd45511cc074a29e50283009da966bd7046 ima-ng sha256:6f43f471c68d52a878802b2d6b0e5bb6e9258e6d8f1928cbcd0e438b13a0947a /usr/lib/systemd/systemd-user-sessions +10 57f799b1dbf5420d5472d4ac2c159bb2ee95ac3d ima-ng sha256:8fbf4e278c4ad457e82cc05586631b1a0550dd9d10892a70487ef74c623066e0 /usr/share/unattended-upgrades/unattended-upgrade-shutdown +10 1b46a0e33795a98f0ced078745dc1f8dbd3cc435 ima-ng sha256:fd6ed35189e324f45d83739499e8d8ecdd986039e97f8a9f7d9cb138a7c747df /usr/sbin/ModemManager +10 a9b13e4bd5adc1d6eb9639f20d883893b5ef9014 ima-ng sha256:ce9c6ae6318db42c9f9b9bef77b107044a58624baa109ba67df3b2bacb9a1d6e /usr/lib/x86_64-linux-gnu/libmm-glib.so.0.10.0 +10 d51d4de0506263b798703ff013223273aaebb966 ima-ng sha256:417261d35041cd3abb7cef6993145809e728e4335c6876c51809c9e12e224db2 /usr/lib/x86_64-linux-gnu/libqmi-glib.so.5.10.0 +10 ff49a262d2a3e06e550a6c830dcd078a1c74f779 ima-ng sha256:2c1ef643c5ed4f9b731a0fd3b4d7c4abda5f64f5e2a20358e5e1a3cc7f30ff0d /usr/lib/x86_64-linux-gnu/libqrtr-glib.so.0.0.0 +10 567c1e8e1f6fab43bd38367408f839e91a9c13cb ima-ng sha256:77c820ffc0751a1d67c1de1ce490574406c2b47938b8f71200562f13b5c3c8be /usr/lib/x86_64-linux-gnu/libmbim-glib.so.4.8.0 +10 01639ba1b5e06302de8a17fcd8a979871920484a ima-ng sha256:e021e097ede35c90e60cf3863255b90c5d740164c13cb79e5d6d138f2dd964cc /usr/lib/x86_64-linux-gnu/gconv/ISO8859-1.so +10 face8d3ba0dd9dd91fc59c7ecce088a2fda932ce ima-ng sha256:d4049e1478ffa06cee042293656717877af8afb9788d8b72d04cd20eaaca317f /usr/lib/x86_64-linux-gnu/gconv/IBM437.so +10 04cd6f782ad28c89c7b95f030426fefad6227708 ima-ng sha256:819bab4438ce19b2b214a540e1d7837f3cedb55815c249f7ac0862e0e5684d60 /usr/lib/x86_64-linux-gnu/gconv/IBM850.so +10 8073bf257944bdec669cc21cd962068fa98519d5 ima-ng sha256:a430fef4f44ca55d72af27f217a756141022116b21fa4bedad6d6c621805a784 /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so +10 3a29a664db502f1bf9873f570d1c892c6b6920d2 ima-ng sha256:05fc8b085d5d4da4f8152a919b05f9df904858c9e42ab164c0f73f9c9abc1d5c /usr/lib/x86_64-linux-gnu/ModemManager/libmm-shared-telit.so +10 a38a2f19aaaf8cb7805483009f505f309a99e3f9 ima-ng sha256:51e812c51762add2546af6f6d2f0524113e7cc8b20e1bd5868d0b98e938f96fd /usr/lib/x86_64-linux-gnu/ModemManager/libmm-shared-icera.so +10 07b027512df8405da2f216c38d8006aff4ffb6d3 ima-ng sha256:aed13f387b2fe91e73afbb180e3b9e36f7b7cde27971fd67363eb6e498e677c9 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-shared-xmm.so +10 16a16c1edf2144986099a4662c324ad70fb9d24d ima-ng sha256:9a567642d4fc50762a878093bc4e7ea431e56ffe027e91a316628363c16601a8 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-shared-novatel.so +10 7ea629b70ae515f07ecabbbbea2c6a45ae5155d4 ima-ng sha256:a4bd643185b85ce930e1ea1ec10f0c0b02909b521084af18d7b101575058616f /usr/lib/x86_64-linux-gnu/ModemManager/libmm-shared-option.so +10 2da332ee16099bec91b1ee97acbb7de8792a2d66 ima-ng sha256:83656b15b4ea1748cac39c25efab0febe083b234bea1ad4ede999e52365d3a61 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-shared-sierra.so +10 1c8555021fbdd57495467114d8489a2b0fb1b942 ima-ng sha256:a2ebaf6f3afa4e83dfcb3e90986ec4458386cca7b1cae9f6622c6b5bf4fc7705 /usr/sbin/setvtrgb +10 cf4bbfa45230814ed07cc3475ed994b324ac4cd0 ima-ng sha256:76ebef3d76ba8f5be7244a7568e048fbd9ef367bf131d207522e13cfce7597b4 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-shared-fibocom.so +10 d82934df8001812ffbe0c9e36218763757e0e310 ima-ng sha256:aff82b84e417122eadef74b72aff8372608d78da418dbcf21d0cf6a326550940 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-shared-foxconn.so +10 43184ac3262366e5f4ae4578a451ec125570745f ima-ng sha256:64bc331c457c67fe61150b3ab9c3d10cff01ca3bc54fa84486d33bb42afdf538 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-broadmobi.so +10 08349822b6be693d6fd7048f16015112b8a900e9 ima-ng sha256:a729b21767ff06ee33b346fc798ba2145d058f0e50c89bfa07a39b73c1f31669 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-iridium.so +10 ba08516c15342086dbfa10a9da77f2ee8400be98 ima-ng sha256:1c3d7ab8e0708ec178037d0176a2668a216c50fbeeb78b27223296389848b094 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-option-hso.so +10 dd61f25339565cc7b758aa29f113533ebeec3eae ima-ng sha256:c8a0c9a4a48857d53f2a51260263330d0acbcf09048309898d277130cc95b5e1 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-mtk.so +10 45b2c5e84d2a27cbe231f20f61e66cfcd4ae08ac ima-ng sha256:9f3370232f9bc515cd224715acb587a2db76b186c0304a0805d1113307d75d0e /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-dell.so +10 f5eb10cb1f012c0ea2439fabbfe5c966842eb899 ima-ng sha256:fcd86f3bca5135de5ba2aa422fb4e4b083e4a6986d687e0c978eb6442f2d6872 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-intel.so +10 ebc79058d6798c7fa09859895cee20c118f5cf5f ima-ng sha256:53a7161422f28902346b0f181d867a1fd58b9b3326ba580e08a5498c0f812d3f /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-altair-lte.so +10 17322e10df40e90fac411c9ddb63d10255891529 ima-ng sha256:2ed27be6c13f89807d0d475a167b45fdb6b237804ee612ac46f4b51543b8deca /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-generic.so +10 0fc87474eb3b54c84dd8b48715ad7bd30cf79253 ima-ng sha256:5dc7b60cd6a30068d454651fc1d0034e345558271c26260ca984ff978fc229fa /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-novatel.so +10 55db09716f81c80297ce49b4ba0a60aeae0c605e ima-ng sha256:a84f1a748d847e247796778e942c4f7a0f9cdf489b8a7aa8525874f4acf415be /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-ublox.so +10 89fdd0b9b484b31095996d94e1cfd1d21f901a6a ima-ng sha256:bb6f5185fb08b653f12b3f0dd27ec0318102ad85484eafc91ba3c4c0e0b7356e /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-huawei.so +10 d8591cc0cb36b8eaf14109da33c483bb6007c84f ima-ng sha256:e95d2f00f4b94bb835e7e3e904b6fe7c949b20c46e57fd7f60d6d8840406407a /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-pantech.so +10 a1b6ce436406fcd082c9d2fdf9c47f45aed0a914 ima-ng sha256:9e7c8ba4197d03d4a7637c7dac190ef3e5f597f54a8dbabc5444daead3eb428a /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-quectel.so +10 f4afcb8285d30281d5ad2c12ee2b5c1832d97177 ima-ng sha256:9267a515f5f8e2ecf82f498aec31d2e293dbedd738b5d5f755ea900126229a61 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-mtk-legacy.so +10 3a1e3b941729a4092d7ad5257a36aaf68ad38b10 ima-ng sha256:de7852eb276ca1cd28cf42039a43b691dcb1624a6882932f723e2b38a4e0183e /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-cinterion.so +10 eb17bd5a3a3dde4f4eb9e1fbfd6c0c757353f744 ima-ng sha256:26230f5aa61700e4c44a9f0dec36fb30fea9c83c44f068903b52b45014bf4f63 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-gosuncn.so +10 cae64887b8f2eb9e666c323bf18e51fc709eb8d9 ima-ng sha256:afae00b728176ebcbd58021f1551c1daa276b78a108f290f5fb6c1da66a6b8b3 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-thuraya.so +10 039f52045488144b079adbd71fde63edbc340d81 ima-ng sha256:e2cff5d0f08ebfb6f7984b8ba94922d469d0496ada8fc1da434d73a7cffad912 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-foxconn.so +10 018768d7155870dc2f3f91a38853544c97d79ca6 ima-ng sha256:82d5297d9c0eb2b0caa676dfa30fa3d922051a865cc0ec90735db38d69f5985b /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-ericsson-mbm.so +10 a652ff8a8f4f73aaff92629c17671a6bce83fca5 ima-ng sha256:8d0d88b4701a1c18cc02c7f4b6bcc0dbed8d02bfb1def7d6647ed12a3aca022b /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-nokia-icera.so +10 4c6b067544b04ed255583e91152c02c3b95860c8 ima-ng sha256:f5970c5369052235a4acf8cb6636256ca3ec556d7ec91ccd3b4f64c014532d76 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-fibocom.so +10 1161c843d94444f58941837fb458984152a7868a ima-ng sha256:6aac37c18e1dcf144fe5a0b20837aa58881ac54674918834490952f0f81a9ff6 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-longcheer.so +10 54d790b54e7368ecb25234e6e173fc721a8a4a39 ima-ng sha256:a9da262b3e0a3a24fdcb979c0518a6ac383ae22791a8383ee7c1938f17fd0cf5 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-via.so +10 1162c985eda3f5d86c5f96567d2f13ffe5f07fc6 ima-ng sha256:725d3db083824d12b81005b33a1ecc4d4a3a57d9f0f776df1ad1ee8bc3ba53b8 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-motorola.so +10 8ae9b2c4d18b09329ddf386f3bdd9cf8a8724a8c ima-ng sha256:93e808264da681ad5575af691ad3661028f82ae491e5c298b88f34935d40a72c /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-novatel-lte.so +10 9f2ab011d8b31a30b652fc1952d3a22da513ec81 ima-ng sha256:6ea9f653015cd6697a273a62b55f354b548c5411ff04ad77a39f4e2713447daf /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-wavecom.so +10 e047e5c5ecfdb70f5d11328bfdf23d7f6ed2eea6 ima-ng sha256:a5acfc5ee557539c645e91049c6ad3f935a0fbe7d9ab97178687f00ff6086324 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-simtech.so +10 f7906a457fca8f46fc31c3b3a1c1866eefc84489 ima-ng sha256:d3e6f996d02568f09b1c38060ec42f6e576b3246be3b7723974245f8c5885b89 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-dlink.so +10 69875a933c558e45bdaef2fdb1f2ab5dfb9b614a ima-ng sha256:083f8037e6f0c0f187f2d0bee79b658bc4ed54b44190ad446039ab3a2591c184 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-qcom-soc.so +10 751fa16edcae31385f56244efff5a30284127a9b ima-ng sha256:7f11d3236d860ce9bb9346bd96d4ef9719f0f14913f863dcb5c19dd7a39c89d1 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-nokia.so +10 665ffe93b7a06705590d436e102998c569915ad9 ima-ng sha256:0b0de31ba1ae676a9f9d368dbd2a6b732ae0eec3ee4843c3951514a224c2a044 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-option.so +10 3e37f4370b05392fce12e256845600b238f23e11 ima-ng sha256:d9b052542698791ac474d686fe45594d04fe2fc3ef6c0582f6dd573449be31e0 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-samsung.so +10 13626d9b27b2b3c64a5af6ef338a5eff8fb1fb00 ima-ng sha256:243dc4cbeeea5675140d554838ab26e516e5e89d637304634eb05a9f0bdf8411 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-x22x.so +10 6e6f52fc7afa9b26e9c8e0a6faef849920cf9548 ima-ng sha256:297bac1cf97a63dc217c9621b0e0723760862c7501a7c54e66074b2c61339987 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-zte.so +10 b668eaef23ab697d5c386c5a0124018891ae6ffe ima-ng sha256:ecbd483486eef472d4b842e7fd807d342ff7afe1d79893e412dc526f9307a346 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-linktop.so +10 faf6dd4e5a710120e49a75302ef02d1f0aa2015a ima-ng sha256:166741dfce18a2bce1bdc080d6cd4101adbf9db8fb7cec6b04ca8af4cd444307 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-anydata.so +10 cf86834f8778f7dbc08d61105164b336efee1ba0 ima-ng sha256:a1d99fa9f96064b8690f9b631f16cad1a3cffbd953ca2261e1327a536f786303 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-sierra.so +10 69317f63852571dea95df48c61237801cbca4312 ima-ng sha256:1cabc77fda395fc8e01c8c6999b942605d1ad61d41765f53b5017adc13f452a4 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-sierra-legacy.so +10 8d20be404c009b86491f7b81b679cd1494fe59e7 ima-ng sha256:a9a038bc22d74f2ad7553d96c2a2f9991569509c79256ffe870697552276b0b7 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-haier.so +10 e82117555f18a0b44bc98574e4c85c64ec3f957b ima-ng sha256:2c5b765c2f22877c6d63fc46b2e8a8f78843e83733aec1a3f0168635d7bca484 /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-telit.so +10 9afb4b8ab7bc95bdbc58b0258efab3fad4967aa3 ima-ng sha256:bf89e5994aaa3e1d5d00c9803f9284afafbffbd89d614202bb4308dffb54551f /usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-tplink.so +10 90711d8618c3bc025c3ebfb7125fc11888256f66 ima-ng sha256:2ea59b57d249d58c64b028b2acf6118b62dc3ba89012a1cf4ff5f5a9891f513d /usr/bin/umount +10 5f025ccb89d33101521e89893935c61ad4504243 ima-ng sha256:5344259cc611f89483cd15f46ecdb1d1dcf7c1377c99191288e343f3b8dfbea9 /usr/lib/snapd/snap-seccomp +10 afab9c9610f30b6cdfae91e94aa21abab9557e84 ima-ng sha256:018dad9ce0561ba839b66c735b8c5e72a02d444a8057330112d6c333ee1c5acc /usr/bin/openssl +10 6a0984d75e797e46837a772793b2c3815af01b7b ima-ng sha256:0947be859e05ef4d54bf5fc275460d923167c344263853967dd55cf9b2d84445 /usr/sbin/ephemeral-disk-warning +10 0016a5a6f7211acadf79cc8d6e9ca9a55d145e23 ima-ng sha256:5fd042e7752e15a8b48580c3c8be6b6a0a54334e741b93601897334344328f03 /usr/lib/systemd/systemd-timedated +10 b449235e78e62a9b8026973d08b6028675c27d08 ima-ng sha256:6a0f55fea1a81f1930c86f534fb5570785b2f12f3da49709e76c3148a89e0197 /usr/bin/savelog +10 9cef8ea96c3170da4a410ea6fbfb0c6935ea0fb8 ima-ng sha256:225cf5c9122f922b8315538425bed7610853c853d6a2d2cfd89161b04f692367 /usr/bin/date +10 d7e8fa4f4fd05c8e6a66e44495e19df3cb7e0647 ima-ng sha256:f115c88e3c6c48365df996252b05228726636316340a5aa17f41f9f88777c3c9 /usr/sbin/agetty +10 ab5e88d2a02850fdd6b7cb2ab5e641f17e27481b ima-ng sha256:4beb496d2c0c39359f01d7e727084a3565237f3c3f5aeeaf06ab585329c0301b /usr/bin/basename +10 b3f77e6937763f91044f53921875c30e7fbb2825 ima-ng sha256:5ed2ac7b191a3457d47a1c718397b819b04754174176c7cdd3c92faadab08055 /usr/bin/dirname +10 2fdcb28aaa45c7ac8946e49767d438a2d1228ea6 ima-ng sha256:8f07f577f2438fb80b1d44851bb507b0d517cc6756bb680e0eda1b8bc07f0073 /usr/bin/mv +10 7163b4ff01cfe684de3198c246bc64c8f6d186bd ima-ng sha256:b96b8d32ff2454f29f09961e29832181bc7cccca5b5dce81f4580cd68701170a /usr/lib/x86_64-linux-gnu/libattr.so.1.1.2502 +10 aa2d87eab9932d95aac15356b26c3c95676b2a0b ima-ng sha256:5244e873c97db0bc4cd9d491eac48d08fba366a7e6584b3fc6225e8aa9d2acaf /usr/bin/touch +10 ed66362b3331ccaf282c7160c0df568666aae2eb ima-ng sha256:ec9a5923a49c9ea288cf5e5becddd9620232df940bd0b327528c4a9077b1aa9e /usr/bin/chown +10 aa679069b24e84f4ecd1c9c2e569bb62b65d5c41 ima-ng sha256:65a307e4ba73f52b0775edb621072ee6f89d2ac40d4a0426547bab5aefd6626c /usr/bin/chgrp +10 1803758d74c3fdb901039974bcb956efd6d411e5 ima-ng sha256:4006fc13e5cab0cbacf448a049ae8f0e468a67ad099242a9d923d867b0b5f593 /usr/lib/modules/6.17.0-1005-azure-fde/kernel/net/tls/tls.ko.zst +10 eaf0e808470879780f34de07fda634a93cd81063 ima-ng sha256:9a6914346a8d1c64b8b18150b2a84c54a2730966051ddbed17fcc661c66a1adf /usr/sbin/logrotate +10 d11f174e717ea36e54db423876c18c0a2aacbb42 ima-ng sha256:3b87d297111f11d30b3c51fd2663f131a161e09d8e130e1842adaefb74307efe /usr/bin/stat +10 14b944440f4356915967280270a5c121df18b100 ima-ng sha256:bb2f0ce5dfffc24cf965c67686c6e8bcc0383161800dfca661fc490dc9c1a63e /usr/bin/findmnt +10 21027ce5247117f32190366cc643d36379c9855a ima-ng sha256:171e6ffef3a838e24f7b2eab2a93b55ebce963f554ceef41c5170b69d7e96716 /usr/sbin/killall5 +10 8be6cdad9205ba9755caa37793f612b9fd2b1376 ima-ng sha256:3e311eafe7057e69c5e528a7ff7a0aeb7110d60a173eba7f3dfb3d09e5456adf /usr/bin/free +10 c71f0e1bc94d2fb8ffb3e994571f5f53aca106c4 ima-ng sha256:f2b9f2eb5bc1c779b0a2ceeb6c1d2c08b6b2aa70370515aeb448376bc46b50a3 /usr/lib/x86_64-linux-gnu/libproc2.so.0.0.2 +10 2b6b66d919407ef76fc0dd551dea836a9726357c ima-ng sha256:99256f4bf4b800e88d3e8ac5afb039e4c233abefc4530bab816bb9e4adef3045 /usr/bin/systemd-run +10 c4bfb8fa3e291e630517bed859b5941272d002be ima-ng sha256:6ddbd927057ddf95e023b8cb287839af6788099a5984d3dca4e6fe57a6462746 /var/lib/waagent/Microsoft.Azure.Security.LinuxAttestation.GuestAttestation-1.0.1.45/shim.sh +10 361512f2feced4b36455d939b475b00b2c031e32 ima-ng sha256:0aefff8f912fb75716c5d4de3b6acde93edbe8fa280fc8ee895c1226d3e373ef /usr/bin/env +10 94ef1f338cfec9694a910473963490dc66c46ffb ima-ng sha256:1f4353cb4e33ae49dce3ad25b42f0f36f0b963abbf09985b274e533db15d9255 /var/lib/waagent/Microsoft.Azure.Security.LinuxAttestation.GuestAttestation-1.0.1.45/x64/AttestationClient +10 fb250434c6fd6a9a69fb1c684db32473b647921b ima-ng sha256:850b46fd4f4478060fc106f4d1dc4aa35c969eb5c9bd98aaf64dc6cb3d6a5e32 /usr/lib/x86_64-linux-gnu/libdl.so.2 +10 fc0925bec2dbe27f7376c1d371f0a48591649993 ima-ng sha256:92dcea07a5b11d939c22a96131d3fbb995e0a84a4d02db7d799bf357689cd794 /usr/lib/x86_64-linux-gnu/libpthread.so.0 +10 608c6c3e56ea93ff743883402780586a6ea96833 ima-ng sha256:3af5e01108bb54cbf75dad7291af3b2b4eb58823549da810cf66d93c3450e06e /usr/bin/ubuntu-distro-info +10 ddb0d1227e6bc4ec683c2be40a89d4393da5d71c ima-ng sha256:75e8be149aea6d47015d3df41c1ac5283abf44373f9f8bf6010c1ff85330dc44 /usr/bin/cloud-id +10 7781ecfc3c338850cf6b4a8c76637ebc077b2a24 ima-ng sha256:cfb6299d2fb7b8a84a954588396d062efbdf98f87c8a2f98bd89f34435c988c7 /usr/sbin/sshd +10 37550d2faa5a97d755acf4fbb634f8ed2ca3cdd9 ima-ng sha256:bf170759385436eaa60892f5422fb16412f7b449b2875a42b6c6a7ad5239791a /usr/lib/x86_64-linux-gnu/libwrap.so.0.7.6 +10 94c3a79335595fea57fe6a2aac91eb13b0eb0497 ima-ng sha256:f2e5b0631cf15ffc95b483b826ff548aff5db9b4bbb9e1deb0e82633aa8fb377 /usr/lib/x86_64-linux-gnu/security/pam_unix.so +10 a6c9778c187c1b194a6839109fdd597bdd038cdc ima-ng sha256:e014016d5d5bdfe39be829904182160c76d1338d4fde34f3d28a36c08be0aab9 /usr/lib/x86_64-linux-gnu/security/pam_deny.so +10 3d32b34cbbfbbfb43457edef5a336a4cae94c008 ima-ng sha256:482cafb6ee0cf18f196f3ef29186e438cb5abadd5795e67b4fd246a4a911846f /usr/lib/x86_64-linux-gnu/security/pam_permit.so +10 a45152317c9d721fea718fb556fbb3e42a249cd7 ima-ng sha256:d228575bae4d8212f6c38346bcb752bd533eeeee0cff4c1fd70f894e80ba468f /usr/lib/x86_64-linux-gnu/security/pam_cap.so +10 6653406789eccc8a9e1682c8d99352f78b7bdd1c ima-ng sha256:5fedaafa049c0c48c6de8e8be1368a75d37f375b0e8f80c0d81088d32a344a39 /usr/lib/x86_64-linux-gnu/security/pam_nologin.so +10 5177ae6d364afabab322b1f32d11a3e9193ca5db ima-ng sha256:05f57a02a7cafecba78a53f389df8736ef712b1f739143204ea781f52a662752 /usr/lib/x86_64-linux-gnu/security/pam_selinux.so +10 cf9ef6377bc341391977b29c2398d81ac97b9b07 ima-ng sha256:5d8937a9c111f6e6ac068fcdc1669784129b00589f239335fde7bf30ddf0b525 /usr/lib/x86_64-linux-gnu/security/pam_loginuid.so +10 e416bd2a5507ee9359c8d566571914cca9e0e1ae ima-ng sha256:3597feb0d2474574152167c96f4b9944eb4834099f37f269be0c75171adce0e6 /usr/lib/x86_64-linux-gnu/security/pam_keyinit.so +10 a22b5c8ffc9c5b76cb51cb4174601f97b75a72a0 ima-ng sha256:9b88fa633ac437ad79c4885480df01cedb5b7bd753315d9f0ccd175fd820f02a /usr/lib/x86_64-linux-gnu/security/pam_umask.so +10 c7def7f382ed4d30eb40534efe61522fb240ed54 ima-ng sha256:8def58b6db227f56ee620a35ee74e508440f052e50469268a85d4a172a661e30 /usr/lib/x86_64-linux-gnu/security/pam_systemd.so +10 8f90e428b5dd7d1853ce07868f21311763d94adc ima-ng sha256:c0a163158550b4cbb65209309795a21454f5c70eb1d2bdd925b647ecc1b4b5a7 /usr/lib/x86_64-linux-gnu/libpam_misc.so.0.82.1 +10 15ee88a93ea9daaffc819cf86284bb499d60ac9c ima-ng sha256:686400b40fd807aaca4e8190e3e506200ed5aee694c5f1887437331d3f4714fe /usr/lib/x86_64-linux-gnu/security/pam_motd.so +10 0ab3be028b2cfc158cef1e004c592426539f7764 ima-ng sha256:e97d608ba52ca4084bc2be5a998f7cda21680e5f91444c38594d313a759afef7 /usr/lib/x86_64-linux-gnu/security/pam_mail.so +10 c34d0543a1ce2c84a7c27f98da96f48a98872806 ima-ng sha256:c71ed5533ac8cc21db0ee50d76cc9edcf6fa491b47ae82eae254b244607fe1d0 /usr/lib/x86_64-linux-gnu/security/pam_limits.so +10 ff0d684f62fe3c7b800cb81d145661aa0d2d7949 ima-ng sha256:e559d29253b2e619c825828a447b26e08741b57d93bc37ece5c3f6b980875104 /usr/lib/x86_64-linux-gnu/security/pam_env.so +10 711b39c8328d23c0c7465f74f0a2f1c7c5c29fa5 ima-ng sha256:502c9b0241b072a037fc62989c2db6a02f433c5548cda96bbb2f42accbab2d41 /usr/lib/systemd/systemd-user-runtime-dir +10 db8aabbd425687e64e67783228fa8fe8e46d582d ima-ng sha256:01bf40b1436241e9550a323feb41adff3c186305ee2080d8dbdb893b9f804a60 /usr/lib/systemd/systemd +10 877007561560e4b9075c5e7d1fed803328750af4 ima-ng sha256:82881f96c182fefae5afb48069c5492a0c658f26b73292f56dc7dffdb6959b1e /usr/lib/systemd/user-environment-generators/30-systemd-environment-d-generator +10 751bc891625a1fe9901ea08082c016cf04d2b9e1 ima-ng sha256:e5c58aa24e840518624b1750576d16b733bc9dd4367e110b2170c42bcf13bc1c /usr/lib/systemd/user-generators/systemd-xdg-autostart-generator +10 918935f0e8fa9bf8f8f13f3c0cdf5a246071af52 ima-ng sha256:3f36124107498d18ddacfbfe773df11e7094d5d143194cdfcec8804cccc81f64 /usr/bin/run-parts +10 aab248845f1be02f3fdaa011e41f13dc2a55c811 ima-ng sha256:d1f54612dda30258f1ff887f3ce6068479d88a188176da200c9f608e249f3134 /etc/update-motd.d/00-header +10 aefd4b21514d4da1dcc53738ff7e68180cf74e38 ima-ng sha256:dc3a00a8bbe51dad1e958d6c5f73a59a6ed61a9e37acec36a78a1e817e5cadd4 /etc/update-motd.d/10-help-text +10 bfd74543c0813b22e55a1a9b343954d66e65674a ima-ng sha256:695ab2d6425fb075599bd875255f6734dd31984d1ea08a0cc7a57dba92e60850 /usr/share/landscape/landscape-sysinfo.wrapper +10 9214c4219a98d8fde41f862167593bcb12198978 ima-ng sha256:ac1ea1c5391de921aca1572f1bf25d03707beb3887b27c16a5b4948fd553941b /usr/bin/find +10 b0cd531c268c614cdf168970f51cd27705a35c72 ima-ng sha256:d055e35065d469bdf17910df03250573b84497e03f8658e3828fd07b9607e313 /usr/bin/bc +10 4506f485ee723c99cad0ff0c895a25d6c39e30e1 ima-ng sha256:6c1aa28790117c7cdcfed0480875355db8438911b34c3b83abb2dac1f214ce7a /usr/bin/landscape-sysinfo +10 3d519cc70b694e45477cb9274173082088410440 ima-ng sha256:3ff11e729fff50c1a5c47a8c59ed912e1e328f7f50623ffcfd1386b0e9ad7cfa /usr/lib/python3/dist-packages/zope/interface/_zope_interface_coptimizations.cpython-312-x86_64-linux-gnu.so +10 3c80cefe767ae2c01b37b44c849bf029a51445d2 ima-ng sha256:c928893c3fd432d2aaf84a8db7162ac8a7e1d03a4d121ccd2aec8a7bc4a4b165 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/_rust.abi3.so +10 492914a687799cde17af83069f98a8e5403b501b ima-ng sha256:4e9ba7d4b77f31b9e716499d9abacc5754e000de535bf3713c2384a521062eb5 /usr/lib/python3/dist-packages/bcrypt/_bcrypt.abi3.so +10 540500c2fd5551e14d6f373015401163e70e4d32 ima-ng sha256:2667664507f647d63fff740de7cf016a8aaa9bfe71a4e4cdfc450d04035a7235 /usr/lib/python3.12/lib-dynload/_contextvars.cpython-312-x86_64-linux-gnu.so +10 510c33fe6b46092888da041d4113584ca734986c ima-ng sha256:e6781bb64420dcbfca6d03cc4ab3a0f26b010cb011a39a9f40e569ba0c4c8972 /usr/lib/python3.12/lib-dynload/_asyncio.cpython-312-x86_64-linux-gnu.so +10 207a15bc63ed22b74a87d1192bd188e86edf1b46 ima-ng sha256:93b711f2e8eb2c2593c58ac39f95d960831a554a815ab1676105f644c728fa41 /usr/lib/python3.12/lib-dynload/_ctypes.cpython-312-x86_64-linux-gnu.so +10 ff9bdf2a7fc62e3eb9dd7ae24b879db2989e861d ima-ng sha256:3358f9556757967ee61e1380656c2643ceb8ff8cfae657bd4c527e496232ec8c /usr/lib/python3.12/lib-dynload/termios.cpython-312-x86_64-linux-gnu.so +10 88a18f8eb2099744aee718fb2fa9ab1f710795d2 ima-ng sha256:f423281f2e1365eff204635f1ad74897adc90be964a6d079bb5b0ceb5e1f26b4 /usr/lib/python3/dist-packages/netifaces.cpython-312-x86_64-linux-gnu.so +10 f40debd684e34948481b72566cfbcd6e056f101f ima-ng sha256:78adec63cd53b6a59b02fc494d1e0f956cc760c28367d6725a4afc6cc1e620c2 /usr/bin/who +10 d124bcaea2d3c22fb2d3b26d2b3990d958709b17 ima-ng sha256:12d09f922c013d07b62cca4fda15a567d94133b196c23193784f1725562ad754 /etc/update-motd.d/50-motd-news +10 e121f824e71156ce3374819c6e5cf48f60572a69 ima-ng sha256:bba6734ebc053fef547ec4a0bcd824011e80c81f8a67f5b83b0fccf7617ce959 /usr/bin/head +10 055a5db6d489aa9f2e044def41b30255dc2ad12a ima-ng sha256:9b605e83d18b1d2085feb48c9aa1dc925a2551a177453908fd7d3d95aea48257 /etc/update-motd.d/85-fwupd +10 9d18e5ea8327c83c3213712daf2284ea2a5e6078 ima-ng sha256:52c8c19f0068898b3a06606b538b9fabf774171bc025868f6d0f1a10732f9dd3 /etc/update-motd.d/90-updates-available +10 6aa441cc402fcb582b66978b73446bf461805202 ima-ng sha256:799485fc58725f9fba4da349cb7254bf9504fce42e77424194a618089fd29505 /etc/update-motd.d/91-contract-ua-esm-status +10 d66d558c08ed5164b92b2e292454f907667b168d ima-ng sha256:09866ac081e9fc0bb000d8cc373489d65bad49701b8ce3d576b0cfcb54f13140 /etc/update-motd.d/91-release-upgrade +10 dd1fa0c295bb76cd799654533d37e2faf5733d85 ima-ng sha256:9f2e8d80e1c357b889e1b827566e882411ddc6ff45a70196e808f00e62a6c7c5 /usr/bin/id +10 af19ded3ae4b2f3fe64595e7a288b77d99beda04 ima-ng sha256:b2b26ab54246abf9b0e224eb5b11e957c6e0c5dea155fdfec879e6c42475b0b7 /usr/lib/ubuntu-release-upgrader/release-upgrade-motd +10 14c343398a81c9a0cb595bc786d6e4d5f524cb78 ima-ng sha256:a20cc40a1cee2970ceabe24586aa3105b494c2a3fec7a91ffc639761020794f4 /usr/bin/expr +10 4bb8fa104d03ab71226d800486d6078d58db5ab1 ima-ng sha256:51f8d3c7e86259b333799c536f1b035e940108badbddf3c990a47c8dce5ad174 /etc/update-motd.d/92-unattended-upgrades +10 781191590020878b9a876b078ea06447345af693 ima-ng sha256:1360977e29fd3cb8e50fb8f92d9291a5c398f499158fd86b0c13263d453aa139 /usr/share/unattended-upgrades/update-motd-unattended-upgrades +10 801f0322cc42a5035a611da0171e3a2035d01aa0 ima-ng sha256:6cf3f70f60981e399bb260c7377249ef37796ba8697e9957e334ab74eec65e3a /etc/update-motd.d/95-hwe-eol +10 c663df164da39ef24c726a138b38c1ca578d610d ima-ng sha256:5b351c42bfa7f66f926871d7cc33dd727e8ed6e4960fed14716a6979a5319236 /etc/update-motd.d/98-fsck-at-reboot +10 80bdb0824e4fc575e07b05a830f6dce5f52620e5 ima-ng sha256:ee7dc35db83e025c41460b03c37bf45f03c7f7d654b74bd3828cb9af107d90d1 /usr/lib/update-notifier/update-motd-fsck-at-reboot +10 1784d05e6eebbcfc043b18e5c8f861f5c7aa0db1 ima-ng sha256:a4546512b79b3dcbfa50ea68208a935f6e9c5abe1178014c0414e27ab7702862 /usr/sbin/dumpe2fs +10 85ef88f6d4801ab05d927e404886370d794e9b25 ima-ng sha256:ede15e980ec54e7211923a42b77531ee06a15e2a728f645004b4c0fff3d660f7 /etc/update-motd.d/98-reboot-required +10 f03f8525d0dc2806a8240e813bbcf4dcfcc37e43 ima-ng sha256:e18f8d28bdff7d892991fb2c9d723964672f651225aaf03fe3848c215da1ecbe /usr/lib/update-notifier/update-motd-reboot-required +10 bdede58a6fe2fc91ab158ba51cf009b6487be12f ima-ng sha256:d2790fcfc566e13166e935d97506f43cd7454ab6310a1f4d8fd3d39a40c20eda /usr/bin/locale-check +10 4ae21335fb03c1a0a3e0b03ce0a32f12426771d7 ima-ng sha256:3d925077528b51d967b6c1addf68eb03351a2269b1cb4b3b228750dbeac64af7 /usr/bin/locale +10 c4b8ae11db9b0b3ce51acd6d079646be1bfcf87e ima-ng sha256:7b1b4ea8fe0165e85d040c5f700735e15a05fadadde3666f1d88fff74563f87d /usr/bin/getconf +10 55b2bb8dbcc0cc26867d1a69df745b443c3a5fc8 ima-ng sha256:871571a28ad9483140d92027915a263311462f4ca96e0451e38d6ebcce370c0b /usr/bin/tail +10 1de13e4571393b8f6d881e1502bb358216755512 ima-ng sha256:a65efec857cfac0d4f43fc53affa73794ff1d1fdcb547931d4b92a98bda8e646 /usr/bin/sleep +10 e5537ae163481b1774eea7a03f539c5af5b00fab ima-ng sha256:ea6a830ef687142e78fa1d4c573d69d9101d547a13ba26bed1d94b24b6adea3b /home/azureuser/.vscode-server/code-560a9dba96f961efea7b1612916f89e5d5d4d679 +10 fb1577baeb5179f81c9dc660dd77be1833f64d61 ima-ng sha256:91ff41f256c1b168518fcac7ec850a6036584747660db9d8c5a13be9b63b72eb /usr/bin/ldd +10 4a9d5394733f48ef72534260901d49e6a5f43c9a ima-ng sha256:bfd5df90c7f070feab584435f106f254ffffaa268a04de5b5c3bd61d59c092f3 /usr/sbin/ldconfig +10 aa07c66c7bf2c9e9a18ad66da9bcaac821a04f7e ima-ng sha256:9145a756d4a4e75ea4807b1bd824c9ed06a4ccfec6319dbaeec355a7179117f1 /usr/sbin/ldconfig.real +10 d5f9e5d22bd1e65974335b9b9b5e2a4049f55e6f ima-ng sha256:ee2d5f97c1dbc39fc28f66383e173ffae55420512ec0f420ff46758e2f1111c9 /home/azureuser/.vscode-server/cli/servers/Stable-560a9dba96f961efea7b1612916f89e5d5d4d679/server/bin/code-server +10 79978115216c702e6f1b71f2dae63927fb9e1265 ima-ng sha256:243fd8938011479f41b3de101842150fa990f33fbbb3f7aabd330857f2d79e1d /home/azureuser/.vscode-server/cli/servers/Stable-560a9dba96f961efea7b1612916f89e5d5d4d679/server/node +10 0d61446ac44c937b2db13f8bf6120fbf9d41db32 ima-ng sha256:d29877bb2d17751308c65c5aa7c366f805e45cdc792d889bcb253d4302d0f884 /home/azureuser/.vscode-server/cli/servers/Stable-560a9dba96f961efea7b1612916f89e5d5d4d679/server/node_modules/@vscode/spdlog/build/Release/spdlog.node +10 15df0163d72b119dea4ef985ea07eef228782f79 ima-ng sha256:a3a7e148978e0a3f65e52e7ab984500207849da6feba4f2f273d12e1eba84292 /home/azureuser/.vscode-server/cli/servers/Stable-560a9dba96f961efea7b1612916f89e5d5d4d679/server/node_modules/vsda/build/Release/vsda.node +10 b0eb7348be1ff950937f2f1cb61dfe98f6518722 ima-ng sha256:93fd34381ad0ba02987818df0f4e6dfdf47d3a606ffd28749e8df48aedde5a68 /usr/bin/lesspipe +10 f0271ccc4cf840c6f87427536b743f693cf6d4e2 ima-ng sha256:9c59818814264282c269f2a0d065467aa88e751543b569101bae448e7897f445 /usr/bin/dircolors +10 b276dbb571ba9b5dd8bb1734ffef5ce651e8ddca ima-ng sha256:afc9b553089b7daf7ee0d4aa50745534f471296b02c887794f3785627ba58865 /home/azureuser/.vscode-server/cli/servers/Stable-560a9dba96f961efea7b1612916f89e5d5d4d679/server/node_modules/@parcel/watcher/build/Release/watcher.node +10 109b3e8d179a3b3ca171ef891ff158e5f676ee19 ima-ng sha256:25393356fc740154271940568b56753f4d6a59c0f7baba9c6f5fc9d3d873c0af /home/azureuser/.vscode-server/cli/servers/Stable-560a9dba96f961efea7b1612916f89e5d5d4d679/server/node_modules/node-pty/build/Release/pty.node +10 a1e463cc290e07410dcc9ebeac4116e1da15af50 ima-ng sha256:7f2d5e4bc602fc6d0fd16f58c08094ab34c0ad4579095aa5f3663dc6092755e6 /usr/lib/x86_64-linux-gnu/libutil.so.1 +10 80b328259796a0b63a17087885342bbaf4d36634 ima-ng sha256:b8f8a975cf3e7908e076de79814aa448c6086aacfc08165be04ce65665e08e39 /usr/bin/wget +10 d8b48df44d72bc65258284e975383ac9663ee277 ima-ng sha256:ae6c5a9aecc249fc66e03c16ec6c4385d09d7e12e0ea7694bb831ab4fee8133c /usr/lib/x86_64-linux-gnu/libpsl.so.5.3.4 +10 68df5e717d532e899a663f572f1cfe5e1699f9ca ima-ng sha256:017702b0caadc70340f99efc6256c548265557c70e0921951643916b5094f8cf /home/azureuser/.vscode-server/cli/servers/Stable-560a9dba96f961efea7b1612916f89e5d5d4d679/server/node_modules/@vscode/native-watchdog/build/Release/watchdog.node +10 d881b27d077fb5bfbc35775201eeb4be70fb85ba ima-ng sha256:193906679498de4d939345b937fa24e0e69a03c244bd70c859f5e41232713f21 /home/azureuser/.vscode-server/cli/servers/Stable-560a9dba96f961efea7b1612916f89e5d5d4d679/server/node_modules/@vscode/ripgrep/bin/rg +10 dc0898cd2e3a46f8ca1763c073c903a8992526f9 ima-ng sha256:59e7cf8b9bd8711ae1aa6f7bbbd4132b61492409c3afe8e1505225efda1cb8f6 /usr/bin/which.debianutils +10 6fb71794df2621f58c8baf48b874eb2c2f139bc5 ima-ng sha256:8e86f498aa4aabfcea6c179d6181557140b4597f1c39bb94e2aba32158b58297 /usr/bin/ps +10 f3422196c4d508b722e91d8aa3b063be23caf02a ima-ng sha256:02d7582c5d391e460e56aa67a414360e3183b968206645b9123f9dc7bff5d009 /usr/lib/x86_64-linux-gnu/libnuma.so.1.0.0 +10 a94644dbc46bf440783f9419944d294717e72029 ima-ng sha256:2bfe7e6f1939a446c2a4d21998202a247ce58edb1890e10d97b633a91e5a71b5 /home/azureuser/.vscode-server/cli/servers/Stable-560a9dba96f961efea7b1612916f89e5d5d4d679/server/out/vs/base/node/cpuUsage.sh +10 fb8fda807784031d247f08270e3b6fd8a6c8331e ima-ng sha256:2a8c18fbf43da9f692d75474c72bea9dfd796c260b0f3dfe456376abc3bbd668 /usr/bin/git +10 70225b5e6539b43e4108d286e7f7b8b4c40f4ae9 ima-ng sha256:c86bff07659c075fc40eceac2a93c9534d8411de36181092ed50fab1b3848644 /usr/bin/getent +10 782e09331cfaba3bcaf0fd671346720254fd35ad ima-ng sha256:2a8c18fbf43da9f692d75474c72bea9dfd796c260b0f3dfe456376abc3bbd668 /usr/lib/git-core/git +10 9fb7d89e0050b77cda681f6c6e08ae07cb5d5e0f ima-ng sha256:136f2e48b0295b9fc595b8259cf2411ac43f27ddbfe02b956649ddaa2e92b9fa /usr/bin/sudo +10 a0866ac14b9e02aece61a1bf51b5fae4a99b8d46 ima-ng sha256:4a8cae70d4a649815a3b9bc0433e7c687caf4f3892ccb8545009babcc2484943 /usr/libexec/sudo/libsudo_util.so.0.0.0 +10 3ad13820bee19ce63f32be512f3b7f56b1995b2d ima-ng sha256:4955ef472c43e5749b1076ec902164d43f23bc095266d87358b424aaa7a3a4a0 /usr/libexec/sudo/sudoers.so +10 13cbc500fc20f903a197cb0458b84f0f90f2621c ima-ng sha256:74d566a27963fce8e95882e80f95f77b113332cef9fdaa2ae86e3757dfe29891 /usr/local/bin/tpm2 +10 290c8132e2c308c160e132a2526bd40463a9861e ima-ng sha256:93bd8e976738d4bcf6b89d2eedb8eb6c5a5d495bd4e3de0e41a7ffb058c4782f /usr/lib/x86_64-linux-gnu/libtss2-tctildr.so.0.0.0 +10 0f25bfa3837876d761c98eebae63e8e7af2e9ee3 ima-ng sha256:4eb18a4ca2ee2cdf862a9784335203903ffaa1dc3a757e9e1ea4ee38b290774f /usr/lib/x86_64-linux-gnu/libcurl.so.4.8.0 +10 126c433bfa0138f81b3ee9622e2e22b39f5aeee2 ima-ng sha256:398c6d2025210279f4c7413ebdb7f4c63bc5afda5ec3b1ccc58885a65acc2b78 /usr/lib/x86_64-linux-gnu/libnghttp2.so.14.26.0 +10 3d3a91f412bf45b2e19b269ad3b7074fc1189996 ima-ng sha256:15a2a75e8c437b9c99971b5ee10278ab110beef1a56d1d9e5d6759ea140e98ac /usr/lib/x86_64-linux-gnu/librtmp.so.1 +10 e9d7fa510a76015efca53c9b963f147a44c17e4e ima-ng sha256:ad1513debc90c2662c2c63b587cd815b118b03b3a983f7fdbd89968354674d63 /usr/lib/x86_64-linux-gnu/libssh.so.4.9.6 +10 ec984ba024f38d25fdccc9cc68e8d2fad0cb2185 ima-ng sha256:a9829b999c95452eb0a34cc7b5349427b76dbf3e5d5c8672a5ca69e454c1b151 /usr/lib/x86_64-linux-gnu/libldap.so.2.0.200 +10 eae770217721c0a6ab606aad6c289afbed074054 ima-ng sha256:ddf14275b1fb70ba06510094071adcc1462e675f15ae6cdcadbf40c1dabe5a03 /usr/lib/x86_64-linux-gnu/liblber.so.2.0.200 +10 f36328069c6644fceeb9eb294491272caa5204b9 ima-ng sha256:64d8a5019d4c294b89fde1193343ea324bbd8603652554e5545f0a01595fa2c5 /usr/lib/x86_64-linux-gnu/libbrotlidec.so.1.1.0 +10 df44521fc68c520ea7cf82a6bd974f1ba1793868 ima-ng sha256:a0f410ad093236856eee59c4ff2838dc04d932ea0993400f23ed77d67d85af34 /usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25 +10 11f77c46d0683f9cd03829f9753b1af94066d012 ima-ng sha256:a91ead095d2c80520c55a89057bbe10b031a075340442e63f44b310f93883a1b /usr/lib/x86_64-linux-gnu/libbrotlicommon.so.1.1.0 +10 8989a82db3dc7d95a87053b20a5ab781b95edcb0 ima-ng sha256:391e6221124df1be64aa64dc84e094dffd2165f6a708ee1db29aabffa0559aaf /usr/lib/update-notifier/package-data-downloader +10 665b8f1e681777695c8e94bf5cc52d1d50934e1f ima-ng sha256:dbcc108e4c4b56ce676a2e512ffd0dc06fd211dfb606d9fd25764f71ea62f9b0 /usr/lib/sysstat/debian-sa1 +10 4af1fe0ee2d56e01f3c78bd7bcaab69aaa41c7c9 ima-ng sha256:6df7ed8743c56ff7f1ea9e1f3600d4a6f56335f423d7610a06df4fdcb4bd52a6 /usr/bin/fwupdmgr +10 e4a1e9c6c1754a36b1f59cf0329120e3c0dc922c ima-ng sha256:d14c09c531587d135c253da90feccf38eea17ae80198dd5d6492e6ca18228e95 /usr/lib/x86_64-linux-gnu/libfwupd.so.2.0.0 +10 b10ff6076d043625f1628c8e0f1927a6867b70ef ima-ng sha256:90c35ad52bdcf9ff064d8a391d62467f57ad3c64262625819468cc81778c9cb6 /usr/lib/x86_64-linux-gnu/fwupd-1.9.34/libfwupdplugin.so +10 989bb17ed202712bd1399750531054b0910a52ef ima-ng sha256:ef47d980c6ecb066f3a4278a2f9a3e1a6fb3c72c177996da3ab65e2c679f3656 /usr/lib/x86_64-linux-gnu/fwupd-1.9.34/libfwupdutil.so +10 0a3ed5656087e1c6067481ada5ec2f1a36b137a1 ima-ng sha256:f633e2720c6d7706dabe44241a4050efdc0e7df9ab43f3fb58a165eb3c2d5ec5 /usr/lib/x86_64-linux-gnu/libjson-glib-1.0.so.0.800.0 +10 5f0f1362ff748ce7f8de87d2fe325b7480d4a987 ima-ng sha256:3c4415f8e6cfde179dbc8eea50b2f5d895b04967454dc9e50bdbad684f2b4454 /usr/lib/x86_64-linux-gnu/libjcat.so.1.0.0 +10 6e1518800b34e3ae3995051ae7c6902d30926dc4 ima-ng sha256:b4888bad18d1f349caac7a49217e9f424fe18e2ee942a88daca494dc3a21acad /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.8.0 +10 44e542999153eb11b20447e3a193d9b6c356c5cc ima-ng sha256:2b6e6a9110c07ab52d2530688e36edf12393859006a76b4d25f43b4925143393 /usr/lib/x86_64-linux-gnu/libxmlb.so.2.0.0 +10 d7760c9a8e5d53608b02943f519cd7b872099a12 ima-ng sha256:29675c0eef7a114c9bd51b90dce5a9a44371ef34b450ad84137f864f2fdf0c58 /usr/lib/x86_64-linux-gnu/libgusb.so.2.0.10 +10 dd2b1289988f4e3017434dd6024e9e9069cf9baf ima-ng sha256:b1600dc615ca3097208bf7c0181f1c3dab1b5f15a4f3307b5b2ab4443787a2ba /usr/lib/x86_64-linux-gnu/libarchive.so.13.7.2 +10 b45d180bd4bda8862f3486e7b24838c8b4ed3c46 ima-ng sha256:da2c5eb89376ed8c1b1525481bd740681316e3baf53602158d9839e7c7d5ecaa /usr/lib/x86_64-linux-gnu/libcbor.so.0.10.2 +10 6ba5c49700183f83cf1d1014ef7cc7e79d1c424f ima-ng sha256:751349e3def1808981dc26bbeb746e2d6ff4ca97fc2c8bc8faaa8f46c879057f /usr/lib/x86_64-linux-gnu/libusb-1.0.so.0.4.0 +10 3c831841b314ade35de31b013745db5146d9f635 ima-ng sha256:1a960c92f3a3633832fbecd1345333c07e63807c4e0413b9878d708c5884f88f /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.14 +10 37cc86781bb04798649b23bf5ef92b2812031e73 ima-ng sha256:7560aadde38e5f4237a47a1ddd5891f9b36768a77a60faae30beee003ac01901 /usr/lib/x86_64-linux-gnu/libicuuc.so.74.2 +10 7f818f050fd8e18f557f3ebc692450859d255dae ima-ng sha256:ddbb3718b8bd9cbd780e5ab08b4503c30a6c4fa0706ebe5d074ed6b596c1714e /usr/lib/x86_64-linux-gnu/libicudata.so.74.2 +10 2c8b5cabab91cc9f0fac68452e8007bcc4b7b389 ima-ng sha256:d77096129dc2b4dcd7d0d525e13041cf21b5b276c38b8997de4632fdb95c07a3 /usr/libexec/fwupd/fwupd +10 75bc2510ffdcd778c71c58d3dcd2be9e50c33455 ima-ng sha256:817b0a25fe8eccee1b3b83eb2a19a1669885be3086697468b38868d42c757867 /usr/lib/x86_64-linux-gnu/fwupd-1.9.34/libfwupdengine.so +10 ab2c704270eeb2359ea262d009f8b828a7374961 ima-ng sha256:eac351cf84d688d1f9235e6165bd57555b31a491cd2f65e0dca67daa69036370 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6 +10 002a8a6b3e168ae09d024cc727ac3d03e6b98954 ima-ng sha256:1b56fcc1ca69d7fd7986c0c326a559ab0db87d3df9a3362b745ba021334dcef1 /usr/lib/x86_64-linux-gnu/libprotobuf-c.so.1.0.0 +10 8188ff1e44553d078adb0111d0f61c1d1bbd6e50 ima-ng sha256:85d9bb3e76b003a84ec57f43b1f0aae1f4708c93e0fc93b58cbb145c86387186 /usr/lib/x86_64-linux-gnu/fwupd-1.9.34/libfu_plugin_modem_manager.so +10 da1e59aad5d6ec2c76dbb8890b21a3a8e823bf7e ima-ng sha256:63ba10f7f27c299f15ef25e8b375c899f09fe1037909b8fb248c29d27bd020db /usr/lib/x86_64-linux-gnu/fwupd-1.9.34/libfu_plugin_flashrom.so +10 3fdf5b4c7e57307b70123cc1d1f6e4c11a2d0358 ima-ng sha256:85800d41850077b490439310c2c264be44fb570c8e9bfbda271401812315f44a /usr/lib/x86_64-linux-gnu/libflashrom.so.1.0.0 +10 bdfc57e72ebcd774100f83dd1cd17e4cdd70826e ima-ng sha256:255e8554ca27ab99c2bdec02e746dd653b10e3afd30b12e41106bc89767daf5b /usr/lib/x86_64-linux-gnu/libpci.so.3.10.0 +10 fe47548231f9612ae8e979a742bef6eef45a6f64 ima-ng sha256:0e5332df54c66f14ef9107934365b47b9429df02e3ff3402436bd85e9e3e84fe /usr/lib/x86_64-linux-gnu/libftdi1.so.2.5.0 +10 b7b26c0d190fc97e41bfecfa18319312a4071f37 ima-ng sha256:98270eef138fbc57c28ed086435deaf3e44d8f590177dc9e1cc0c59df0cbfd13 /usr/libexec/fwupd/fwupd-detect-cet +10 3e9cb7d5b44521ac24bbc6291d615e88a1904911 ima-ng sha256:58a25b1b169b1467ab395ae2011a462fae70b41f3f7c080cec8940e85f85b8c8 /usr/bin/gpgconf +10 641972c736fcbbc63be071778633d62442dbfb79 ima-ng sha256:7ecb1341104b0ee1107fe908abce37e24546de1db0848b29c75f59f72094f4e8 /usr/bin/gpg +10 af7f670c2e0312e36d0aeaff835d7fdb72aba6c6 ima-ng sha256:d5d934c9382c733e43edecf6d9ed446d9b9985591ee1c638413f4879c7f57f6a /usr/lib/x86_64-linux-gnu/libnpth.so.0.1.2 +10 4265da8b7fafbf40e6d88a5a666ebed69cf65065 ima-ng sha256:050b0871aad89a0c8f54fb3a8f04a61dab26a1bbfc9bbfdf95b3f68cdde1f2fd /usr/bin/gpgsm +10 bdbe55168c42574ba8ca1c1acf420cffbc00eb36 ima-ng sha256:6089859be139e70bb33e52de5e018bc6ae7810b59b8e8f7f31a6ffa75f72e349 /usr/lib/x86_64-linux-gnu/libksba.so.8.14.6 +10 f96a87717d7d7a93d75c672891cf5817b8404682 ima-ng sha256:63bf239ab19215942b8ebc875faaa09b12bc46ef56490043046f2cada5b95d22 /usr/lib/snapd/snap-repair diff --git a/examples/pcrlist_2.bin b/examples/pcrlist_2.bin new file mode 100644 index 0000000000000000000000000000000000000000..63a706c098b2e6b4b63dd61a075ab7e1b222c920 GIT binary patch literal 768 zcmWd@uSzxDbzjmkhAm<`>)j}c3Exd!kF5Onea%0e#PUVkcZ%4Tt^ap5^hVP9^K7eT zWoRAiT(5Y#;U#yg|E=a7xuUkNJ^w<_Fu#&_u@_C+_onx&OzA_f`R8X9nJl!I?5oTq zB)>Y*BwPQfmCZAYHyhi&M)2JK8Qu#F%JO`~6 z9w<5H-%q@*=etA$ zuWG+iJ_KK@lhG96G1%I3bpKfgiRwR+{4bBT?AVkZ&mqCXH?>kVe&y?xa`$IPx#t6pY0yUCV!hMi_(RCMget3K{L!Y>#qE`(CMgY+w(_CcE|nVeWg5|re@3E zTvPGu&;3@xs>QCi2sn?yAb)Q6l#jKO@8s3|_UmZ@E>))^{C3jS4f73!p8IVkWd8pl4hZ=V04I2sLjV8( literal 0 HcmV?d00001 diff --git a/examples/truncate_log.py b/examples/truncate_log.py new file mode 100755 index 0000000..6db9048 --- /dev/null +++ b/examples/truncate_log.py @@ -0,0 +1,134 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +""" +CLI tool for truncating IMA log entries to find the point where PCR matches a reference value. +""" + +import argparse +import hashlib +import sys + +from imapcrutils import parse_ima_log_string, truncate_ima_log_by_pcr + +DEFAULT_IMA_LOG_PATH = "/sys/kernel/security/ima/ascii_runtime_measurements" + + +def select_hash_function(hash_algorithm: str): + """ + Select hash function based on the hash algorithm. + """ + match hash_algorithm: + case "sha1": + return hashlib.sha1 + case "sha256": + return hashlib.sha256 + case "sha384": + return hashlib.sha384 + case "sha512": + return hashlib.sha512 + case _: + # will not reach here (choices enforced by argparse) + raise ValueError(f"Invalid hash algorithm: {hash_algorithm}") + + +def output_truncated_log(entries: list, output_path: str | None) -> None: + """ + Output truncated IMA log entries to file or stdout. + """ + output_lines = [str(entry) for entry in entries] + output_text = "\n".join(output_lines) + "\n" + if output_path is None: + print(output_text, end="") + else: + with open(output_path, "w", encoding="utf-8") as f: + f.write(output_text) + + +def main() -> int: + """ + Main function. + """ + parser = argparse.ArgumentParser(description="Truncate IMA log to find the point where PCR matches a reference value.") + parser.add_argument( + "-i", + "--in", + dest="input_path", + default=DEFAULT_IMA_LOG_PATH, + help=f"Path to the IMA log file (default: {DEFAULT_IMA_LOG_PATH})", + ) + parser.add_argument( + "-p", + "--pcr", + dest="pcr_hex", + required=True, + help="Reference PCR value in hex format (e.g., c5bfcd40187bfc190fe9c584b8b2675f08180c0e9579255fa9eba91e7d18f678)", + ) + parser.add_argument( + "-a", + "--hash-algorithm", + dest="hash_algorithm", + type=str.lower, + default="sha256", + choices=["sha1", "sha256", "sha384", "sha512"], + help="Hash algorithm used for PCR calculation (default: sha256)", + ) + parser.add_argument( + "-o", + "--out", + dest="output_path", + default=None, + help="Path to the output file (default: stdout)", + ) + + args = parser.parse_args() + + # Parse the hex-encoded PCR reference + try: + pcr_reference = bytes.fromhex(args.pcr_hex) + except ValueError: + print(f"Error: Invalid hex value for PCR10: {args.pcr_hex}", file=sys.stderr) + return 1 + + # Verify the PCR value has the correct length based on hash algorithm + hash_func = select_hash_function(args.hash_algorithm) + expected_length = hash_func().digest_size + if len(pcr_reference) != expected_length: + print( + f"Error: PCR10 length mismatch. Expected {expected_length} bytes for {args.hash_algorithm}, " + f"got {len(pcr_reference)} bytes", + file=sys.stderr, + ) + return 1 + + # Read IMA log entries + try: + with open(args.input_path, encoding="utf-8") as f: + lines = f.read() + except FileNotFoundError: + print(f"Error: IMA log file not found: {args.input_path}", file=sys.stderr) + return 1 + except OSError as e: + print(f"Error reading IMA log file: {e}", file=sys.stderr) + return 1 + + entries = parse_ima_log_string(lines) + + # Truncate the log to find the matching PCR + result = truncate_ima_log_by_pcr(entries, pcr_reference, hash_func) + + if result is None: + print( + "Error: The reference PCR10 does not match any point in the IMA log.", + file=sys.stderr, + ) + return 1 + + # Output the truncated log + output_truncated_log(result, args.output_path) + print(f"Successfully truncated IMA log to {len(result)} entries", file=sys.stderr) + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/imapcrutils/__init__.py b/imapcrutils/__init__.py index a18a594..afef70d 100644 --- a/imapcrutils/__init__.py +++ b/imapcrutils/__init__.py @@ -14,5 +14,6 @@ calculate_expected_template_hash, calculate_pcr10, parse_ima_log_string, + truncate_ima_log_by_pcr, validate_ima_log_entry, ) diff --git a/imapcrutils/libs.py b/imapcrutils/libs.py index 4a9d53c..0d89f38 100644 --- a/imapcrutils/libs.py +++ b/imapcrutils/libs.py @@ -11,6 +11,7 @@ "build_template_fields", "calculate_expected_template_hash", "calculate_pcr10", + "truncate_ima_log_by_pcr", "validate_ima_log_entry", "calculate_boot_aggregate", ] @@ -165,6 +166,41 @@ def calculate_pcr10(entries: list[IMALogEntry], hash_func: Callable[[bytes], byt return pcr_value +def truncate_ima_log_by_pcr( + entries: list[IMALogEntry], pcr: bytes, hash_func: Callable[[bytes], bytes] = hashlib.sha256 +) -> list[IMALogEntry] | None: + """ + Find the point in the IMA log where the calculated PCR10 matches the reference value. + + Filters IMA log entries for PCR index "10" and "ima-ng" template, then extends + the PCR value incrementally. Returns the sublist of valid entries from the + beginning up to and including the entry where the PCR value matches the reference. + Returns None if no match is found. + + Args: + entries: List of IMALogEntry objects to process + pcr: Reference PCR value to match against + hash_func: Hash function for PCR extension (default: hashlib.sha256) + + Returns: + List of IMALogEntry objects from the beginning up to the matching entry, + or None if the reference PCR value is not found + """ + results = [] + pcr_value = bytes(hash_func().digest_size) + for entry in entries: + if entry.pcr_idx != "10": + continue + if entry.template_name != "ima-ng": + continue + results.append(entry) + template_hash = calculate_expected_template_hash(entry, hash_func) + pcr_value = hash_func(pcr_value + template_hash).digest() + if pcr_value == pcr: + return results + return None + + def validate_ima_log_entry(entry: IMALogEntry, hash_func: Callable[[bytes], bytes] = hashlib.sha1) -> bool: """ Validate IMA log entry. Template_hash must coincide with the hash of the file data. diff --git a/tests/conftest.py b/tests/conftest.py index 1413304..891cb11 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -31,3 +31,27 @@ def sample_pcr_list_path(): def sample_pcr_blob(sample_pcr_list_path): """Raw bytes of the sample PCR list blob (concatenated SHA-256 digests for 14 PCRs).""" return sample_pcr_list_path.read_bytes() + + +@pytest.fixture +def sample_ima_log_2_path(): + """Path to the second sample ascii_runtime_measurements_2 file.""" + return EXAMPLES_DIR / "ascii_runtime_measurements_2" + + +@pytest.fixture +def sample_ima_log_2(sample_ima_log_2_path): + """Contents of the second sample IMA log as a string.""" + return sample_ima_log_2_path.read_text() + + +@pytest.fixture +def sample_pcr_list_2_path(): + """Path to the second sample pcrlist_2.bin file.""" + return EXAMPLES_DIR / "pcrlist_2.bin" + + +@pytest.fixture +def sample_pcr_blob_2(sample_pcr_list_2_path): + """Raw bytes of the second sample PCR list blob (concatenated SHA-256 digests for 24 PCRs).""" + return sample_pcr_list_2_path.read_bytes() diff --git a/tests/test_libs.py b/tests/test_libs.py index 25e95ef..9ee5a29 100644 --- a/tests/test_libs.py +++ b/tests/test_libs.py @@ -13,6 +13,7 @@ calculate_expected_template_hash, calculate_pcr10, parse_ima_log_string, + truncate_ima_log_by_pcr, validate_ima_log_entry, ) @@ -301,3 +302,92 @@ def test_all_zeros(self): ba = calculate_boot_aggregate(pcr_list, hashlib.sha256) expected = hashlib.sha256(bytes(320)).digest() assert ba == expected + + +# --------------------------------------------------------------------------- +# truncate_ima_log_by_pcr +# --------------------------------------------------------------------------- + +EXPECTED_PCR10_SHA256_2 = "c5bfcd40187bfc190fe9c584b8b2675f08180c0e9579255fa9eba91e7d18f678" + + +class TestTruncateImaLogByPcr: + """Tests for truncate_ima_log_by_pcr — finding the matching PCR10 point.""" + + def test_truncate_with_sample_2(self, sample_ima_log_2, sample_pcr_blob_2): + """Truncate IMA log to find the matching PCR10 from sample_2.""" + entries = parse_ima_log_string(sample_ima_log_2) + pcr10_reference = sample_pcr_blob_2[10 * 32 : 11 * 32] + result = truncate_ima_log_by_pcr(entries, pcr10_reference, hashlib.sha256) + assert result is not None + # Verify the truncated list has PCR10 matching the reference + computed_pcr10 = calculate_pcr10(result, hashlib.sha256) + assert computed_pcr10 == pcr10_reference + + def test_truncate_returns_sublist(self, sample_ima_log_2, sample_pcr_blob_2): + """Truncated result must be a sublist from the beginning.""" + entries = parse_ima_log_string(sample_ima_log_2) + pcr10_reference = sample_pcr_blob_2[10 * 32 : 11 * 32] + result = truncate_ima_log_by_pcr(entries, pcr10_reference, hashlib.sha256) + assert result is not None + # Result must be a prefix of the original entries (same sequence from start) + assert result == entries[: len(result)] + # First entry must be the same + assert result[0].file_path == entries[0].file_path + + def test_truncate_not_found_returns_none(self, sample_ima_log): + """Truncate with a non-matching PCR10 reference must return None.""" + entries = parse_ima_log_string(sample_ima_log) + # Use a random PCR10 value that won't match + fake_pcr10 = b"\x00" * 32 + result = truncate_ima_log_by_pcr(entries, fake_pcr10, hashlib.sha256) + assert result is None + + def test_truncate_empty_entries_returns_none(self, sample_pcr_blob_2): + """Truncate with empty entries must return None.""" + pcr10_reference = sample_pcr_blob_2[10 * 32 : 11 * 32] + result = truncate_ima_log_by_pcr([], pcr10_reference, hashlib.sha256) + assert result is None + + def test_truncate_single_entry_match(self): + """Truncate with a single entry that matches must return that entry.""" + entries = parse_ima_log_string(SAMPLE_LINE) + # Calculate what the PCR10 would be with just this one entry + expected_template = calculate_expected_template_hash(entries[0], hashlib.sha256) + pcr10_reference = hashlib.sha256(bytes(32) + expected_template).digest() + result = truncate_ima_log_by_pcr(entries, pcr10_reference, hashlib.sha256) + assert result is not None + assert len(result) == 1 + assert result[0].file_path == "boot_aggregate" + + def test_truncate_pcr10_indices_only(self, sample_ima_log_2, sample_pcr_blob_2): + """Only PCR 10 entries should be included in the calculation.""" + entries = parse_ima_log_string(sample_ima_log_2) + # Filter to only PCR10 entries + pcr10_reference = sample_pcr_blob_2[10 * 32 : 11 * 32] + result = truncate_ima_log_by_pcr(entries, pcr10_reference, hashlib.sha256) + assert result is not None + # All entries in result must be PCR10 + for entry in result: + assert entry.pcr_idx == "10" + + def test_truncate_ima_ng_template_only(self, sample_ima_log_2, sample_pcr_blob_2): + """Only ima-ng template entries should be included.""" + entries = parse_ima_log_string(sample_ima_log_2) + pcr10_reference = sample_pcr_blob_2[10 * 32 : 11 * 32] + result = truncate_ima_log_by_pcr(entries, pcr10_reference, hashlib.sha256) + assert result is not None + # All entries in result must be ima-ng + for entry in result: + assert entry.template_name == "ima-ng" + + def test_truncate_with_sha1(self, sample_ima_log): + """Truncate must work with SHA-1 hash function.""" + entries = parse_ima_log_string(sample_ima_log) + # Calculate expected PCR10 with SHA-1 + pcr10_sha1 = calculate_pcr10(entries, hashlib.sha1) + # Now use truncate to find it + result = truncate_ima_log_by_pcr(entries, pcr10_sha1, hashlib.sha1) + assert result is not None + # The entire log should match (the final PCR10) + assert len(result) == len(entries) diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..efcf166 --- /dev/null +++ b/uv.lock @@ -0,0 +1,184 @@ +version = 1 +revision = 3 +requires-python = ">=3.10" + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "exceptiongroup" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", size = 16740, upload-time = "2025-11-21T23:01:53.443Z" }, +] + +[[package]] +name = "imapcrutils" +version = "0.1.0" +source = { editable = "." } + +[package.optional-dependencies] +dev = [ + { name = "pytest" }, + { name = "ruff" }, +] + +[package.metadata] +requires-dist = [ + { name = "pytest", marker = "extra == 'dev'", specifier = ">=9.0.2" }, + { name = "ruff", marker = "extra == 'dev'", specifier = ">=0.15.4" }, +] +provides-extras = ["dev"] + +[[package]] +name = "iniconfig" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, +] + +[[package]] +name = "packaging" +version = "26.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/f1/e7a6dd94a8d4a5626c03e4e99c87f241ba9e350cd9e6d75123f992427270/packaging-26.2.tar.gz", hash = "sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661", size = 228134, upload-time = "2026-04-24T20:15:23.917Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl", hash = "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e", size = 100195, upload-time = "2026-04-24T20:15:22.081Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "pygments" +version = "2.20.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz", hash = "sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f", size = 4955991, upload-time = "2026-03-29T13:29:33.898Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176", size = 1231151, upload-time = "2026-03-29T13:29:30.038Z" }, +] + +[[package]] +name = "pytest" +version = "9.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "pygments" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7d/0d/549bd94f1a0a402dc8cf64563a117c0f3765662e2e668477624baeec44d5/pytest-9.0.3.tar.gz", hash = "sha256:b86ada508af81d19edeb213c681b1d48246c1a91d304c6c81a427674c17eb91c", size = 1572165, upload-time = "2026-04-07T17:16:18.027Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d4/24/a372aaf5c9b7208e7112038812994107bc65a84cd00e0354a88c2c77a617/pytest-9.0.3-py3-none-any.whl", hash = "sha256:2c5efc453d45394fdd706ade797c0a81091eccd1d6e4bccfcd476e2b8e0ab5d9", size = 375249, upload-time = "2026-04-07T17:16:16.13Z" }, +] + +[[package]] +name = "ruff" +version = "0.15.12" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/99/43/3291f1cc9106f4c63bdce7a8d0df5047fe8422a75b091c16b5e9355e0b11/ruff-0.15.12.tar.gz", hash = "sha256:ecea26adb26b4232c0c2ca19ccbc0083a68344180bba2a600605538ce51a40a6", size = 4643852, upload-time = "2026-04-24T18:17:14.305Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c3/6e/e78ffb61d4686f3d96ba3df2c801161843746dcbcbb17a1e927d4829312b/ruff-0.15.12-py3-none-linux_armv6l.whl", hash = "sha256:f86f176e188e94d6bdbc09f09bfd9dc729059ad93d0e7390b5a73efe19f8861c", size = 10640713, upload-time = "2026-04-24T18:17:22.841Z" }, + { url = "https://files.pythonhosted.org/packages/ae/08/a317bc231fb9e7b93e4ef3089501e51922ff88d6936ce5cf870c4fe55419/ruff-0.15.12-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:e3bcd123364c3770b8e1b7baaf343cc99a35f197c5c6e8af79015c666c423a6c", size = 11069267, upload-time = "2026-04-24T18:17:30.105Z" }, + { url = "https://files.pythonhosted.org/packages/aa/a4/f828e9718d3dce1f5f11c39c4f65afd32783c8b2aebb2e3d259e492c47bd/ruff-0.15.12-py3-none-macosx_11_0_arm64.whl", hash = "sha256:fe87510d000220aa1ed530d4448a7c696a0cae1213e5ec30e5874287b66557b5", size = 10397182, upload-time = "2026-04-24T18:17:07.177Z" }, + { url = "https://files.pythonhosted.org/packages/71/e0/3310fc6d1b5e1fdea22bf3b1b807c7e187b581021b0d7d4514cccdb5fb71/ruff-0.15.12-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84a1630093121375a3e2a95b4a6dc7b59e2b4ee76216e32d81aae550a832d002", size = 10758012, upload-time = "2026-04-24T18:16:55.759Z" }, + { url = "https://files.pythonhosted.org/packages/11/c1/a606911aee04c324ddaa883ae418f3569792fd3c4a10c50e0dd0a2311e1e/ruff-0.15.12-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fb129f40f114f089ebe0ca56c0d251cf2061b17651d464bb6478dc01e69f11f5", size = 10447479, upload-time = "2026-04-24T18:16:51.677Z" }, + { url = "https://files.pythonhosted.org/packages/9d/68/4201e8444f0894f21ab4aeeaee68aa4f10b51613514a20d80bd628d57e88/ruff-0.15.12-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0c862b172d695db7598426b8af465e7e9ac00a3ea2a3630ee67eb82e366aaa6", size = 11234040, upload-time = "2026-04-24T18:17:16.529Z" }, + { url = "https://files.pythonhosted.org/packages/34/ff/8a6d6cf4ccc23fd67060874e832c18919d1557a0611ebef03fdb01fff11e/ruff-0.15.12-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2849ea9f3484c3aca43a82f484210370319e7170df4dfe4843395ddf6c57bc33", size = 12087377, upload-time = "2026-04-24T18:17:04.944Z" }, + { url = "https://files.pythonhosted.org/packages/85/f6/c669cf73f5152f623d34e69866a46d5e6185816b19fcd5b6dd8a2d299922/ruff-0.15.12-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9e77c7e51c07fe396826d5969a5b846d9cd4c402535835fb6e21ce8b28fef847", size = 11367784, upload-time = "2026-04-24T18:17:25.409Z" }, + { url = "https://files.pythonhosted.org/packages/e8/39/c61d193b8a1daaa8977f7dea9e8d8ba866e02ea7b65d32f6861693aa4c12/ruff-0.15.12-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83b2f4f2f3b1026b5fb449b467d9264bf22067b600f7b6f41fc5958909f449d0", size = 11344088, upload-time = "2026-04-24T18:17:12.258Z" }, + { url = "https://files.pythonhosted.org/packages/c2/8d/49afab3645e31e12c590acb6d3b5b69d7aab5b81926dbaf7461f9441f37a/ruff-0.15.12-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:9ba3b8f1afd7e2e43d8943e55f249e13f9682fde09711644a6e7290eb4f3e339", size = 11271770, upload-time = "2026-04-24T18:17:02.457Z" }, + { url = "https://files.pythonhosted.org/packages/46/06/33f41fe94403e2b755481cdfb9b7ef3e4e0ed031c4581124658d935d52b4/ruff-0.15.12-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e852ba9fdc890655e1d78f2df1499efbe0e54126bd405362154a75e2bde159c5", size = 10719355, upload-time = "2026-04-24T18:17:27.648Z" }, + { url = "https://files.pythonhosted.org/packages/0d/59/18aa4e014debbf559670e4048e39260a85c7fcee84acfd761ac01e7b8d35/ruff-0.15.12-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:dd8aed930da53780d22fc70bdf84452c843cf64f8cb4eb38984319c24c5cd5fd", size = 10462758, upload-time = "2026-04-24T18:17:32.347Z" }, + { url = "https://files.pythonhosted.org/packages/25/e7/cc9f16fd0f3b5fddcbd7ec3d6ae30c8f3fde1047f32a4093a98d633c6570/ruff-0.15.12-py3-none-musllinux_1_2_i686.whl", hash = "sha256:01da3988d225628b709493d7dc67c3b9b12c0210016b08690ef9bd27970b262b", size = 10953498, upload-time = "2026-04-24T18:17:20.674Z" }, + { url = "https://files.pythonhosted.org/packages/72/7a/a9ba7f98c7a575978698f4230c5e8cc54bbc761af34f560818f933dafa0c/ruff-0.15.12-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:9cae0f92bd5700d1213188b31cd3bdd2b315361296d10b96b8e2337d3d11f53e", size = 11447765, upload-time = "2026-04-24T18:17:09.755Z" }, + { url = "https://files.pythonhosted.org/packages/ea/f9/0ae446942c846b8266059ad8a30702a35afae55f5cdc54c5adf8d7afdc27/ruff-0.15.12-py3-none-win32.whl", hash = "sha256:d0185894e038d7043ba8fd6aee7499ece6462dc0ea9f1e260c7451807c714c20", size = 10657277, upload-time = "2026-04-24T18:17:18.591Z" }, + { url = "https://files.pythonhosted.org/packages/33/f1/9614e03e1cdcbf9437570b5400ced8a720b5db22b28d8e0f1bda429f660d/ruff-0.15.12-py3-none-win_amd64.whl", hash = "sha256:c87a162d61ab3adca47c03f7f717c68672edec7d1b5499e652331780fe74950d", size = 11837758, upload-time = "2026-04-24T18:17:00.113Z" }, + { url = "https://files.pythonhosted.org/packages/c0/98/6beb4b351e472e5f4c4613f7c35a5290b8be2497e183825310c4c3a3984b/ruff-0.15.12-py3-none-win_arm64.whl", hash = "sha256:a538f7a82d061cee7be55542aca1d86d1393d55d81d4fcc314370f4340930d4f", size = 11120821, upload-time = "2026-04-24T18:16:57.979Z" }, +] + +[[package]] +name = "tomli" +version = "2.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/22/de/48c59722572767841493b26183a0d1cc411d54fd759c5607c4590b6563a6/tomli-2.4.1.tar.gz", hash = "sha256:7c7e1a961a0b2f2472c1ac5b69affa0ae1132c39adcb67aba98568702b9cc23f", size = 17543, upload-time = "2026-03-25T20:22:03.828Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/11/db3d5885d8528263d8adc260bb2d28ebf1270b96e98f0e0268d32b8d9900/tomli-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f8f0fc26ec2cc2b965b7a3b87cd19c5c6b8c5e5f436b984e85f486d652285c30", size = 154704, upload-time = "2026-03-25T20:21:10.473Z" }, + { url = "https://files.pythonhosted.org/packages/6d/f7/675db52c7e46064a9aa928885a9b20f4124ecb9bc2e1ce74c9106648d202/tomli-2.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4ab97e64ccda8756376892c53a72bd1f964e519c77236368527f758fbc36a53a", size = 149454, upload-time = "2026-03-25T20:21:12.036Z" }, + { url = "https://files.pythonhosted.org/packages/61/71/81c50943cf953efa35bce7646caab3cf457a7d8c030b27cfb40d7235f9ee/tomli-2.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96481a5786729fd470164b47cdb3e0e58062a496f455ee41b4403be77cb5a076", size = 237561, upload-time = "2026-03-25T20:21:13.098Z" }, + { url = "https://files.pythonhosted.org/packages/48/c1/f41d9cb618acccca7df82aaf682f9b49013c9397212cb9f53219e3abac37/tomli-2.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a881ab208c0baf688221f8cecc5401bd291d67e38a1ac884d6736cbcd8247e9", size = 243824, upload-time = "2026-03-25T20:21:14.569Z" }, + { url = "https://files.pythonhosted.org/packages/22/e4/5a816ecdd1f8ca51fb756ef684b90f2780afc52fc67f987e3c61d800a46d/tomli-2.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47149d5bd38761ac8be13a84864bf0b7b70bc051806bc3669ab1cbc56216b23c", size = 242227, upload-time = "2026-03-25T20:21:15.712Z" }, + { url = "https://files.pythonhosted.org/packages/6b/49/2b2a0ef529aa6eec245d25f0c703e020a73955ad7edf73e7f54ddc608aa5/tomli-2.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ec9bfaf3ad2df51ace80688143a6a4ebc09a248f6ff781a9945e51937008fcbc", size = 247859, upload-time = "2026-03-25T20:21:17.001Z" }, + { url = "https://files.pythonhosted.org/packages/83/bd/6c1a630eaca337e1e78c5903104f831bda934c426f9231429396ce3c3467/tomli-2.4.1-cp311-cp311-win32.whl", hash = "sha256:ff2983983d34813c1aeb0fa89091e76c3a22889ee83ab27c5eeb45100560c049", size = 97204, upload-time = "2026-03-25T20:21:18.079Z" }, + { url = "https://files.pythonhosted.org/packages/42/59/71461df1a885647e10b6bb7802d0b8e66480c61f3f43079e0dcd315b3954/tomli-2.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:5ee18d9ebdb417e384b58fe414e8d6af9f4e7a0ae761519fb50f721de398dd4e", size = 108084, upload-time = "2026-03-25T20:21:18.978Z" }, + { url = "https://files.pythonhosted.org/packages/b8/83/dceca96142499c069475b790e7913b1044c1a4337e700751f48ed723f883/tomli-2.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:c2541745709bad0264b7d4705ad453b76ccd191e64aa6f0fc66b69a293a45ece", size = 95285, upload-time = "2026-03-25T20:21:20.309Z" }, + { url = "https://files.pythonhosted.org/packages/c1/ba/42f134a3fe2b370f555f44b1d72feebb94debcab01676bf918d0cb70e9aa/tomli-2.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c742f741d58a28940ce01d58f0ab2ea3ced8b12402f162f4d534dfe18ba1cd6a", size = 155924, upload-time = "2026-03-25T20:21:21.626Z" }, + { url = "https://files.pythonhosted.org/packages/dc/c7/62d7a17c26487ade21c5422b646110f2162f1fcc95980ef7f63e73c68f14/tomli-2.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7f86fd587c4ed9dd76f318225e7d9b29cfc5a9d43de44e5754db8d1128487085", size = 150018, upload-time = "2026-03-25T20:21:23.002Z" }, + { url = "https://files.pythonhosted.org/packages/5c/05/79d13d7c15f13bdef410bdd49a6485b1c37d28968314eabee452c22a7fda/tomli-2.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ff18e6a727ee0ab0388507b89d1bc6a22b138d1e2fa56d1ad494586d61d2eae9", size = 244948, upload-time = "2026-03-25T20:21:24.04Z" }, + { url = "https://files.pythonhosted.org/packages/10/90/d62ce007a1c80d0b2c93e02cab211224756240884751b94ca72df8a875ca/tomli-2.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:136443dbd7e1dee43c68ac2694fde36b2849865fa258d39bf822c10e8068eac5", size = 253341, upload-time = "2026-03-25T20:21:25.177Z" }, + { url = "https://files.pythonhosted.org/packages/1a/7e/caf6496d60152ad4ed09282c1885cca4eea150bfd007da84aea07bcc0a3e/tomli-2.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5e262d41726bc187e69af7825504c933b6794dc3fbd5945e41a79bb14c31f585", size = 248159, upload-time = "2026-03-25T20:21:26.364Z" }, + { url = "https://files.pythonhosted.org/packages/99/e7/c6f69c3120de34bbd882c6fba7975f3d7a746e9218e56ab46a1bc4b42552/tomli-2.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5cb41aa38891e073ee49d55fbc7839cfdb2bc0e600add13874d048c94aadddd1", size = 253290, upload-time = "2026-03-25T20:21:27.46Z" }, + { url = "https://files.pythonhosted.org/packages/d6/2f/4a3c322f22c5c66c4b836ec58211641a4067364f5dcdd7b974b4c5da300c/tomli-2.4.1-cp312-cp312-win32.whl", hash = "sha256:da25dc3563bff5965356133435b757a795a17b17d01dbc0f42fb32447ddfd917", size = 98141, upload-time = "2026-03-25T20:21:28.492Z" }, + { url = "https://files.pythonhosted.org/packages/24/22/4daacd05391b92c55759d55eaee21e1dfaea86ce5c571f10083360adf534/tomli-2.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:52c8ef851d9a240f11a88c003eacb03c31fc1c9c4ec64a99a0f922b93874fda9", size = 108847, upload-time = "2026-03-25T20:21:29.386Z" }, + { url = "https://files.pythonhosted.org/packages/68/fd/70e768887666ddd9e9f5d85129e84910f2db2796f9096aa02b721a53098d/tomli-2.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:f758f1b9299d059cc3f6546ae2af89670cb1c4d48ea29c3cacc4fe7de3058257", size = 95088, upload-time = "2026-03-25T20:21:30.677Z" }, + { url = "https://files.pythonhosted.org/packages/07/06/b823a7e818c756d9a7123ba2cda7d07bc2dd32835648d1a7b7b7a05d848d/tomli-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:36d2bd2ad5fb9eaddba5226aa02c8ec3fa4f192631e347b3ed28186d43be6b54", size = 155866, upload-time = "2026-03-25T20:21:31.65Z" }, + { url = "https://files.pythonhosted.org/packages/14/6f/12645cf7f08e1a20c7eb8c297c6f11d31c1b50f316a7e7e1e1de6e2e7b7e/tomli-2.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:eb0dc4e38e6a1fd579e5d50369aa2e10acfc9cace504579b2faabb478e76941a", size = 149887, upload-time = "2026-03-25T20:21:33.028Z" }, + { url = "https://files.pythonhosted.org/packages/5c/e0/90637574e5e7212c09099c67ad349b04ec4d6020324539297b634a0192b0/tomli-2.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7f2c7f2b9ca6bdeef8f0fa897f8e05085923eb091721675170254cbc5b02897", size = 243704, upload-time = "2026-03-25T20:21:34.51Z" }, + { url = "https://files.pythonhosted.org/packages/10/8f/d3ddb16c5a4befdf31a23307f72828686ab2096f068eaf56631e136c1fdd/tomli-2.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f3c6818a1a86dd6dca7ddcaaf76947d5ba31aecc28cb1b67009a5877c9a64f3f", size = 251628, upload-time = "2026-03-25T20:21:36.012Z" }, + { url = "https://files.pythonhosted.org/packages/e3/f1/dbeeb9116715abee2485bf0a12d07a8f31af94d71608c171c45f64c0469d/tomli-2.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d312ef37c91508b0ab2cee7da26ec0b3ed2f03ce12bd87a588d771ae15dcf82d", size = 247180, upload-time = "2026-03-25T20:21:37.136Z" }, + { url = "https://files.pythonhosted.org/packages/d3/74/16336ffd19ed4da28a70959f92f506233bd7cfc2332b20bdb01591e8b1d1/tomli-2.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:51529d40e3ca50046d7606fa99ce3956a617f9b36380da3b7f0dd3dd28e68cb5", size = 251674, upload-time = "2026-03-25T20:21:38.298Z" }, + { url = "https://files.pythonhosted.org/packages/16/f9/229fa3434c590ddf6c0aa9af64d3af4b752540686cace29e6281e3458469/tomli-2.4.1-cp313-cp313-win32.whl", hash = "sha256:2190f2e9dd7508d2a90ded5ed369255980a1bcdd58e52f7fe24b8162bf9fedbd", size = 97976, upload-time = "2026-03-25T20:21:39.316Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1e/71dfd96bcc1c775420cb8befe7a9d35f2e5b1309798f009dca17b7708c1e/tomli-2.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d65a2fbf9d2f8352685bc1364177ee3923d6baf5e7f43ea4959d7d8bc326a36", size = 108755, upload-time = "2026-03-25T20:21:40.248Z" }, + { url = "https://files.pythonhosted.org/packages/83/7a/d34f422a021d62420b78f5c538e5b102f62bea616d1d75a13f0a88acb04a/tomli-2.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:4b605484e43cdc43f0954ddae319fb75f04cc10dd80d830540060ee7cd0243cd", size = 95265, upload-time = "2026-03-25T20:21:41.219Z" }, + { url = "https://files.pythonhosted.org/packages/3c/fb/9a5c8d27dbab540869f7c1f8eb0abb3244189ce780ba9cd73f3770662072/tomli-2.4.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fd0409a3653af6c147209d267a0e4243f0ae46b011aa978b1080359fddc9b6cf", size = 155726, upload-time = "2026-03-25T20:21:42.23Z" }, + { url = "https://files.pythonhosted.org/packages/62/05/d2f816630cc771ad836af54f5001f47a6f611d2d39535364f148b6a92d6b/tomli-2.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a120733b01c45e9a0c34aeef92bf0cf1d56cfe81ed9d47d562f9ed591a9828ac", size = 149859, upload-time = "2026-03-25T20:21:43.386Z" }, + { url = "https://files.pythonhosted.org/packages/ce/48/66341bdb858ad9bd0ceab5a86f90eddab127cf8b046418009f2125630ecb/tomli-2.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:559db847dc486944896521f68d8190be1c9e719fced785720d2216fe7022b662", size = 244713, upload-time = "2026-03-25T20:21:44.474Z" }, + { url = "https://files.pythonhosted.org/packages/df/6d/c5fad00d82b3c7a3ab6189bd4b10e60466f22cfe8a08a9394185c8a8111c/tomli-2.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01f520d4f53ef97964a240a035ec2a869fe1a37dde002b57ebc4417a27ccd853", size = 252084, upload-time = "2026-03-25T20:21:45.62Z" }, + { url = "https://files.pythonhosted.org/packages/00/71/3a69e86f3eafe8c7a59d008d245888051005bd657760e96d5fbfb0b740c2/tomli-2.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7f94b27a62cfad8496c8d2513e1a222dd446f095fca8987fceef261225538a15", size = 247973, upload-time = "2026-03-25T20:21:46.937Z" }, + { url = "https://files.pythonhosted.org/packages/67/50/361e986652847fec4bd5e4a0208752fbe64689c603c7ae5ea7cb16b1c0ca/tomli-2.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ede3e6487c5ef5d28634ba3f31f989030ad6af71edfb0055cbbd14189ff240ba", size = 256223, upload-time = "2026-03-25T20:21:48.467Z" }, + { url = "https://files.pythonhosted.org/packages/8c/9a/b4173689a9203472e5467217e0154b00e260621caa227b6fa01feab16998/tomli-2.4.1-cp314-cp314-win32.whl", hash = "sha256:3d48a93ee1c9b79c04bb38772ee1b64dcf18ff43085896ea460ca8dec96f35f6", size = 98973, upload-time = "2026-03-25T20:21:49.526Z" }, + { url = "https://files.pythonhosted.org/packages/14/58/640ac93bf230cd27d002462c9af0d837779f8773bc03dee06b5835208214/tomli-2.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:88dceee75c2c63af144e456745e10101eb67361050196b0b6af5d717254dddf7", size = 109082, upload-time = "2026-03-25T20:21:50.506Z" }, + { url = "https://files.pythonhosted.org/packages/d5/2f/702d5e05b227401c1068f0d386d79a589bb12bf64c3d2c72ce0631e3bc49/tomli-2.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:b8c198f8c1805dc42708689ed6864951fd2494f924149d3e4bce7710f8eb5232", size = 96490, upload-time = "2026-03-25T20:21:51.474Z" }, + { url = "https://files.pythonhosted.org/packages/45/4b/b877b05c8ba62927d9865dd980e34a755de541eb65fffba52b4cc495d4d2/tomli-2.4.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:d4d8fe59808a54658fcc0160ecfb1b30f9089906c50b23bcb4c69eddc19ec2b4", size = 164263, upload-time = "2026-03-25T20:21:52.543Z" }, + { url = "https://files.pythonhosted.org/packages/24/79/6ab420d37a270b89f7195dec5448f79400d9e9c1826df982f3f8e97b24fd/tomli-2.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7008df2e7655c495dd12d2a4ad038ff878d4ca4b81fccaf82b714e07eae4402c", size = 160736, upload-time = "2026-03-25T20:21:53.674Z" }, + { url = "https://files.pythonhosted.org/packages/02/e0/3630057d8eb170310785723ed5adcdfb7d50cb7e6455f85ba8a3deed642b/tomli-2.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1d8591993e228b0c930c4bb0db464bdad97b3289fb981255d6c9a41aedc84b2d", size = 270717, upload-time = "2026-03-25T20:21:55.129Z" }, + { url = "https://files.pythonhosted.org/packages/7a/b4/1613716072e544d1a7891f548d8f9ec6ce2faf42ca65acae01d76ea06bb0/tomli-2.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:734e20b57ba95624ecf1841e72b53f6e186355e216e5412de414e3c51e5e3c41", size = 278461, upload-time = "2026-03-25T20:21:56.228Z" }, + { url = "https://files.pythonhosted.org/packages/05/38/30f541baf6a3f6df77b3df16b01ba319221389e2da59427e221ef417ac0c/tomli-2.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8a650c2dbafa08d42e51ba0b62740dae4ecb9338eefa093aa5c78ceb546fcd5c", size = 274855, upload-time = "2026-03-25T20:21:57.653Z" }, + { url = "https://files.pythonhosted.org/packages/77/a3/ec9dd4fd2c38e98de34223b995a3b34813e6bdadf86c75314c928350ed14/tomli-2.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:504aa796fe0569bb43171066009ead363de03675276d2d121ac1a4572397870f", size = 283144, upload-time = "2026-03-25T20:21:59.089Z" }, + { url = "https://files.pythonhosted.org/packages/ef/be/605a6261cac79fba2ec0c9827e986e00323a1945700969b8ee0b30d85453/tomli-2.4.1-cp314-cp314t-win32.whl", hash = "sha256:b1d22e6e9387bf4739fbe23bfa80e93f6b0373a7f1b96c6227c32bef95a4d7a8", size = 108683, upload-time = "2026-03-25T20:22:00.214Z" }, + { url = "https://files.pythonhosted.org/packages/12/64/da524626d3b9cc40c168a13da8335fe1c51be12c0a63685cc6db7308daae/tomli-2.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:2c1c351919aca02858f740c6d33adea0c5deea37f9ecca1cc1ef9e884a619d26", size = 121196, upload-time = "2026-03-25T20:22:01.169Z" }, + { url = "https://files.pythonhosted.org/packages/5a/cd/e80b62269fc78fc36c9af5a6b89c835baa8af28ff5ad28c7028d60860320/tomli-2.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:eab21f45c7f66c13f2a9e0e1535309cee140182a9cdae1e041d02e47291e8396", size = 100393, upload-time = "2026-03-25T20:22:02.137Z" }, + { url = "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl", hash = "sha256:0d85819802132122da43cb86656f8d1f8c6587d54ae7dcaf30e90533028b49fe", size = 14583, upload-time = "2026-03-25T20:22:03.012Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +]