Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added ability to start Splunk queries as a job/async #300

Closed
wants to merge 657 commits into from
Closed
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
657 commits
Select commit Hold shift + click to select a range
e9e2f3e
Create CONTRIBUTING.md
ianhelle Sep 22, 2021
dae400d
Update CONTRIBUTING.md
ianhelle Sep 22, 2021
cf929a0
Added check_cli_credentials to azure_auth_core.py (#209)
ianhelle Sep 22, 2021
e7fbb79
Move to EntityGraph format
Sep 27, 2021
67c99a3
feature complete
Sep 30, 2021
8df3302
to_df feature
Sep 30, 2021
701773b
fixes
Sep 30, 2021
11811b7
more fixes
Sep 30, 2021
3d7e121
Merge branch 'main' into pebryan/2021-8-18_IncidentTriage
Sep 30, 2021
3cd8630
Test & Accessors Added
Oct 1, 2021
73217e0
Add CITATION.cff to repository
ianhelle Oct 4, 2021
c6a3246
Updated CITATION.cff
ianhelle Oct 4, 2021
b84cb21
plot_with_timeline added
Oct 5, 2021
e0b8c37
documenation
Oct 6, 2021
cc33a53
added start and end time fixes
Oct 6, 2021
bb11fc3
Merge branch 'main' into pebryan/2021-8-18_IncidentTriage
petebryan Oct 6, 2021
30f7bae
linting fixes
Oct 6, 2021
1d56151
Merge branch 'pebryan/2021-8-18_IncidentTriage' of https://github.com…
Oct 6, 2021
be1e565
test fix
Oct 6, 2021
ff110b2
test fixes
Oct 6, 2021
029fdcd
Converted to use ent.to_networkx
Oct 7, 2021
fad4905
Fixed typo in alert.py
ianhelle Oct 8, 2021
8676a64
Implemented lazy loading of config editor tabs to try to improve perf…
ianhelle Oct 15, 2021
660c24c
PR Fixes:
Oct 18, 2021
47efea1
Updated relative imports for SOC entities folder.
Oct 18, 2021
0d8fac6
Merge branch 'main' into pebryan/2021-8-18_IncidentTriage
petebryan Oct 18, 2021
e5aadac
Added missing parameters to list_all_signins_geo
Oct 19, 2021
8ae01f7
Updated test_geoip to fix failure case
Oct 19, 2021
907e486
Remove un-needed code in test_geoip
Oct 19, 2021
9f122ee
refactored code in test_geoip
Oct 19, 2021
0037dd6
Merge pull request #211 from microsoft/pebryan/2021-8-18_IncidentTriage
petebryan Oct 21, 2021
e3f0fce
vtlookupv3.py:
ianhelle Oct 23, 2021
a7498a3
Ianhelle/azure pipelines yaml 2021 09 09 (#201)
ianhelle Oct 25, 2021
8043207
Ianhelle/timeline args check 2020 09 21 (#219)
ianhelle Oct 26, 2021
0cb20fd
Updated way of getting instance and domain name for azure_ml_tools.py…
ianhelle Oct 26, 2021
ce8cbe1
Update README.md to include downloads
ianhelle Oct 29, 2021
81e61ea
Update docs/requirements.txt
ianhelle Nov 1, 2021
bb6f5c8
update docs/requirements.txt
ianhelle Nov 1, 2021
cdff1ff
Update sphinx requirements in azure-pipelines.yml for Azure Pipelines
ianhelle Nov 1, 2021
976cfda
Update azure-pipelines.yml for Azure Pipelines
ianhelle Nov 1, 2021
56fcb81
Updating readme to reflect new build pipeline
ianhelle Nov 1, 2021
1c2c1be
Disabling IPstack tests because of restricted API allowance (#224)
ianhelle Nov 2, 2021
aaf6b54
Added file behavior unit tests.
ianhelle Nov 4, 2021
abf2380
Merge remote-tracking branch 'origin/main' into ianhelle/virustotalv3…
ianhelle Nov 4, 2021
9353d9f
RiskIQ threat intel provider & pivots (#175)
aeetos Nov 5, 2021
98864aa
Ianhelle/kusto and md365 support 2021 11 01 (#225)
ianhelle Nov 8, 2021
c66a03f
Ianhelle/1.5.0post fixes (#229)
ianhelle Nov 13, 2021
7d31ea9
Ianhelle/kusto driver fixes 2021 11 12 (#231)
ianhelle Nov 17, 2021
464824d
Updating pre-release version to 1.5.0pre3
ianhelle Nov 17, 2021
07819e7
Added ability to pass default value to SelectItem (#232)
petebryan Nov 29, 2021
bea3233
Updating version to 1.5.0
ianhelle Nov 29, 2021
4fdf286
Ianhelle/mde proctree fixes 2021 12 16 (#239)
ianhelle Dec 22, 2021
e3282d3
Replace Args with args for using config (#242)
petebryan Dec 24, 2021
0ff7edc
Allowed Sentinel Resource ID to be passed on creation
Jan 4, 2022
20167e1
Added default caching option for mordor driver
ianhelle Jan 4, 2022
ae95d9f
Ianhelle/proc tree fixes 2022 01 03 (#256)
ianhelle Jan 4, 2022
0b9c81a
Bump sphinx from 4.2.0 to 4.3.2 (#241)
dependabot[bot] Jan 4, 2022
d98cc21
Merge remote-tracking branch 'origin/main' into ianhelle/virustotalv3…
ianhelle Jan 4, 2022
3dbec32
Added watchlist item update
Jan 5, 2022
8308849
Added the ability to connect to a blob storage using the connection s…
lucky-luk3 Jan 5, 2022
c867a7d
Fix 8308849 commit. Added object parameter.
lucky-luk3 Jan 5, 2022
de19717
Add and delete bookmarks added
Jan 6, 2022
7038e28
Changed type hints in enum_parse in utility.py
ianhelle Jan 6, 2022
f03d3be
Adding Clustering, SubGrouping, Geohash decoding and Layering to Foli…
tj-senserva Jan 6, 2022
9e6fdcf
Update azure-pipelines.yml for Azure Pipelines
ianhelle Jan 6, 2022
58811e0
Merge branch 'main' into 20220105_Hackathon_BlobStorageConnString
petebryan Jan 6, 2022
36fe7f2
Black corrections
lucky-luk3 Jan 6, 2022
4c13ef3
Merge pull request #262 from microsoft/20220105_Hackathon_BlobStorage…
petebryan Jan 6, 2022
7e5169a
Pinning setuptools to 56.0.0
ianhelle Jan 7, 2022
19b9f40
Removed setuptools pinning
ianhelle Jan 7, 2022
c236130
Update to pipelines to provide cached data for tests.
ianhelle Jan 7, 2022
0611aa5
Typo in azure-pipelines.yml
ianhelle Jan 7, 2022
54f08ec
Change source directory spec to relative path
ianhelle Jan 7, 2022
993229e
Correcting source folder paths
ianhelle Jan 7, 2022
0f1d754
Another typo in the command line for copying dummy files
ianhelle Jan 7, 2022
9102cc2
Changing protocol to 4 for pickled mordor files
ianhelle Jan 7, 2022
4599d6e
Added instance handling to Dataproviders (#218)
ianhelle Jan 7, 2022
607fc1f
Merge remote-tracking branch 'origin/main' into ianhelle/mordor-cachi…
ianhelle Jan 7, 2022
57d44dd
Merge branch 'main' into ianhelle/virustotalv3-additions-2021-10-22
ianhelle Jan 7, 2022
011ddef
Update AzureData to use correct Azure subscription management API
liamkirton Jan 7, 2022
70b5c55
Adding upgrade to pandas to so that it uses latest version and avoids…
ianhelle Jan 7, 2022
cad8256
Added create incident and create rule features
Jan 7, 2022
e4bd47e
Change to vtlookupv3.py to let _parse_vt_object handle missing "last_…
ianhelle Jan 7, 2022
857b08e
Merge branch 'ianhelle/virustotalv3-additions-2021-10-22' of https://…
ianhelle Jan 7, 2022
569eb75
Forcing install of pandas>=1.30 in pytest block
ianhelle Jan 7, 2022
f730ba2
Moved geoip GeoLiteLookup to check for and update DB before first que…
ianhelle Jan 7, 2022
52fbd9e
Updating test to check only for length (depending on platform this se…
ianhelle Jan 7, 2022
3506bd5
Updating pipelines files with "pandas>=1.3.0" quoted to prevent shell…
ianhelle Jan 7, 2022
9f4da64
Changed the cache structure of mordor_driver.py to cache individual f…
ianhelle Jan 8, 2022
dc98df4
Changing azure-pipelines to use only Py 3.8
ianhelle Jan 8, 2022
1ae8b81
Code optomization
Jan 8, 2022
c44ba31
Updating cache file with TZ-aware lastupdate stamps
ianhelle Jan 8, 2022
1bff2ba
Replacing passwords with placeholders
ianhelle Jan 8, 2022
51ae6ce
Merge pull request #257 from microsoft/ianhelle/mordor-caching-2022-0…
petebryan Jan 10, 2022
bd3852c
Merge branch 'main' into ianhelle/virustotalv3-additions-2021-10-22
petebryan Jan 10, 2022
a8300b2
Merge pull request #260 from microsoft/ianhelle/virustotalv3-addition…
petebryan Jan 10, 2022
2a40144
Initial attempt at masking failing tests for external forks. (#270)
ianhelle Jan 10, 2022
a2cf3d5
Adding Sysmon ProcSchema (#267)
nbareil Jan 10, 2022
295c8ee
Added details to README on upgrading msticpy
titanicshark Jan 11, 2022
d0a36eb
Removing validate configuration for external forks
ianhelle Jan 11, 2022
7f779da
Merge branch 'main' into liamkirton/fix-azure-subscriptions-api
ianhelle Jan 11, 2022
524e44b
Sentinel mixin creation and folder restructure
Jan 11, 2022
e5c9a20
adding shadow versions of move functions
Jan 11, 2022
4d5f8cd
Fixes to existing tests
Jan 11, 2022
5e4be99
Putting skip cond on correct Notice task
ianhelle Jan 11, 2022
99db8a3
Add IntSights support
Jan 11, 2022
0c3e3c5
Merge pull request #273 from microsoft/ianhelle/test-suppression-exte…
petebryan Jan 11, 2022
74de0fb
Fix linting isues
Jan 11, 2022
5bc7f5f
Merge branch 'main' into liamkirton/fix-azure-subscriptions-api
petebryan Jan 11, 2022
48dfe26
Merge branch 'main' into updated-readme
petebryan Jan 11, 2022
cb79dab
Merge branch 'main' into IntSights
petebryan Jan 11, 2022
c37bb4d
Merge pull request #269 from liamkirton/liamkirton/fix-azure-subscrip…
petebryan Jan 11, 2022
dbea22e
Merge branch 'main' into updated-readme
petebryan Jan 11, 2022
79910e2
Merge pull request #274 from danielc-evans/updated-readme
petebryan Jan 11, 2022
9c30f18
init added, tests update, linting completed.
Jan 11, 2022
911606c
Added additional unit tests
Jan 12, 2022
06627ad
With black formatting
Jan 12, 2022
7874adc
Merge branch 'main' into IntSights
petebryan Jan 12, 2022
29c8e9c
Fix for KustoDriver token resource URI being incorrectly loganalytics…
liamkirton Jan 7, 2022
4f6b1e8
Fixes for pylint/mypy/prospector errors
liamkirton Jan 12, 2022
7212273
Fixes for pylint/mypy/prospector errors
liamkirton Jan 12, 2022
2beb6f8
Adding IntSights mock data
Jan 12, 2022
6e7ff92
Merge branch 'IntSights' of https://github.com/FlorianBracq/msticpy i…
Jan 12, 2022
61cbcc7
Documentation for new Sentinel features.
Jan 12, 2022
e7bff54
Merging updating Azure changes into branch
Jan 12, 2022
e2c235d
Merge branch 'main' into pebryan/20220103_Hackathon_SentinelAPIs
petebryan Jan 12, 2022
eba67fc
Updated test config
Jan 12, 2022
de14af3
Merge branch 'pebryan/20220103_Hackathon_SentinelAPIs' of https://git…
Jan 12, 2022
05d9a22
Update config to return expected elements if present
Jan 13, 2022
e994d70
Removed un-needed items from test config
Jan 13, 2022
8956693
Adding IntSights to mp_config defaults
Jan 13, 2022
1f5980e
Added res-id definition at autoload
Jan 13, 2022
c2c8f47
Minor linting fix
Jan 13, 2022
ae6bcd7
Updated IPython elements and requirements (#278)
petebryan Jan 13, 2022
a65ce28
Reverting temp change to env variables in tests
Jan 13, 2022
3cd250b
Merge branch 'main' into pebryan/20220103_Hackathon_SentinelAPIs
petebryan Jan 13, 2022
d195e0a
Updating IPython imports re-introduced in this branch
Jan 13, 2022
7a62a88
Merge branch 'pebryan/20220103_Hackathon_SentinelAPIs' of https://git…
Jan 13, 2022
7a54113
Merge branch 'main' into liamkirton/kql-kusto-driver-auth
petebryan Jan 13, 2022
29ff08f
Merge branch 'main' into IntSights
petebryan Jan 13, 2022
c0a32a0
Merge pull request #277 from liamkirton/liamkirton/kql-kusto-driver-auth
petebryan Jan 13, 2022
7fa1598
Miscellaneous fixes for VT, Auth and other items (#281)
ianhelle Jan 13, 2022
2cc0618
Merge branch 'main' into pebryan/20220103_Hackathon_SentinelAPIs
petebryan Jan 14, 2022
421a804
Merge pull request #280 from microsoft/pebryan/20220103_Hackathon_Sen…
petebryan Jan 14, 2022
9b497fe
Merge branch 'main' into IntSights
petebryan Jan 15, 2022
8998259
Adding IntSights parameter to test msticpy config
Jan 15, 2022
af8192a
Fixing date format in IntSights mock data
Jan 15, 2022
9776785
Merge branch 'IntSights' of https://github.com/FlorianBracq/msticpy i…
Jan 15, 2022
a33e5ab
Replaced requests with httpx 0.18
grantv9 Jan 18, 2022
7c22f78
Remove unrequired line
Jan 19, 2022
976176f
Correcting error introduced in nbinit refactoring (#286)
ianhelle Jan 19, 2022
28df299
Updating version to 1.6.1
ianhelle Jan 19, 2022
2a02355
Merge branch 'main' into IntSights
petebryan Jan 20, 2022
17e0c60
initial security_alert refactor
Jan 20, 2022
528a74c
Merge pull request #276 from FlorianBracq/IntSights
petebryan Jan 20, 2022
48014a5
renamed SecurityAlert to SentinelAlert
Jan 21, 2022
c1ac302
Merge pull request #1 from microsoft/main
d3vzer0 Jan 21, 2022
abf6012
Update regular expression to extract parameters from source
FlorianBracq Jan 21, 2022
a45b157
Updating SentinelAlert and Alert entities
Jan 21, 2022
b5e874c
Merge branch 'microsoft:main' into main
grantv9 Jan 24, 2022
4af8505
Replaced requests with httpx 0.18
grantv9 Jan 24, 2022
9d42847
Merge branch 'main' of github.com:grantv9/msticpy into main
grantv9 Jan 24, 2022
9e0cb98
Deprecated old entities and updated tests
Jan 24, 2022
622ae1d
Merge branch 'main' into pebryan/2022-1-18_SecurityAlertEntity
petebryan Jan 24, 2022
c61ba69
Add default timegenerated to entities
Jan 24, 2022
536a373
Updated process tree to meet new Pandas format
Jan 24, 2022
737f3e2
(fix): typo in README
zscholl Jan 25, 2022
0bd179a
Add tenant_id parameter back to AzureData.connect and MicrosoftSentin…
liamkirton Jan 25, 2022
4bdb9fb
Black formatting fix
liamkirton Jan 25, 2022
bd8f5df
Added predefined Splunk queries for alerts
Jan 25, 2022
78fa5a4
Added predefined Splunk queries for auth events
Jan 25, 2022
bff169d
Setup.cfg and Pyproject.toml (#287)
ianhelle Jan 26, 2022
39f17eb
Split widgets into separate modules.
ianhelle Jan 26, 2022
b9e0e14
Merge branch 'main' into ianhelle/nbwidgets-refactor-2022-01-25
ianhelle Jan 26, 2022
d698a05
Some fixes for select_item.py
ianhelle Jan 26, 2022
4ebde9d
Fixed incorrect pandas sort_values param in process_tree.py
ianhelle Jan 26, 2022
ee82d52
Merge branch 'main' into pebryan/2022-1-18_SecurityAlertEntity
petebryan Jan 26, 2022
d1253a3
Added mode for async queries and made this the default
Jan 26, 2022
d8912d0
Minor modification to oneshot mode checking
Jan 26, 2022
7b319b7
Merge pull request #299 from microsoft/ianhelle/nbwidgets-refactor-20…
petebryan Jan 26, 2022
9932e8c
Merge branch 'main' into i250-splunk-auth
petebryan Jan 26, 2022
eeed081
Merge branch 'main' into user/liamkirton/add-tenantid-param
petebryan Jan 26, 2022
2dd846f
Merge branch 'main' into patch-1
petebryan Jan 26, 2022
15f4e86
Merge branch 'main' into pebryan/2022-1-18_SecurityAlertEntity
petebryan Jan 26, 2022
fb39d82
Merge branch 'main' into main
petebryan Jan 26, 2022
9c1d416
Merge branch 'main' into splunk-async
d3vzer0 Jan 27, 2022
a13db5f
Merge branch 'main' into i250-splunk-alerts
d3vzer0 Jan 27, 2022
c6b9dbc
Fix QueryTime unit change
kubajir Jan 27, 2022
826485f
Merge pull request #295 from liamkirton/user/liamkirton/add-tenantid-…
petebryan Jan 27, 2022
da66226
Merge branch 'main' into patch-1
petebryan Jan 27, 2022
0ce1665
Merge branch 'main' into i250-splunk-alerts
petebryan Jan 27, 2022
798ea29
Merge branch 'main' into i250-splunk-auth
petebryan Jan 27, 2022
2618fe5
Merge branch 'main' into splunk-async
petebryan Jan 27, 2022
143d4f9
Merge pull request #294 from zscholl/patch-1
petebryan Jan 27, 2022
91e1bf5
Merge branch 'main' into i250-splunk-alerts
petebryan Jan 27, 2022
02e9ec4
Merge pull request #297 from d3vzer0/i250-splunk-alerts
petebryan Jan 27, 2022
b325bca
Merge branch 'main' into i250-splunk-auth
petebryan Jan 27, 2022
5e879a4
Merge pull request #298 from d3vzer0/i250-splunk-auth
petebryan Jan 27, 2022
071ecbc
Merge branch 'main' into splunk-async
petebryan Jan 27, 2022
c5a75f3
Merge branch 'main' into query_time_widget
petebryan Jan 27, 2022
56d0c62
Initial re-org of data docs
ianhelle Jan 27, 2022
c1cb5bf
Merge remote-tracking branch 'origin/main' into ianhelle/data-docs-re…
ianhelle Jan 28, 2022
9ece99e
Final edits and corrections to documents
ianhelle Jan 28, 2022
068f940
Add Cybereason driver
Jan 28, 2022
dd1cac3
Add Cybereason to DataFamily and DataEnvironment
Jan 28, 2022
3e4a841
Add sample query
Jan 28, 2022
1043b9e
Add tests
Jan 28, 2022
de17e1c
Merge branch 'main' into main
grantv9 Jan 28, 2022
4d0d3be
Fixing locale-specific URLs and replacing !pip with %pip
ianhelle Jan 29, 2022
6a672d7
Update sphinx and skip doc file regen
ianhelle Jan 29, 2022
14ecaaa
fixing typo in docs makefile
ianhelle Jan 29, 2022
7632863
Merge branch 'main' into patch-1
petebryan Jan 29, 2022
9cb1ee0
Merge pull request #303 from kubajir/query_time_widget
petebryan Jan 29, 2022
648e49c
Merge branch 'main' into patch-1
petebryan Jan 29, 2022
f262c96
Merge branch 'main' into main
grantv9 Jan 29, 2022
0442871
Fixed sumologic_driver test and removed last reference to idna librar…
grantv9 Jan 29, 2022
50a61ad
Merge pull request #291 from FlorianBracq/patch-1
petebryan Jan 30, 2022
6d5f703
Merge branch 'main' into ianhelle/data-docs-rewrite-2022-01-27
petebryan Jan 30, 2022
bf316cf
Adding new queries
Jan 31, 2022
5976b3c
Add documentation
Jan 31, 2022
4a27e37
Merge branch 'main' into main
grantv9 Jan 31, 2022
0ee87d1
Merge branch 'main' into pebryan/2022-1-18_SecurityAlertEntity
petebryan Jan 31, 2022
039e330
Updated names of functions
Jan 31, 2022
959fb59
Merge branch 'pebryan/2022-1-18_SecurityAlertEntity' of https://githu…
Jan 31, 2022
826d584
Removing vt_graph_api dependency
ianhelle Jan 31, 2022
80c022c
Merge branch 'ianhelle/data-docs-rewrite-2022-01-27' of https://githu…
ianhelle Jan 31, 2022
800676d
Black pre-commit update and reformatted ibm_xforce.py
ianhelle Jan 31, 2022
9be5072
Merge pull request #304 from microsoft/ianhelle/data-docs-rewrite-202…
petebryan Jan 31, 2022
1c82a92
Merge branch 'main' into pebryan/2022-1-18_SecurityAlertEntity
petebryan Jan 31, 2022
d2ee891
Change to sort queries and parameters to avoid changes simply due to …
ianhelle Jan 31, 2022
105eb78
Fixing linting issues
Jan 31, 2022
59b1e3c
Merge pull request #293 from microsoft/pebryan/2022-1-18_SecurityAler…
petebryan Feb 1, 2022
8c059d1
Merge branch 'main' into splunk-async
petebryan Feb 1, 2022
911609b
Merge branch 'main' into main
grantv9 Feb 1, 2022
adafb32
Delete mypy-test-3.8-results.xml
petebryan Feb 1, 2022
e1c3d91
Merge pull request #285 from grantv9/main
petebryan Feb 1, 2022
954a9c2
Merge branch 'main' into splunk-async
petebryan Feb 1, 2022
6dd980a
Merge branch 'main' into Cybereason
petebryan Feb 1, 2022
502c759
Updating httpx requirements to work with out requirements
Feb 1, 2022
6f379cc
Merge pull request #312 from microsoft/pebryan/2022-2-1_httpxfix
petebryan Feb 1, 2022
80ffd45
Merge branch 'main' into Cybereason
petebryan Feb 1, 2022
b585e69
Merge branch 'main' into ianhelle/data-docs-rewrite-2022-01-27
petebryan Feb 1, 2022
c295719
Fix wrong function called
FlorianBracq Feb 1, 2022
a9614bd
Merge pull request #310 from microsoft/ianhelle/data-docs-rewrite-202…
petebryan Feb 1, 2022
1667728
Merge branch 'main' into Cybereason
petebryan Feb 1, 2022
98b9a70
Merge pull request #306 from FlorianBracq/Cybereason
petebryan Feb 1, 2022
fbc5f88
Merge branch 'main' into splunk-async
d3vzer0 Feb 2, 2022
c9832b2
pep8 validation fixes
Feb 2, 2022
3759d9e
Merge branch 'splunk-async' of github.com:d3vzer0/msticpy into splunk…
Feb 2, 2022
2b3f944
pep8 validation fixes
Feb 2, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
18 changes: 18 additions & 0 deletions .ci_config/UserExclusion.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- IMPORTANT: This file must be saved under %appdata%\PoliCheck_Azure\Config folder -->
<!-- When adding new values, please use UPPER CASE - all values will be compared only to the UPPER CASE strings -->
<PoliCheckExclusions>

<!-- Each of these exclusions is a folder name - if \[name]\ exists in the file path, it will be skipped -->
<Exclusion Type="FolderPathFull">.MYPY_CACHE|TESTDATA|HTMLCOV</Exclusion>

<!-- Each of these exclusions is a folder name - if any folder or file starts with "\[name]", it will be skipped -->
<!--<Exclusion Type="FolderPathStart">ABC|XYZ</Exclusion>-->

<!-- Each of these file types will be completely skipped for the entire scan -->
<Exclusion Type="FileType">.CSV</Exclusion>

<!-- The specified file names will be skipped during the scan regardless which folder they are in -->
<Exclusion Type="FileName">TLD_SEED.TXT|QUERY_DATA.CSV|SIGNIN_CHARTS.YAML|GEOPIP.PY</Exclusion>

</PoliCheckExclusions>
8 changes: 8 additions & 0 deletions .ci_config/coverage.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[run]
omit =
*/hostedtoolcache.windows.Python/*
*.site-packages.msticpy*

[report]
exclude_lines =
@deprecated
42 changes: 42 additions & 0 deletions .ci_config/credscan.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"tool": "Credential Scanner",
"suppressions": [
{
"placeholder": ", secret=secret)",
"_justification": "This is a code usage example and does not contain a secret."
},
{
"file": "AzureData.rst.txt",
"_justification": "This is a code usage example and does not contain a secret."
},
{
"file": "UploadData.rst.txt",
"_justification": "This is a code usage example and does not contain a secret."
},
{
"file": "msticpyconfig.rst.txt",
"_justification": "This is a code usage example and does not contain a secret."
},
{
"file": "test_splunk_driver.py",
"_justification": "This is a test case and does not contain a secret."
},
{
"file": "test_splunk_uploader.py",
"_justification": "This is a test case and does not contain a secret."
},
{
"file": "msticpyconfig.yaml",
"_justification": "Test data that does not contain a secret"
},
{
"file": "UploadData.rst.txt",
"_justification": "This is a code usage example and does not contain a secret."
},
{
"file": "test_pkg_config.py",
"_justification": "This is a test case and does not contain a secret."
}

]
}
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
18 changes: 18 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
version: 2
updates:
- package-ecosystem: pip
directory: "/"
schedule:
interval: daily
time: "13:00"
ignore:
- dependency-name: dnspython
versions:
- 2.1.0
- dependency-name: idna
versions:
- "3.1"
- dependency-name: moz-sql-parser
versions:
- 4.18.21031
- 4.21.21059
71 changes: 71 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
push:
branches: [ main ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
schedule:
- cron: '40 13 * * 4'

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'python' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed

steps:
- name: Checkout repository
uses: actions/checkout@v2

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main

# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl

# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language

#- run: |
# make bootstrap
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
126 changes: 126 additions & 0 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: MSTICPy CI build and check

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.8']
env:
PROSPECTOR_VER: 1.3.1
steps:
# Print out details about the run
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJSON(github) }}
run: echo "$GITHUB_CONTEXT"
- name: Dump job context
env:
JOB_CONTEXT: ${{ toJSON(job) }}
run: echo "$JOB_CONTEXT"
# end print details
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Cache pip
uses: actions/cache@v2
with:
# This path is specific to Ubuntu
path: ~/.cache/pip
# Look to see if there is a cache hit for the corresponding requirements file
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
${{ runner.os }}-
- name: Install dependencies
run: |
python -m pip install --upgrade pip wheel setuptools
if [ -f requirements-all.txt ]; then
python -m pip install -r requirements-all.txt
elif [ -f requirements.txt ]; then
python -m pip install -r requirements.txt;
fi
python -m pip install -e .
- name: Install test dependencies
run: |
python -m pip install flake8 black bandit mypy lxml pylint types-attrs
python -m pip install pytest pytest-cov pytest-xdist pytest-check aiohttp nbconvert jupyter_contrib_nbextensions
python -m pip install Pygments responses pytest-xdist markdown beautifulsoup4 Pillow
python -m pip install "pandas>=1.3.0"
- name: Prepare test dummy data
run: |
mkdir ~/.msticpy
mkdir ~/.msticpy/mordor
cp ./tests/testdata/geolite/GeoLite2-City.mmdb ~/.msticpy
touch ~/.msticpy/GeoLite2-City.mmdb
cp -r ./tests/testdata/mordor/* ~/.msticpy/mordor
touch ~/.msticpy/mordor/mitre_tact_cache.pkl
touch ~/.msticpy/mordor/mitre_tech_cache.pkl
touch ~/.msticpy/mordor/mordor_cache.pkl
- name: Pytest
env:
MAXMIND_AUTH: ${{ secrets.MAXMIND_AUTH }}
IPSTACK_AUTH: ${{ secrets.IPSTACK_AUTH }}
MSTICPYCONFIG: ./tests/msticpyconfig-test.yaml
MSTICPY_BUILD_SOURCE: fork
run: |
pytest tests -n auto --junitxml=junit/test-${{ matrix.python-version }}-results.xml --cov=msticpy --cov-report=xml
if: ${{ always() }}
- name: black
run: |
black -t py36 --diff --check --exclude venv .
if: ${{ always() }}
- name: flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 msticpy --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 --max-line-length=90 --exclude=tests* . --ignore=E501,W503 --jobs=auto
if: ${{ always() }}
- name: pylint
run: |
pylint msticpy --disable=bad-continuation,duplicate-code --disable=E1135,E1101,E1133
if: ${{ always() }}
- name: mypy
run: |
mypy --ignore-missing-imports --follow-imports=silent --show-column-numbers --junit-xml junit/mypy-test-${{ matrix.python-version }}-results.xml msticpy
if: ${{ always() }}
- name: bandit
run: |
bandit -x tests -r -s B303,B404,B603,B607,B608 msticpy
if: ${{ always() }}
- name: flake8
run: |
flake8 --max-line-length=90 --exclude=tests* . --ignore=E501,W503 --jobs=auto
if: ${{ always() }}
- name: prospector
run: |
# install this separately since it uses older versions of pylint/isort
# chain running to installation since this sometimes fails
python -m pip install prospector[with_pyroma]==${{ env.PROSPECTOR_VER }} && prospector --ignore-paths tests --without-tool pylint
if: ${{ always() }}
- name: Upload pytest test results
uses: actions/upload-artifact@v2
with:
name: pytest-results-${{ matrix.python-version }}
path: junit/test-${{ matrix.python-version }}-results.xml
# Use always() to always run this step to publish test results when there are test failures
if: ${{ always() }}
- name: Upload mypy test results
uses: actions/upload-artifact@v2
with:
name: Mypy results ${{ matrix.python-version }}
path: junit/mypy-test-${{ matrix.python-version }}-results.xml
# Use always() to always run this step to publish test results when there are test failures
if: ${{ always() }}
18 changes: 18 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -102,3 +102,21 @@ venv.bak/

# mypy
.mypy_cache/
/msticpy.code-workspace
/docs/source/_build/**
**/.vscode*
**/Kqlmagic_temp_files/**

# pycharm project settings
*\.idea*

#MorphChart test output
morphchart_package/

# Merge conflict files
**.orig

#kql magic temp files
/docs/notebooks/kqlmagic/*
/kqlmagic/**
/GitExtensions.settings
Loading