synapse 2.165.0__py311-none-any.whl → 2.166.0__py311-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of synapse might be problematic. Click here for more details.
- synapse/cmds/cortex.py +1 -6
- synapse/common.py +6 -0
- synapse/cortex.py +73 -56
- synapse/datamodel.py +32 -0
- synapse/lib/agenda.py +81 -51
- synapse/lib/ast.py +21 -23
- synapse/lib/base.py +0 -6
- synapse/lib/cell.py +13 -22
- synapse/lib/httpapi.py +1 -0
- synapse/lib/nexus.py +3 -2
- synapse/lib/schemas.py +2 -0
- synapse/lib/snap.py +50 -0
- synapse/lib/storm.py +19 -17
- synapse/lib/stormlib/aha.py +4 -1
- synapse/lib/stormlib/auth.py +11 -4
- synapse/lib/stormlib/cache.py +202 -0
- synapse/lib/stormlib/cortex.py +69 -7
- synapse/lib/stormlib/spooled.py +109 -0
- synapse/lib/stormtypes.py +43 -15
- synapse/lib/trigger.py +10 -12
- synapse/lib/types.py +1 -1
- synapse/lib/version.py +2 -2
- synapse/lib/view.py +12 -0
- synapse/models/inet.py +74 -2
- synapse/models/orgs.py +52 -8
- synapse/models/person.py +30 -11
- synapse/models/risk.py +44 -3
- synapse/telepath.py +114 -32
- synapse/tests/test_cortex.py +40 -6
- synapse/tests/test_datamodel.py +22 -0
- synapse/tests/test_lib_agenda.py +8 -1
- synapse/tests/test_lib_aha.py +18 -4
- synapse/tests/test_lib_storm.py +95 -4
- synapse/tests/test_lib_stormlib_cache.py +272 -0
- synapse/tests/test_lib_stormlib_cortex.py +71 -0
- synapse/tests/test_lib_stormlib_spooled.py +190 -0
- synapse/tests/test_lib_stormtypes.py +27 -4
- synapse/tests/test_model_inet.py +67 -0
- synapse/tests/test_model_risk.py +6 -0
- synapse/tests/test_telepath.py +30 -7
- synapse/tests/test_tools_modrole.py +81 -0
- synapse/tests/test_tools_moduser.py +105 -0
- synapse/tools/modrole.py +59 -7
- synapse/tools/moduser.py +78 -10
- {synapse-2.165.0.dist-info → synapse-2.166.0.dist-info}/METADATA +2 -2
- {synapse-2.165.0.dist-info → synapse-2.166.0.dist-info}/RECORD +49 -47
- synapse/lib/provenance.py +0 -111
- synapse/tests/test_lib_provenance.py +0 -37
- {synapse-2.165.0.dist-info → synapse-2.166.0.dist-info}/LICENSE +0 -0
- {synapse-2.165.0.dist-info → synapse-2.166.0.dist-info}/WHEEL +0 -0
- {synapse-2.165.0.dist-info → synapse-2.166.0.dist-info}/top_level.txt +0 -0
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
synapse/__init__.py,sha256=R2kOXlF5j-8m6G0JkHuN7rXRPg_tHLmbMxr__94mHQk,1145
|
|
2
2
|
synapse/axon.py,sha256=cXvA5H1BFJ2-tadhWazGxmG0BnVzvuYG798smwF09io,61158
|
|
3
3
|
synapse/cells.py,sha256=eNvdglfAoTURVhGOLGcgMXCGpfsIX1a02SQnyiklo3E,308
|
|
4
|
-
synapse/common.py,sha256=
|
|
5
|
-
synapse/cortex.py,sha256=
|
|
4
|
+
synapse/common.py,sha256=_-cBBcL88YGAnhVq9WJ5nUKtoq-NytfwbgYzCq02W-Q,35578
|
|
5
|
+
synapse/cortex.py,sha256=5jL-N_OgHVORaRKRh-a-XrHqrhzH3WHJvcWaHhX_oFg,233411
|
|
6
6
|
synapse/cryotank.py,sha256=kOriVF8LnwYxgyTxQXSepyFRtSu2C6n9t_yImTV7ZNI,11714
|
|
7
7
|
synapse/daemon.py,sha256=tPPggIATq0O0Cw1J2nzL-JW10VIOFcrvP4XqsKQwozc,16776
|
|
8
|
-
synapse/datamodel.py,sha256=
|
|
8
|
+
synapse/datamodel.py,sha256=o4YktPuoprTwjGly-8217dvHzM-sUxTMCPCwByqJCDI,34070
|
|
9
9
|
synapse/exc.py,sha256=kZFnm8rR1h3rQVEjvaKBcD-EfClHf2NRnNwbfMXvB1Y,8366
|
|
10
10
|
synapse/glob.py,sha256=tb6NPtK6Jp6YES9sB1AQi26HP6f-BcEiHrZz2yEyZ90,3210
|
|
11
11
|
synapse/mindmeld.py,sha256=TiijGH7wX2zdXIFSBUlN40CPOvYaFlw6Wxi66XZuB_M,26
|
|
12
|
-
synapse/telepath.py,sha256=
|
|
12
|
+
synapse/telepath.py,sha256=zm8YMvwRBuLH1xHyYRvEUNrtuNC8_C1fV5NKpB9YCx4,44021
|
|
13
13
|
synapse/cmds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
14
|
synapse/cmds/boss.py,sha256=anEKo72bmMV6xTQ1XM-Dz9HFYkNKUX7Ee6Q6jKtkml4,2920
|
|
15
|
-
synapse/cmds/cortex.py,sha256=
|
|
15
|
+
synapse/cmds/cortex.py,sha256=l81zQjR0OWF-X_lOm-gPqwhVGJ4KcKe0JLA3T1NbuU4,15402
|
|
16
16
|
synapse/cmds/hive.py,sha256=nKEYG9uUab9ju3h-wlEJRWH8l-zmWxR-y0DIZ85ZaYI,8362
|
|
17
17
|
synapse/data/__init__.py,sha256=CUOleHBoaFEshUkDuYbNpiKIRS_NmR8cH5PHEGWOQfs,766
|
|
18
18
|
synapse/data/iana.tlds.mpk,sha256=qMcqUhueI9vSa0qyRojXE9JJCpQ9uyzatf6n3MIh65s,10558
|
|
@@ -83,14 +83,14 @@ synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-sch
|
|
|
83
83
|
synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json,sha256=9X6FOE_f31GFlZEXjlgqlfRLN96ZlnxZew_rn7fVxVQ,2839
|
|
84
84
|
synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json,sha256=f1T3r4CRcJP0743qmAlVCdNvi5ASrOU42PSoiDNlRqc,3575
|
|
85
85
|
synapse/lib/__init__.py,sha256=qLS7nt8-Iot8jnD2Xss_6wZi5lJoyv2rqxF9kkektT0,129
|
|
86
|
-
synapse/lib/agenda.py,sha256=
|
|
86
|
+
synapse/lib/agenda.py,sha256=WgISI-baosIrg1i5pB0zPL4IWpEb95Y9bUJXaOUDnQs,32724
|
|
87
87
|
synapse/lib/aha.py,sha256=vwDLgKXnqtpBee49LEWqix4GYlslpTknjYVRzg0pyak,42198
|
|
88
|
-
synapse/lib/ast.py,sha256=
|
|
88
|
+
synapse/lib/ast.py,sha256=fkZ7P8-1yTam_9RTxyK2ze-GNLEvCSFgb7on_AcFMG4,148961
|
|
89
89
|
synapse/lib/autodoc.py,sha256=CsGaX0tAKGh21YbIvUtvaUnZyqmsx6j-E9QD_vhKSP4,20747
|
|
90
|
-
synapse/lib/base.py,sha256=
|
|
90
|
+
synapse/lib/base.py,sha256=fDq0FDGeNOTGE-E4s0ekeNzy3e0-IO2tbQ3tQbIv76w,22081
|
|
91
91
|
synapse/lib/boss.py,sha256=rYu4jkHJ3Y5GLX23Hlrwe9H17LF27LZ0BkK_A_9Aqh0,2056
|
|
92
92
|
synapse/lib/cache.py,sha256=mF8aUIIo2ejQ2PT2IFmz8a4qrnDqOSLaOXws0djXOhQ,6265
|
|
93
|
-
synapse/lib/cell.py,sha256=
|
|
93
|
+
synapse/lib/cell.py,sha256=7h13BYusJLOZYEY4HqbhE09piDruzpjaeyH56sI5Td8,157298
|
|
94
94
|
synapse/lib/certdir.py,sha256=8gRkzCcpNVDLR-rXNww4frzGffF160iG18Z6d9JkPJY,56086
|
|
95
95
|
synapse/lib/chop.py,sha256=_IywOiCvI9jL2yncSJaXR05B5Il7XR81uYerOTD__eI,9421
|
|
96
96
|
synapse/lib/cli.py,sha256=rwaO4SbJIzOhwxB9B7NHXpyegQeRsUQ1gULVwgnNCfg,14580
|
|
@@ -109,7 +109,7 @@ synapse/lib/hashset.py,sha256=6R9q6iNfxZ5iGGEmoN7ODDCUnba1XBn7w2PPJh4Yz9o,1468
|
|
|
109
109
|
synapse/lib/health.py,sha256=wkVZObjo3quEmxA0VOUnYHapnRinOVZdTFOVobjoTH4,1730
|
|
110
110
|
synapse/lib/hive.py,sha256=NjrruG9Fdbv203PlV85GD9cPa1g--UP0gU_-47moyrw,19231
|
|
111
111
|
synapse/lib/hiveauth.py,sha256=J7a9LGwLdsVr6EBLoVG4DXC2ML2ahOYq8XihNfNhS7c,40054
|
|
112
|
-
synapse/lib/httpapi.py,sha256=
|
|
112
|
+
synapse/lib/httpapi.py,sha256=yqlsVh_7UVVYFdTo6VB-x4LcZpgdz_ZJOHNFMYcqfGo,43114
|
|
113
113
|
synapse/lib/ingest.py,sha256=HNW1xs215c_UXVjKaxjipKBmVL4ujrjmarHBRvLPLkE,40
|
|
114
114
|
synapse/lib/interval.py,sha256=PqpEhMGG6LD9mJxEms0oQWC-NB01H6gwsmLSc5LrDFk,1175
|
|
115
115
|
synapse/lib/jsonstor.py,sha256=QQVf7Kl90sI_v97UZZAoa6stizDeMyy0ykR3RsHpmi8,19359
|
|
@@ -122,31 +122,30 @@ synapse/lib/module.py,sha256=0XLFLzuZVmEqulKmdT0uah0oi1t8_f_ghakhqvoKtKI,4686
|
|
|
122
122
|
synapse/lib/modules.py,sha256=cjWjYrPYagyx2Oq2tuuzHHeSc7sSvPLUyW6io5P8ErI,1124
|
|
123
123
|
synapse/lib/msgpack.py,sha256=YXI8bTVIpwJWGIjbK8RXxSd-oVgxrcOHCR1tPnh4bRQ,7018
|
|
124
124
|
synapse/lib/multislabseqn.py,sha256=WxJQm6XNINyGBTUnmSkY4iifxLlR_FZe3geOcT8BxR4,15211
|
|
125
|
-
synapse/lib/nexus.py,sha256=
|
|
125
|
+
synapse/lib/nexus.py,sha256=X3qR8_UlEHlY_X_70uu0a3MMJhZhT8bi3xgJClF27Lk,22325
|
|
126
126
|
synapse/lib/node.py,sha256=v5DCQbcjw3YeB3MNJ4GkufVZU7iz8XwMyj8gHaEWEUI,30072
|
|
127
127
|
synapse/lib/oauth.py,sha256=Nmd7dnxq7aRdBR5HILYYQm-TpCjfrTOIZwkHPeLQApA,15094
|
|
128
128
|
synapse/lib/output.py,sha256=MARscREHja4h8PQN7GZxHGvF36RoOkUyw3vfhmFzMTk,890
|
|
129
129
|
synapse/lib/parser.py,sha256=QxKPPDXqsfxSHYvUxBodEwpHwgFZ4rjCHJ_RbtQNdcw,28157
|
|
130
|
-
synapse/lib/provenance.py,sha256=ik1fzoFUvd-NciJTUPlm2PrM8d4G78AZjSEsHeJRIsM,3092
|
|
131
130
|
synapse/lib/queue.py,sha256=omMtqD4HWg2mLOhhtIe4pA_evz234lJ9uhlAhC_xbW4,3879
|
|
132
131
|
synapse/lib/ratelimit.py,sha256=BIeFPZb9Bk5GFIVvhM43Uw1s0abY6z7NgTuBorVajz4,1124
|
|
133
132
|
synapse/lib/reflect.py,sha256=7nH27S5-BAwmmfbwGW1ivfb0xEvo_XkAiMuN5xb0mW4,2878
|
|
134
133
|
synapse/lib/rstorm.py,sha256=zZPC3sB2zDqdjhgpXwA1aka7CLTDYaeieTxIDfmwRBY,19656
|
|
135
|
-
synapse/lib/schemas.py,sha256=
|
|
134
|
+
synapse/lib/schemas.py,sha256=3eBO2FKDlMSttIHUkcnHYOA1S1ESKlZ-siBGOBYbYTM,10104
|
|
136
135
|
synapse/lib/scope.py,sha256=0CuSXLG_7pNleC1BcJ8_WbA50DswrX4DNjW5MyGGGNo,5496
|
|
137
136
|
synapse/lib/scrape.py,sha256=ZnYDUlb5KoPwPJ8Dx5UZZwgGKYynO7mYNYfgIoNkXZ0,25042
|
|
138
137
|
synapse/lib/share.py,sha256=HDQR7nb4IOleHB1kIFe6prZQVW7PjPAivSAkPuhNn5A,663
|
|
139
138
|
synapse/lib/slaboffs.py,sha256=Fd0RrIRBMjh159aQz5y1ONmzw0NvV040kVX_jZjQW6I,815
|
|
140
139
|
synapse/lib/slabseqn.py,sha256=64UyPav1cCLEXF15wzbWskVeKZKPR1iiDhhmpvDFnuw,10010
|
|
141
|
-
synapse/lib/snap.py,sha256=
|
|
140
|
+
synapse/lib/snap.py,sha256=DnNAV36-qRYisE2M6j_AtoH1M8p2m8c_dDQp-QBG4MQ,53456
|
|
142
141
|
synapse/lib/spooled.py,sha256=00x_RS1TiJkfuTXwwdUcYifuECGYgC8B1tX-sX7nb_k,5385
|
|
143
142
|
synapse/lib/storm.lark,sha256=KlzTs3-Gcv0eHfen8356Smn6XKBIpD_aH0uyogSZvv8,25604
|
|
144
|
-
synapse/lib/storm.py,sha256=
|
|
143
|
+
synapse/lib/storm.py,sha256=7V49wVB-f-NdeJ92jurmtYz6vAAHREl-NJr_W_LrBjE,210426
|
|
145
144
|
synapse/lib/storm_format.py,sha256=IySRTGUbCAsIhULY1VS1vxvAbLYUXMezPlPSCRJX4rU,4753
|
|
146
145
|
synapse/lib/stormctrl.py,sha256=XvyZ6M0Ew8sXsjGvRTWbXh0MjktZrGi_zQ9kNa7AWTE,285
|
|
147
146
|
synapse/lib/stormhttp.py,sha256=DkpndsFRGsWlDnT5RKknd9a53FVebZGOFVKCqkPcnrQ,26885
|
|
148
147
|
synapse/lib/stormsvc.py,sha256=c8W1-2tC8Cu6IDHjqObBn8qaKH6vc-7GOR5YCOmuENA,6825
|
|
149
|
-
synapse/lib/stormtypes.py,sha256=
|
|
148
|
+
synapse/lib/stormtypes.py,sha256=ZgUs8-7OnjSBWx9pEcxYY1Mdm-5VJGXAYndBQpsKloU,377628
|
|
150
149
|
synapse/lib/stormwhois.py,sha256=efG4s1_UOShY3YD8N2OLEa_ELOnzsfLaMEMfDCJYeLQ,2275
|
|
151
150
|
synapse/lib/structlog.py,sha256=qiuD7TTdwCyYEDF2f-88G2iX54SuB-lJ1pqlYokL1r8,1303
|
|
152
151
|
synapse/lib/task.py,sha256=krDjQvNh0EpAs1PILK8CJJa9DMeM0depI0K8Eimp010,5733
|
|
@@ -154,11 +153,11 @@ synapse/lib/thishost.py,sha256=b4s3X2tsUPVtECBmxSkvtMix_C7jvgAOQXS5Mq-Nka4,840
|
|
|
154
153
|
synapse/lib/thisplat.py,sha256=kQhj9Iy97zKHCnaxFSBoSnKabfza9vjpg9m6V7w-Xt4,417
|
|
155
154
|
synapse/lib/threads.py,sha256=TSsC7ryXm_CbM0LQMsvk1vYV4iyvarzWzH59TrUzKuo,164
|
|
156
155
|
synapse/lib/time.py,sha256=FKTYwpdvpuAj8p8sSodRjOxoA7Vu67CIbbXz55gtghk,9231
|
|
157
|
-
synapse/lib/trigger.py,sha256=
|
|
158
|
-
synapse/lib/types.py,sha256=
|
|
156
|
+
synapse/lib/trigger.py,sha256=cqKW0e2KmeiPsU3d3vwpo0PLLHUs6ZPVWZyxAxU6gMA,20849
|
|
157
|
+
synapse/lib/types.py,sha256=ewKI4Tln1TzI2Iz-PYNqLdiBzCvWOlnNof2beaAn_dc,67680
|
|
159
158
|
synapse/lib/urlhelp.py,sha256=j-DvWGi-xH0TcO0NbCuwG7guUuiV8wxIxfMyJOzDygo,2523
|
|
160
|
-
synapse/lib/version.py,sha256=
|
|
161
|
-
synapse/lib/view.py,sha256=
|
|
159
|
+
synapse/lib/version.py,sha256=sMLAWIG5etlF4AYDc9LT-0WmcpPLIwQf1Y8XORCjD0Y,7162
|
|
160
|
+
synapse/lib/view.py,sha256=AVaGf3vYmA5vj6WS-s-0S7GBdky1pmhXidAfulwYtOE,55283
|
|
162
161
|
synapse/lib/crypto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
163
162
|
synapse/lib/crypto/coin.py,sha256=_dhlkzIrHT8BvHdJOWK7PDThz3sK3dDRnWAUqjRpZJc,4910
|
|
164
163
|
synapse/lib/crypto/ecc.py,sha256=e5XM8fsU3YnkT9u1eNROqOK8ccjp5QirIn7FljC_z1s,6522
|
|
@@ -172,13 +171,14 @@ synapse/lib/platforms/freebsd.py,sha256=0lJNc9W5a5TWfsz734o30gtF3vS3BH8QXWvy04pz
|
|
|
172
171
|
synapse/lib/platforms/linux.py,sha256=VBUn_tf7PYGgfBXDBBNfE16QBGWstSkuV2l4LXX0dvQ,8002
|
|
173
172
|
synapse/lib/platforms/windows.py,sha256=YbB73MIoBPvePNYiTYa2xEvpGAotAiEKNl4P--njPPM,2069
|
|
174
173
|
synapse/lib/stormlib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
175
|
-
synapse/lib/stormlib/aha.py,sha256=
|
|
176
|
-
synapse/lib/stormlib/auth.py,sha256=
|
|
174
|
+
synapse/lib/stormlib/aha.py,sha256=1NQgf4wHl3B-Iu1lPJ69pmlOSzKKc0vFTCWrNjuZVw4,5281
|
|
175
|
+
synapse/lib/stormlib/auth.py,sha256=sMyheJVQGV0Z13qMcvBsgZo6dcb34rgejaqm6z_YJ6g,83421
|
|
177
176
|
synapse/lib/stormlib/backup.py,sha256=-cR7lR9IRib-e0uMRV1oKVfdJJ3PYbowtwtH0i3mOtY,2846
|
|
178
177
|
synapse/lib/stormlib/basex.py,sha256=BHnThzA7xv_wBaoxO3sVjjPGgS7K5PMXyGrFFQzmX2Y,2638
|
|
178
|
+
synapse/lib/stormlib/cache.py,sha256=uC7whmdnqaDAcZLTE1AlFQl18RXM_tYUVjpveCDgtz8,7869
|
|
179
179
|
synapse/lib/stormlib/cell.py,sha256=QqkPnpS7WfC7wDfajFq7b7jmjDBSUz5Dzow1sG8wRMM,12623
|
|
180
180
|
synapse/lib/stormlib/compression.py,sha256=JgF9JVVrBL_FlxYUD98HAXFwbVSr4XtIxto81HpBPQw,6206
|
|
181
|
-
synapse/lib/stormlib/cortex.py,sha256=
|
|
181
|
+
synapse/lib/stormlib/cortex.py,sha256=VHsU_krrUDKoy28xJgvYkRqvZ8QmkZMesCFFpVOqc7c,55040
|
|
182
182
|
synapse/lib/stormlib/easyperm.py,sha256=D_i7ZB20Ow3mLS6-e5GC5qx3pUuWroFOv-dv9m68iMo,5453
|
|
183
183
|
synapse/lib/stormlib/ethereum.py,sha256=hsgQD4tQpS7mS9lrbghxZF5gEwop4OeeN2Tf3CfncuY,1219
|
|
184
184
|
synapse/lib/stormlib/gen.py,sha256=2fNXkBPdV1T4Ln7zbIbBeQcUjXLRVsqHF1CWAwxSO-s,27069
|
|
@@ -204,6 +204,7 @@ synapse/lib/stormlib/project.py,sha256=0f_UzmK3wBxF_-eQveJ3ek65uBTwW-y7MXFwSqkM2
|
|
|
204
204
|
synapse/lib/stormlib/random.py,sha256=BHcnpNkJNAM6-ZZqv98Hx1zCnJv8Guu7_jiuwr36Ht4,1331
|
|
205
205
|
synapse/lib/stormlib/scrape.py,sha256=8KKAw9F3f1rQbqLYaVa9FXi_APczeo07kYVDtzFuZIw,6875
|
|
206
206
|
synapse/lib/stormlib/smtp.py,sha256=CQCp7BR9GAXqdzpXm3Q49f9EV8UfJQqGCRQkdbxPQM8,7263
|
|
207
|
+
synapse/lib/stormlib/spooled.py,sha256=f-JZcZBngTlWQW732mPaZ7IVwPZ9M-e4xqS9wKSYo4U,4106
|
|
207
208
|
synapse/lib/stormlib/stats.py,sha256=I-oxv9Ig-ZUyZ2yQX9TowtFCYOqMRWjnaiF3ErOjIQc,8575
|
|
208
209
|
synapse/lib/stormlib/stix.py,sha256=aoC1Pb8scQXHrfvDxOu1uvgUbh9q2opWa3rAZzTTxh4,52127
|
|
209
210
|
synapse/lib/stormlib/storm.py,sha256=CEDwKXQ1cZqrsbC-_FqXMn-ZtIcIhDyC5-iibCCE6fk,2152
|
|
@@ -230,15 +231,15 @@ synapse/models/economic.py,sha256=KzMExFHaVQRLWa-sZPwzCp8TxOYttQOcVAZOFfDSfKU,20
|
|
|
230
231
|
synapse/models/files.py,sha256=Lw79a1Z1_nGEs8vIq3vrZW7_cs5Dx3Eu4DET1EC9MoU,29555
|
|
231
232
|
synapse/models/geopol.py,sha256=m3jSJWwrQP3mzWOh0ib_gyYM2KkUIoJGJfuJkqSyKRU,10852
|
|
232
233
|
synapse/models/geospace.py,sha256=JIhH45AReWDMrl7lFivkF4Lo3K9dzqQvguoCdsVmPBg,19171
|
|
233
|
-
synapse/models/inet.py,sha256=
|
|
234
|
+
synapse/models/inet.py,sha256=UhFGK2oIMkcDb0fEB_R214Wl2qplg67buSfZIS1aj90,144376
|
|
234
235
|
synapse/models/infotech.py,sha256=zt5MYxZisWCGbd6S2A1EfhX2R6rcC6WjgGkdStPfUTc,129205
|
|
235
236
|
synapse/models/language.py,sha256=D2gyMrCQmKY_QjxN7OwJsCmh_pR9fjjZnxcKoJ9NItM,3430
|
|
236
237
|
synapse/models/material.py,sha256=d-nonZKyJpHc32ebghtkm5tSifwVFN_ctx2kb8N4NqI,3214
|
|
237
238
|
synapse/models/media.py,sha256=uIsayKqdDM36eGyrJwz2UqOa_QQ9MpMJ2uHdgGYDLa4,3605
|
|
238
|
-
synapse/models/orgs.py,sha256=
|
|
239
|
-
synapse/models/person.py,sha256=
|
|
239
|
+
synapse/models/orgs.py,sha256=QfBvD7NmX51v9k7tmWci7d_PvLRejL96m4nJG9Q3-cY,62484
|
|
240
|
+
synapse/models/person.py,sha256=w6lihRSU_6wW9UOj_dogR1c7BfMAmUPXb3S9_LKk-zI,26847
|
|
240
241
|
synapse/models/proj.py,sha256=eYY2bY7H8HJGvmuVQOrn4rQQWZQ_7noKtjLiq3QzgUU,9035
|
|
241
|
-
synapse/models/risk.py,sha256=
|
|
242
|
+
synapse/models/risk.py,sha256=kH-FnPj0fhZvC_nEr3RPjiRz6OLYTj_FyTaYXvE9luk,50450
|
|
242
243
|
synapse/models/science.py,sha256=oSkKbjmVncYcVkVgx8rhM08XtcsgDgjf3mpunz5kL30,4329
|
|
243
244
|
synapse/models/syn.py,sha256=nE8zbZC6msILF4AR9h4S7t6hcXfUxgf4ZXaK0C15Lzk,12166
|
|
244
245
|
synapse/models/telco.py,sha256=o5R8IF3yc4ejtXHfwap2F-VPcP8dV0uSxb4tEyPc3CQ,15107
|
|
@@ -262,16 +263,16 @@ synapse/tests/test_cmds_boss.py,sha256=SdBwM2qJHFzzfrjWYiZOLBKeye8uru7KeJ3NU_YSk
|
|
|
262
263
|
synapse/tests/test_cmds_cortex.py,sha256=LWFz8HyuvsIGjtz2DqXYh-R-5QbiQWzLlQKqew7gabY,17157
|
|
263
264
|
synapse/tests/test_cmds_hive.py,sha256=aRH_Gh8oF_1BsfpmffyhDDNIqnTqsuF2cavdtGke1-0,5912
|
|
264
265
|
synapse/tests/test_common.py,sha256=Akj1KLWbj7XRjTL_oN2Nt9v9liuGRKu2_3oCrHaMQkE,16415
|
|
265
|
-
synapse/tests/test_cortex.py,sha256=
|
|
266
|
+
synapse/tests/test_cortex.py,sha256=XaNkaGNjcVQomAvUTN9w4tVD0hzZSfQAEFacWn_yCV8,336385
|
|
266
267
|
synapse/tests/test_cryotank.py,sha256=JwEn_roIu4wlfPv34kjyAoJ2cWTrX3jDOr7ZMFUyslQ,12085
|
|
267
268
|
synapse/tests/test_daemon.py,sha256=srOQ78HaHxCL38mvq5LWzsxgU0yb3UNLgi5KSMGQP8c,5812
|
|
268
269
|
synapse/tests/test_data.py,sha256=f8L-q6kpMq8XPG3hq1jwlyaFRQEinSBf7ZlsRFeCuoM,196
|
|
269
|
-
synapse/tests/test_datamodel.py,sha256=
|
|
270
|
+
synapse/tests/test_datamodel.py,sha256=uHCLkjeYqyUeR8LZv7xXjGwLRzYuWGixsM1C1HbWfyQ,11958
|
|
270
271
|
synapse/tests/test_exc.py,sha256=j24ddx0PFdwtmgtwsjIvypXxfn4ji3rhAWo9I2sUbSY,1725
|
|
271
272
|
synapse/tests/test_glob.py,sha256=cSNrtEKWLsZXRhsjxQjRjjMqdgqfpl05yT4S53dC0NU,249
|
|
272
273
|
synapse/tests/test_init.py,sha256=rHqYBVL_aFf1HO6zCF5akHVcHUP2g1kpJLRdTkV0yys,557
|
|
273
|
-
synapse/tests/test_lib_agenda.py,sha256=
|
|
274
|
-
synapse/tests/test_lib_aha.py,sha256=
|
|
274
|
+
synapse/tests/test_lib_agenda.py,sha256=PowCWygRdErvjvaQNx80G3zNIqsLMMlrakyJU9XF5nE,37779
|
|
275
|
+
synapse/tests/test_lib_aha.py,sha256=Ivf55ER-xPOGgKv2uk291VOZS1A-v8udMBMXLaoX81A,68589
|
|
275
276
|
synapse/tests/test_lib_ast.py,sha256=bFdcP2al2qgLuY_yTXWNMsZSClv4oJRxj9kOR8KReaE,160358
|
|
276
277
|
synapse/tests/test_lib_autodoc.py,sha256=H9Yb7cvzXOMPGBIoCCqNClcyIp6zEWcawtfudKbG-2U,6282
|
|
277
278
|
synapse/tests/test_lib_base.py,sha256=mgqGmjioQaT75r4tWH7QkyqiMFOi_Or02Wo79oAh9z0,14032
|
|
@@ -313,7 +314,6 @@ synapse/tests/test_lib_nexus.py,sha256=eNbEbtWI5yldKTIuV2l1dsX2R1jqj1QvHRn08qTUS
|
|
|
313
314
|
synapse/tests/test_lib_node.py,sha256=YPxhC0cAXg_dHGnIrfqRerTKG8Ne4S0XAy5U8_h5zXA,24242
|
|
314
315
|
synapse/tests/test_lib_output.py,sha256=iYt3DSEVvJiolIUkGKhATYqHbSk-N92swIr4p6lmzl0,603
|
|
315
316
|
synapse/tests/test_lib_platforms_linux.py,sha256=MgafTw5hq1ld9sKLREqf3LnmINk4Kdhz589jvE5NC0M,2556
|
|
316
|
-
synapse/tests/test_lib_provenance.py,sha256=Sa29AjMmZtydzHY6wLcPBBXI86XXWqciAQOLdyaWOJo,1234
|
|
317
317
|
synapse/tests/test_lib_queue.py,sha256=pr1dTeBcu4zVD9p0li1PvgH3XTiXZ4oPQm2ibAXXMpg,829
|
|
318
318
|
synapse/tests/test_lib_ratelimit.py,sha256=2aH3KodVGOEkxbe0hZ1RAQ4p6waF1tueSZP9h_QNya0,415
|
|
319
319
|
synapse/tests/test_lib_reflect.py,sha256=C2GMXUPm705p2ySLRpICWZUNB-oo4NiluT6XU_gY_jA,3104
|
|
@@ -324,15 +324,16 @@ synapse/tests/test_lib_slaboffs.py,sha256=FHQ8mGZ27dGqVwGk6q2UJ4gkPRZN22eIVzS8hM
|
|
|
324
324
|
synapse/tests/test_lib_slabseqn.py,sha256=5exmYwQ-FALf5NXkh-lgolg32LaGvHJIh17EDnbgp2w,5185
|
|
325
325
|
synapse/tests/test_lib_snap.py,sha256=ZuTO4_m4lOYrLzmhC8Ql1IUKwDo592Fl0-OdOBtkvMc,27028
|
|
326
326
|
synapse/tests/test_lib_spooled.py,sha256=dC5hba4c0MehALt4qW-cokqJl-tZsIsmABCGMIclXNM,2776
|
|
327
|
-
synapse/tests/test_lib_storm.py,sha256=
|
|
327
|
+
synapse/tests/test_lib_storm.py,sha256=RixlARHGLi9I2Gnixp1gEEPrWdc9zLiqtjP3xyyma1k,202200
|
|
328
328
|
synapse/tests/test_lib_storm_format.py,sha256=tEZgQMmKAeG8FQZE5HUjOT7bnKawVTpNaVQh_3Wa630,277
|
|
329
329
|
synapse/tests/test_lib_stormhttp.py,sha256=wk907a1fIADBgETeaiY5HWddIXv-nM3vinCryl5oKxw,36823
|
|
330
330
|
synapse/tests/test_lib_stormlib_auth.py,sha256=YkT32btBsuUgMPgd_NlzXSfrHrgHHlmLfRFrZfZvX48,56990
|
|
331
331
|
synapse/tests/test_lib_stormlib_backup.py,sha256=3ZYE3swQ4A8aYJyVueFXzbekCdoKMC7jsHLoq0hTKGI,1644
|
|
332
332
|
synapse/tests/test_lib_stormlib_basex.py,sha256=DDOsH3XDR8MdJ1uj5avyqnFqBnlaIu8L5stX61jqKrw,2049
|
|
333
|
+
synapse/tests/test_lib_stormlib_cache.py,sha256=fOfMHUMVitnUT54oZHB56v86KH-aoWtVDvqUpKUfVD4,9084
|
|
333
334
|
synapse/tests/test_lib_stormlib_cell.py,sha256=M-UyOEdggChAMmOOAoL1k7aGVd9nXLbIq621XKVq3j8,14921
|
|
334
335
|
synapse/tests/test_lib_stormlib_compression.py,sha256=ggSYk0mWCw9WsTQ3HM86XvYz0bhQttYc3rnPC0dwYTg,2823
|
|
335
|
-
synapse/tests/test_lib_stormlib_cortex.py,sha256
|
|
336
|
+
synapse/tests/test_lib_stormlib_cortex.py,sha256=JYIun7UGmuLv17twyLKDP3I738s8P7HRxYFjBghcAus,69245
|
|
336
337
|
synapse/tests/test_lib_stormlib_easyperm.py,sha256=qPZr5qjjmD4BnLeLQM3i2HgiHhTsjvu7is7l26xkMxY,4133
|
|
337
338
|
synapse/tests/test_lib_stormlib_ethereum.py,sha256=yfil8RZWmbH7CUOlnito1kyL7VJVegoCgLaLXNKHFRI,797
|
|
338
339
|
synapse/tests/test_lib_stormlib_gen.py,sha256=KUWMs989LfRu0mSTyVqAabtu_jQ82SltpWU5kcnA4-M,12318
|
|
@@ -354,6 +355,7 @@ synapse/tests/test_lib_stormlib_pack.py,sha256=YSb4dErPM3CeU0piqvhIQF_F1m3YjApo3
|
|
|
354
355
|
synapse/tests/test_lib_stormlib_random.py,sha256=1P-7-FzDJEPQbxHEGOnIa9EfQkCjhv31Fo8BwA_wbiU,796
|
|
355
356
|
synapse/tests/test_lib_stormlib_scrape.py,sha256=CY20KZ6y-LKCGvgMYDWLXKX8jczzld1-3sIfhBkj2Z8,9335
|
|
356
357
|
synapse/tests/test_lib_stormlib_smtp.py,sha256=FKC71JaLDdXJA04xxM1RGapXpufOS0bDc0f_5DdjKhs,1601
|
|
358
|
+
synapse/tests/test_lib_stormlib_spooled.py,sha256=9WjtZ0_9s89zjVcNqx9YMu86i3sIL9FznK-IAJ09iSE,6602
|
|
357
359
|
synapse/tests/test_lib_stormlib_stats.py,sha256=zIaqhK6SWaKR6MOkevNZ-dSDVYBq8mwFRxhm9U_F0kg,9364
|
|
358
360
|
synapse/tests/test_lib_stormlib_stix.py,sha256=8apRT5Gy4KPGM3UZnf3JKCVq_lM3UYhemme6m1BY1yE,24166
|
|
359
361
|
synapse/tests/test_lib_stormlib_storm.py,sha256=0r2lr3x76svq9r9EuSYD2PlqBqYKel6bdmmsiFE-0lQ,2551
|
|
@@ -361,7 +363,7 @@ synapse/tests/test_lib_stormlib_vault.py,sha256=JWCDmSoclZyTVzFdfAvjdLxq6eWIwTCw
|
|
|
361
363
|
synapse/tests/test_lib_stormlib_xml.py,sha256=dWa9NkXXE28VZ3bTmMDbddo7VpUKsSEHTS1ojJr-F90,3704
|
|
362
364
|
synapse/tests/test_lib_stormlib_yaml.py,sha256=egTVXk8wW31V2msF__9WxP3THcqfysG1mYhc7hQG8rw,1358
|
|
363
365
|
synapse/tests/test_lib_stormsvc.py,sha256=CGU22jCrWoQHPPccC_MsqkAyz6ARSx9YffZwakhwXQU,40042
|
|
364
|
-
synapse/tests/test_lib_stormtypes.py,sha256=
|
|
366
|
+
synapse/tests/test_lib_stormtypes.py,sha256=SQ_7jFYrlpwX7daZQo0y5geqPjB44EGTM0IIj7v2Prc,291804
|
|
365
367
|
synapse/tests/test_lib_stormwhois.py,sha256=Rd7yx07kZtEs385e_8aA-EIYh4CrYdn_bh7ikIobiDU,4782
|
|
366
368
|
synapse/tests/test_lib_structlog.py,sha256=DGfzrfc2nybRq5RjwiUXd1v4sC5zl8d46RHgTmFD0iA,3964
|
|
367
369
|
synapse/tests/test_lib_task.py,sha256=Zby9Evlg_mBwE3_aF7p_5PIMhWp2Er7Y-ye4Y-3L5RQ,1646
|
|
@@ -388,7 +390,7 @@ synapse/tests/test_model_geospace.py,sha256=HfICVBkVl7PCbxZK0vQsA_iVXRHGyS-7-5oI
|
|
|
388
390
|
synapse/tests/test_model_gov_cn.py,sha256=FnfKNM_wnvmScLm4cYFSQXZ21kVaTPPDusiCD79awBA,675
|
|
389
391
|
synapse/tests/test_model_gov_intl.py,sha256=v5BZhQnoMurzZYhM9hkzALzQzp92KidweYxVlghXDws,770
|
|
390
392
|
synapse/tests/test_model_gov_us.py,sha256=kvZ9DudBrbKtZmqGm8X-b_IOw4oJ7XZMnvTgiDkzsrY,1525
|
|
391
|
-
synapse/tests/test_model_inet.py,sha256=
|
|
393
|
+
synapse/tests/test_model_inet.py,sha256=aCug6PofjMNmR91GnUAi0xbHktBGuV8v_YBFyWttfRI,127030
|
|
392
394
|
synapse/tests/test_model_infotech.py,sha256=NhIi4swOctsz9VCuPdCdQ-YBerN30qg47KklcPFM4Us,93428
|
|
393
395
|
synapse/tests/test_model_language.py,sha256=LQFF-hya6WsGnkebC8FwguDvYn5t3sXSIDeCZ_coJ54,2883
|
|
394
396
|
synapse/tests/test_model_material.py,sha256=M7ACDCuMtavm-xtwAIZa1M-bHVq5PCUedDfR-Ty9_F4,1975
|
|
@@ -396,7 +398,7 @@ synapse/tests/test_model_media.py,sha256=RQVhYjOZ4rkNPBSzz05rle1M7F6-Yxw545s7k-Y
|
|
|
396
398
|
synapse/tests/test_model_orgs.py,sha256=ITdt6sxW2LVUWRqBcVECzt_6zsdZy3WhBEdYEYzE6XM,39537
|
|
397
399
|
synapse/tests/test_model_person.py,sha256=pRt9ZA9F11V-5pTsw6M43Ktsh3RnejikJPwPOYogIGo,17068
|
|
398
400
|
synapse/tests/test_model_proj.py,sha256=bBPNzvcbd1jZReeJ7X-AQdH7F7ZMugZVgaCTvS-QNFM,22849
|
|
399
|
-
synapse/tests/test_model_risk.py,sha256=
|
|
401
|
+
synapse/tests/test_model_risk.py,sha256=S4JDYlGLcnIG2MryDRMgDcwvMOsQCNGzgOuDG07U1lA,27342
|
|
400
402
|
synapse/tests/test_model_science.py,sha256=2T9VxdzpltDufgjkUB95q97TQP9AxH2-T_sBbHfPDRk,2450
|
|
401
403
|
synapse/tests/test_model_syn.py,sha256=BH4RLesTM3EVDp3M-OniMazwWmW4UU6UQbj8HCpJRMk,21122
|
|
402
404
|
synapse/tests/test_model_telco.py,sha256=n32p_hN2EYKMNuGP89cm9pNj7MfjslNtuha1S-_qNFY,13063
|
|
@@ -406,7 +408,7 @@ synapse/tests/test_servers_cortex.py,sha256=2td41cPfC5-hJ1C6sH5NsN-ixjfXPCpnPllP
|
|
|
406
408
|
synapse/tests/test_servers_cryotank.py,sha256=vDxTcF4mUP5QQyf3xD-PKXRsYD0EvLknlkr9S3H2RKc,1185
|
|
407
409
|
synapse/tests/test_servers_stemcell.py,sha256=TJabX5aQVLbGNLffiVd3B7Uj5dH12Y-0KqAW56GM0G8,2320
|
|
408
410
|
synapse/tests/test_servers_univ.py,sha256=mEeaXLeLx8Wm_58iym87lPFRhPbDL_fJ8U79i6xU5OY,3271
|
|
409
|
-
synapse/tests/test_telepath.py,sha256=
|
|
411
|
+
synapse/tests/test_telepath.py,sha256=AfOBOe8zx71h2-VTWzROCksYwJCBvY-J_r8pa0qHOq0,44327
|
|
410
412
|
synapse/tests/test_tools_aha.py,sha256=j71PRnMVnq6gVngTR5vGGJyQm5IzkpPtT_eoivI7UOw,8960
|
|
411
413
|
synapse/tests/test_tools_autodoc.py,sha256=TD4FMDCCMFTCJ8ZLuetkV6c5t_NBUB4_7XUDtn-IXmg,8592
|
|
412
414
|
synapse/tests/test_tools_axon2axon.py,sha256=A6JU9UI8lLMCS5rJ_w5shks4Oyo_VjlXQTOPtaTBE_M,1346
|
|
@@ -425,8 +427,8 @@ synapse/tests/test_tools_hiveload.py,sha256=Gn32qMBOK_LvOIeRC3IMsYnBZ186xD7vx4ae
|
|
|
425
427
|
synapse/tests/test_tools_hivesave.py,sha256=j3lgAAEPLFoP3HDcGrrxlk0EV1f3_5THKk5gckG45Ps,2550
|
|
426
428
|
synapse/tests/test_tools_json2mpk.py,sha256=O0mw3MdlBGL14XdECmjWj5o-SnbQOARDSzvPsGRybmU,892
|
|
427
429
|
synapse/tests/test_tools_livebackup.py,sha256=6IGM5-q4pT4KRWElThEYQhZgRv54HdlqkF8yrH0BdaI,785
|
|
428
|
-
synapse/tests/test_tools_modrole.py,sha256=
|
|
429
|
-
synapse/tests/test_tools_moduser.py,sha256=
|
|
430
|
+
synapse/tests/test_tools_modrole.py,sha256=vmfZ6fT2FAYDOnnA1zS1UhTeOYTP3q75EyWppA_XUWw,4843
|
|
431
|
+
synapse/tests/test_tools_moduser.py,sha256=Jc0DgwPnV2mS4FpQvAW23_FYru3n8uMkl1IGt-R-AP4,8900
|
|
430
432
|
synapse/tests/test_tools_pullfile.py,sha256=BloDoe1iBUlUSGQBU3TXFXU8sPFI3wRJHEp_w_BPPHM,2049
|
|
431
433
|
synapse/tests/test_tools_pushfile.py,sha256=evX1aPxWvmhoS4ZmB0q6jMqIPYzQ9nqWB1XAJRipOcw,5611
|
|
432
434
|
synapse/tests/test_tools_reload.py,sha256=IlVj84EM-T35pdE5s9XvMhD6rWPIlc2BSDUgHhw28D4,1830
|
|
@@ -504,8 +506,8 @@ synapse/tools/guid.py,sha256=UCBFqUSBdXt5WJYcoP0Vme_oOUXU040DZJEpay4uZHk,300
|
|
|
504
506
|
synapse/tools/healthcheck.py,sha256=sps01sVTVb3kb--vRNotn7HkkZVZ5wSu6VeiOuK_l-g,3314
|
|
505
507
|
synapse/tools/json2mpk.py,sha256=KEfNOY7m9lTBj2g2fYfe6OpqC1D0a7kvI0orl_ZGp_0,1360
|
|
506
508
|
synapse/tools/livebackup.py,sha256=rscss-hYp8A0DRqHoPtl6WSpD9vOo2HyjeNIs9bDUW4,1129
|
|
507
|
-
synapse/tools/modrole.py,sha256=
|
|
508
|
-
synapse/tools/moduser.py,sha256=
|
|
509
|
+
synapse/tools/modrole.py,sha256=q8BDlOaqKVj2c0AJVSd7hL3RoJlUFJLuEkL1bfrk6Fg,4748
|
|
510
|
+
synapse/tools/moduser.py,sha256=ydk9Lf7zm0MysP1tgM1rh53fkpulIiNeyuOLFrDW0bU,7834
|
|
509
511
|
synapse/tools/promote.py,sha256=ALCbCOUnWUEsOyjB-wuWrT9vs20GAzDSQBs-Ayhr11o,1179
|
|
510
512
|
synapse/tools/pullfile.py,sha256=QAwejVke8d2zvkyNT6-HyAkRy4wF5FE3FYZAryaFHXI,2042
|
|
511
513
|
synapse/tools/pushfile.py,sha256=0y9IKfkiRXkFpvHk9hX4CEey-HEpdXWE_b056w1ijKI,4202
|
|
@@ -559,8 +561,8 @@ synapse/vendor/xrpl/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
|
|
|
559
561
|
synapse/vendor/xrpl/tests/test_codec.py,sha256=Zwq6A5uZUK_FWDL3BA932c5b-rL3hnC6efobWHSLC4o,6651
|
|
560
562
|
synapse/vendor/xrpl/tests/test_main.py,sha256=kZQwWk7I6HrP-PMvLdsUUN4POvWD9I-iXDHOwdeF090,4299
|
|
561
563
|
synapse/vendor/xrpl/tests/test_main_test_cases.py,sha256=vTlUM4hJD2Hd2wCIdd9rfsvcMZZZQmNHWdCTTFeGz2Y,4221
|
|
562
|
-
synapse-2.
|
|
563
|
-
synapse-2.
|
|
564
|
-
synapse-2.
|
|
565
|
-
synapse-2.
|
|
566
|
-
synapse-2.
|
|
564
|
+
synapse-2.166.0.dist-info/LICENSE,sha256=xllut76FgcGL5zbIRvuRc7aezPbvlMUTWJPsVr2Sugg,11358
|
|
565
|
+
synapse-2.166.0.dist-info/METADATA,sha256=WkZqCVq_ssquO6MUObBHNq3erE7_8pc87LrSDm_YWzY,4921
|
|
566
|
+
synapse-2.166.0.dist-info/WHEEL,sha256=d-ss0RGbiSJGQggaPntAAFgCBIav_4d8GZcRrfBnZg4,94
|
|
567
|
+
synapse-2.166.0.dist-info/top_level.txt,sha256=v_1YsqjmoSCzCKs7oIhzTNmWtSYoORiBMv1TJkOhx8A,8
|
|
568
|
+
synapse-2.166.0.dist-info/RECORD,,
|
synapse/lib/provenance.py
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import hashlib
|
|
2
|
-
import logging
|
|
3
|
-
import pathlib
|
|
4
|
-
import contextlib
|
|
5
|
-
|
|
6
|
-
import synapse.exc as s_exc
|
|
7
|
-
|
|
8
|
-
import synapse.common as s_common
|
|
9
|
-
|
|
10
|
-
import synapse.lib.base as s_base
|
|
11
|
-
import synapse.lib.task as s_task
|
|
12
|
-
import synapse.lib.const as s_const
|
|
13
|
-
import synapse.lib.msgpack as s_msgpack
|
|
14
|
-
import synapse.lib.lmdbslab as s_lmdbslab
|
|
15
|
-
import synapse.lib.slabseqn as s_slabseqn
|
|
16
|
-
|
|
17
|
-
logger = logging.getLogger(__name__)
|
|
18
|
-
|
|
19
|
-
ProvenanceEnabled = True
|
|
20
|
-
ProvenanceStackLimit = 256
|
|
21
|
-
|
|
22
|
-
class _ProvStack:
|
|
23
|
-
def __init__(self):
|
|
24
|
-
# We start with a dummy frame so we don't have to special case an empty stack
|
|
25
|
-
self.provs = [None] # A stack of the provenance info
|
|
26
|
-
self.idens = [(None, True)] # A stack of the iden/written tupls for the prov stack ending in this frame
|
|
27
|
-
|
|
28
|
-
def __len__(self):
|
|
29
|
-
return len(self.provs)
|
|
30
|
-
|
|
31
|
-
def get(self):
|
|
32
|
-
'''
|
|
33
|
-
Returns:
|
|
34
|
-
iden, whether that iden has been written, the provstack info
|
|
35
|
-
'''
|
|
36
|
-
# We add an empty dict for future expansion/info
|
|
37
|
-
iden, written = self.idens[-1]
|
|
38
|
-
return iden, written, ({}, self.provs[1:])
|
|
39
|
-
|
|
40
|
-
def setiden(self, identupl):
|
|
41
|
-
self.idens[-1] = identupl
|
|
42
|
-
|
|
43
|
-
def push(self, typ, **info):
|
|
44
|
-
tuplinfo = tuple((k, info[k]) for k in sorted(info.keys()))
|
|
45
|
-
self.provs.append((typ, tuplinfo))
|
|
46
|
-
self.idens.append((None, True))
|
|
47
|
-
|
|
48
|
-
def pop(self):
|
|
49
|
-
self.provs.pop()
|
|
50
|
-
self.idens.pop()
|
|
51
|
-
|
|
52
|
-
def copy(self):
|
|
53
|
-
newstack = _ProvStack()
|
|
54
|
-
newstack.provs = self.provs[:]
|
|
55
|
-
newstack.idens = self.idens[:]
|
|
56
|
-
return newstack
|
|
57
|
-
|
|
58
|
-
s_task.vardefault('provstack', lambda: _ProvStack())
|
|
59
|
-
|
|
60
|
-
@contextlib.contextmanager
|
|
61
|
-
def claim(typ, **info):
|
|
62
|
-
'''
|
|
63
|
-
Add an entry to the provenance stack for the duration of the context
|
|
64
|
-
'''
|
|
65
|
-
stack = s_task.varget('provstack')
|
|
66
|
-
if len(stack) > ProvenanceStackLimit:
|
|
67
|
-
baseframe = stack.provs[1]
|
|
68
|
-
recent_frames = stack.provs[-6:]
|
|
69
|
-
raise s_exc.RecursionLimitHit(mesg='Hit provenance claim recursion limit',
|
|
70
|
-
type=typ, info=info, baseframe=baseframe, recent_frames=recent_frames)
|
|
71
|
-
|
|
72
|
-
if not ProvenanceEnabled:
|
|
73
|
-
info = {}
|
|
74
|
-
|
|
75
|
-
stack.push(typ, **info)
|
|
76
|
-
|
|
77
|
-
try:
|
|
78
|
-
yield
|
|
79
|
-
finally:
|
|
80
|
-
stack.pop()
|
|
81
|
-
|
|
82
|
-
def reset():
|
|
83
|
-
'''
|
|
84
|
-
Reset the stack to its initial state
|
|
85
|
-
|
|
86
|
-
For testing purposes
|
|
87
|
-
'''
|
|
88
|
-
s_task.varset('provstack', _ProvStack())
|
|
89
|
-
|
|
90
|
-
def dupstack(newtask):
|
|
91
|
-
'''
|
|
92
|
-
Duplicate the current provenance stack onto another task
|
|
93
|
-
'''
|
|
94
|
-
stack = s_task.varget('provstack')
|
|
95
|
-
s_task.varset('provstack', stack.copy(), newtask)
|
|
96
|
-
|
|
97
|
-
def get():
|
|
98
|
-
'''
|
|
99
|
-
Returns:
|
|
100
|
-
A tuple of (stack iden (or None if not set), the current provenance stack)
|
|
101
|
-
'''
|
|
102
|
-
stack = s_task.varget('provstack')
|
|
103
|
-
return stack.get()
|
|
104
|
-
|
|
105
|
-
def setiden(iden, waswritten):
|
|
106
|
-
'''
|
|
107
|
-
Sets the cached stack iden, waswritten for the current provenance stack. We use waswritten to cache whether we've
|
|
108
|
-
written the stack and so we can tell the snap whether to fire a prov:new event
|
|
109
|
-
'''
|
|
110
|
-
stack = s_task.varget('provstack')
|
|
111
|
-
stack.setiden((iden, waswritten))
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import hashlib
|
|
2
|
-
import unittest.mock as mock
|
|
3
|
-
|
|
4
|
-
import synapse.exc as s_exc
|
|
5
|
-
import synapse.common as s_common
|
|
6
|
-
|
|
7
|
-
import synapse.lib.msgpack as s_msgpack
|
|
8
|
-
import synapse.lib.provenance as s_provenance
|
|
9
|
-
|
|
10
|
-
import synapse.tests.utils as s_t_utils
|
|
11
|
-
from synapse.tests.utils import alist
|
|
12
|
-
|
|
13
|
-
class ProvenanceTest(s_t_utils.SynTest):
|
|
14
|
-
|
|
15
|
-
async def test_prov(self):
|
|
16
|
-
|
|
17
|
-
s_provenance.reset()
|
|
18
|
-
|
|
19
|
-
async with self.getTestCore() as real, real.getLocalProxy() as core:
|
|
20
|
-
|
|
21
|
-
# Force recursion exception to be thrown
|
|
22
|
-
|
|
23
|
-
with mock.patch.object(s_provenance, 'ProvenanceStackLimit', 10):
|
|
24
|
-
q = '.created ' + '| uniq' * 20
|
|
25
|
-
with self.raises(s_exc.RecursionLimitHit) as cm:
|
|
26
|
-
await real.nodes(q)
|
|
27
|
-
|
|
28
|
-
self.eq(cm.exception.get('type'), 'stormcmd')
|
|
29
|
-
self.eq(cm.exception.get('info'), {'name': 'uniq'})
|
|
30
|
-
baseframe = cm.exception.get('baseframe')
|
|
31
|
-
name, args = baseframe
|
|
32
|
-
self.eq(name, 'storm')
|
|
33
|
-
self.eq(args[0], ('q', q))
|
|
34
|
-
recent_frames = cm.exception.get('recent_frames')
|
|
35
|
-
self.len(6, recent_frames)
|
|
36
|
-
for frame in recent_frames:
|
|
37
|
-
self.eq(frame, ('stormcmd', (('name', 'uniq'),)))
|
|
File without changes
|
|
File without changes
|
|
File without changes
|