Skip to content

TA Bigfix App Validation Report 3.0.1

Jimmy Maple edited this page Jul 16, 2020 · 1 revision
App Validation Report

BigFix TA

Technical add-on for ingesting data from HCL BigFix into Splunk

Author Jimmy Maple
Version 3.0.1
Hash ac6e62a50eb34bd5a10e887e66c5e6c1
Run Time 2020-07-16T02:03:53.029628
Execution Time
App Certification Tooling None
Run Parameters:
Field Value
AppInspect Version 2.2.0
User ID jmaple_splunk
Totals:
Status Count
Failures 0
Warnings 9
Errors 0
Not Applicable 38
Manual Checks 14
Skipped 0
Successes 149

[ Lines of Code ]

       0 text files.
       0 unique files.                              
       1 file ignored.

[ Warning Summary ]

Warnings are non-blocking concerns. But they are strongly recommended to be fixed.
check_custom_confs
  • Custom config file bin/ta_bigfix/cloudconnectlib/splunktalib/setting.conf is detected in this app. By default, it will be partitioned to all instances including Search Head(s), Indexer(s) and Forwarder(s). If that's not what you expect, you can use the `targetWorkloads` attribute in app.manifest to indicate the correct instances. For more details about app.manifest, please refer to https://dev.splunk.com/enterprise/docs/releaseapps/packagingtoolkit/pkgtoolkitref/pkgtoolkitapp#JSON-schema-200. Please also make sure that this custom file is safe to install. File: bin/ta_bigfix/cloudconnectlib/splunktalib/setting.conf
  • Custom config file bin/ta_bigfix/aob_py2/cloudconnectlib/splunktalib/setting.conf is detected in this app. By default, it will be partitioned to all instances including Search Head(s), Indexer(s) and Forwarder(s). If that's not what you expect, you can use the `targetWorkloads` attribute in app.manifest to indicate the correct instances. For more details about app.manifest, please refer to https://dev.splunk.com/enterprise/docs/releaseapps/packagingtoolkit/pkgtoolkitref/pkgtoolkitapp#JSON-schema-200. Please also make sure that this custom file is safe to install. File: bin/ta_bigfix/aob_py2/cloudconnectlib/splunktalib/setting.conf
  • Custom config file bin/ta_bigfix/aob_py3/cloudconnectlib/splunktalib/setting.conf is detected in this app. By default, it will be partitioned to all instances including Search Head(s), Indexer(s) and Forwarder(s). If that's not what you expect, you can use the `targetWorkloads` attribute in app.manifest to indicate the correct instances. For more details about app.manifest, please refer to https://dev.splunk.com/enterprise/docs/releaseapps/packagingtoolkit/pkgtoolkitref/pkgtoolkitapp#JSON-schema-200. Please also make sure that this custom file is safe to install. File: bin/ta_bigfix/aob_py3/cloudconnectlib/splunktalib/setting.conf
  • Custom config file default/addon_builder.conf is detected in this app. By default, it will be partitioned to all instances including Search Head(s), Indexer(s) and Forwarder(s). If that's not what you expect, you can use the `targetWorkloads` attribute in app.manifest to indicate the correct instances. For more details about app.manifest, please refer to https://dev.splunk.com/enterprise/docs/releaseapps/packagingtoolkit/pkgtoolkitref/pkgtoolkitapp#JSON-schema-200. Please also make sure that this custom file is safe to install. File: default/addon_builder.conf
  • Custom config file default/ta_bigfix_settings.conf is detected in this app. By default, it will be partitioned to all instances including Search Head(s), Indexer(s) and Forwarder(s). If that's not what you expect, you can use the `targetWorkloads` attribute in app.manifest to indicate the correct instances. For more details about app.manifest, please refer to https://dev.splunk.com/enterprise/docs/releaseapps/packagingtoolkit/pkgtoolkitref/pkgtoolkitapp#JSON-schema-200. Please also make sure that this custom file is safe to install. File: default/ta_bigfix_settings.conf
check_for_splunk_js_header_and_footer_view
  • As of Splunk 6.5, this functionality is deprecated and should be removed in future app versions. Match: splunkjs/mvc/headerview File: appserver/static/js/build/configuration_page.js Line Number: 1
  • As of Splunk 6.5, this functionality is deprecated and should be removed in future app versions. Match: splunkjs/mvc/headerview File: appserver/static/js/build/inputs_page.js Line Number: 1
  • As of Splunk 6.5, this functionality is deprecated and should be removed in future app versions. Match: splunkjs/mvc/headerview File: appserver/static/js/build/common.js Line Number: 91
check_for_existence_of_python_code_block_in_mako_template
  • Update Mako templates to be Python 3-compatible. Splunk Web, which Mako templates depend on, will support only Python 3.7. If you've finished your update, please disregard this message. File: appserver/templates/base.html
check_for_python_script_existence
  • 2109 Python files found. Update these Python scripts to be cross-compatible with Python 2 and 3 for Splunk Enterprise 8.0. See https://docs.splunk.com/Documentation/Splunk/latest/Python3Migration/AboutMigration for more information. If you've finished your update, please disregard this message.
check_for_valid_package_id
  • The app.conf [package] stanza's has 'id' property: TA-bigfix, while '-' is not recommended. See https://docs.splunk.com/Documentation/Splunk/7.3.1/Admin/Appconf for more details. File: default/app.conf Line Number: 20
check_no_install_source_checksum
  • For the app.conf [install] stanza's `install_source_checksum` attribute, it records a checksum of the tarball from which a given app was installed or a given app's local configuration was installed. Splunk Enterprise will automatically populate this value during installation. Developers should *not* set this value explicitly within their app! File: default/app.conf Line Number: 7
check_splunklib_dependency_under_bin_folder
  • splunklib is found under `bin` folder, this may cause some dependency management errors with other apps, and it is not recommended. Please follow examples in Splunk documentation to include splunklib. You can find more details here: https://dev.splunk.com/view/SP-CAAAEU2 and https://dev.splunk.com/view/SP-CAAAER3
  • splunklib is found under `bin` folder, this may cause some dependency management errors with other apps, and it is not recommended. Please follow examples in Splunk documentation to include splunklib. You can find more details here: https://dev.splunk.com/view/SP-CAAAEU2 and https://dev.splunk.com/view/SP-CAAAER3
  • splunklib is found under `bin` folder, this may cause some dependency management errors with other apps, and it is not recommended. Please follow examples in Splunk documentation to include splunklib. You can find more details here: https://dev.splunk.com/view/SP-CAAAEU2 and https://dev.splunk.com/view/SP-CAAAER3
  • splunklib is found under `bin` folder, this may cause some dependency management errors with other apps, and it is not recommended. Please follow examples in Splunk documentation to include splunklib. You can find more details here: https://dev.splunk.com/view/SP-CAAAEU2 and https://dev.splunk.com/view/SP-CAAAER3
check_for_possible_threading
  • The following line contains subprocess.Popen usage. Use threading and multiprocessing with discretion. File: bin/ta_bigfix/aob_py3/splunklib/searchcommands/external_search_command.py Line Number: 136
  • The following line contains subprocess.check_call usage. Use threading and multiprocessing with discretion. File: bin/ta_bigfix/aob_py3/lib2to3/tests/test_parser.py Line Number: 87
  • The following line contains subprocess.check_call usage. Use threading and multiprocessing with discretion. File: bin/ta_bigfix/aob_py2/lib2to3/tests/test_parser.py Line Number: 86
  • The following line contains subprocess.Popen usage. Use threading and multiprocessing with discretion. File: bin/ta_bigfix/aob_py2/splunklib/searchcommands/external_search_command.py Line Number: 136
  • The following line contains questionable usage `multiprocessing.Process.start` in loop. Use threading and multiprocessing with discretion. File: bin/ta_bigfix/aob_py2/concurrent/futures/process.py Line Number: 325
  • The following line contains questionable usage `multiprocessing.Process.start` in loop. Use threading and multiprocessing with discretion. File: bin/ta_bigfix/aob_py2/lib2to3/refactor.py Line Number: 719
  • The following line contains questionable usage `multiprocessing.Process.start` in loop. Use threading and multiprocessing with discretion. File: bin/ta_bigfix/aob_py3/lib2to3/refactor.py Line Number: 700
check_hostnames_and_ips
  • PRIVATE IP 192.0.2.16 is found in bin/ta_bigfix/aob_py2/httplib2/iri2uri.py:87 File: bin/ta_bigfix/aob_py2/httplib2/iri2uri.py Line Number: 87

[ Full Report ]

Splunk app packaging standards These checks validate that a Splunk app has been correctly packaged, and can be provided safely for package validation.
[ not_applicable ] Check that the app does not use Adobe Flash files.
  • Didn't find any flash files.
[ success ] Check that the extracted Splunk App contains a default/app.conf file.
[ success ] Check that the extracted Splunk App contains a default/app.conf file that contains an [id] or [launcher] stanza with a version property that is formatted as Major.Minor.Revision.
[ success ] Check that the extracted Splunk App does not contain any files with incorrect permissions. Files must have the owner's permissions include read and write (600).
[ success ] Check that the extracted Splunk App does not contain any directories with incorrect permissions. Directories and sub directories must have the owner's permissions set to r/w/x (700).
[ success ] Check that the extracted Splunk App does not contain any directories or files that start with a ., or directories that start with __MACOSX.
[ success ] Check that the Splunk App package does not contain any non-app files. Files within a valid app folder or valid dependencies within a .dependencies folder are permitted, all other files are not.
[ success ] Check that the compressed artifact extracts to a directory that does not start with a . character.
[ success ] Check that the Splunk app provided does not contain incorrect permissions. Packages must have have the owner's read permission set to r (400).
[ not_applicable ] Check that the Splunk App package contains only valid dependencies. Dependencies are valid if a .dependencies directory contains only valid app packages inside.
  • No ../.dependencies folder found. Please check that the Splunk App package contains only valid dependencies.
[ success ] Check that the Splunk app provided does not start with a . character.
[ success ] Check that the Splunk app provided a valid compressed file.
[ not_applicable ] Check that the Splunk App package with a .dependencies directory also contains an app folder with an app.manifest.
  • No ../.dependencies folder found. Please add a .dependencies directory that contains an app folder with an app.manifest.
[ not_applicable ] Check that the Splunk App package with a .dependencies directory also contains exactly one valid app folder.
  • No ../.dependencies folder found. Please add a .dependencies directory with an valid app folder.
Splunk Web validation This group performs checks on the Splunk Web UI.
[ success ] Check that the Splunk Web UI comes up.
Authentication.conf file standards Ensure that bindDNpassword is not specified. For more, see authentication.conf.
[ not_applicable ] Check that saml-* stanzas in authentication.conf do not turn off signedAssertion property
  • authentication.conf does not exist.
[ not_applicable ] Check that all the scripted authentications defined in authentication.conf are explicitly set the python.version to python3.
  • authentication.conf does not exist.
Authorize.conf file standards Ensure that the authorize configuration file located in the /default folder is well formed and valid. For more, see authorize.conf.
[ not_applicable ] Check that authorize.conf does not contain any modified capabilities.
  • No `default/authorize.conf`file exists.
Configurations that relate to running Splunk instances When an app utilizes multiple configurations and deployment models, use the btool provided by Splunk to validate .conf files.
[ success ] Check that any standalone application configurations are valid, using the Splunk btool command.
Cloud operations simple application check This group serves to help validate simple applications in an effort to try and automate the validation process for cloud operations.
[ not_applicable ] Check that commands referenced in the alert.execute.cmd property of all alert actions are checked for compliance with Splunk Cloud security policy.
  • alert_actions.conf does not exist.
[ success ] Check that app does not contain audit.conf, as it is prohibited in Splunk Cloud due to its ability to configure/disable cryptographic signing and certificates.
[ not_applicable ] Check that authorize.conf does not grant excessive administrative permissions to the user.
  • authorize.conf does not exist.
[ not_applicable ] Check that authorize.conf does not contain a tokens_auth stanza
  • authorize.conf does not exist.
[ success ] Check that app does not contain bookmarks.conf as this feature is not available in Splunk Cloud.
[ not_applicable ] Check that custom search commands have an executable or script per stanza.
  • No `commands.conf` file exists.
[ success ] Check that app does not contain datatypesbnf.conf, as it is prohibited in Splunk Cloud.
[ success ] Check that directories under default/data/ui contain only allowed files
[ not_applicable ] Check default/data/ui/manager for any files that use password/key/secret and other keywords.
  • The `default/data/ui/manager` directory does not exist.
[ success ] Check that app does not contain default-mode.conf is as it is prohibited in Splunk Cloud due to the fact that Splunk Light Forwarders and Splunk Universal Forwarders are not run in Splunk Cloud.
[ success ] Check that app does not contain deployment.conf. Apps should leave deployment configuration up to Splunk administrators. Also, deployment.conf has been removed and replaced by: 1) deploymentclient.conf - for configuring Deployment Clients 2) serverclass.conf - for Deployment Server server class configuration.
[ success ] Check that app does not contain deploymentclient.conf as it configures the deployment server client. Apps should leave deployment configuration up to Splunk administrators.
[ not_applicable ] Check if concerningReplicatedFileSize in distsearch.conf is larger than 50 MB.
  • distsearch.conf does not exist.
[ manual_check ] Check that all executable binary files have matching source code. For any binary files, there should be a source code provided with the same name. Or, there should be a decalaration of what the binary file is all about in the app's REAMDE. Details for passing this check will be returned if you fail it.
  • Please ensure the binary files are safe. Source  file: bin/ta_bigfix/markupsafe/_speedups.so  Format: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=bdadab1e8c314cb12636eede35fe6da16aaa198f, with debug_info, not stripped  Source file: bin/ta_bigfix/aob_py3/markupsafe/_speedups.c File: bin/ta_bigfix/markupsafe/_speedups.so
  • Please ensure the binary files are safe. Source  file: bin/ta_bigfix/aob_py2/markupsafe/_speedups.so  Format: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4f83e2150ca2ab6d4f7469ce04576559fc26682d, with debug_info, not stripped  Source file: bin/ta_bigfix/aob_py3/markupsafe/_speedups.c File: bin/ta_bigfix/aob_py2/markupsafe/_speedups.so
  • Please ensure the binary files are safe. Source  file: bin/ta_bigfix/aob_py3/markupsafe/_speedups.cpython-37m-x86_64-linux-gnu.so  Format: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=67aa8c279a29da023f536b2588056d9695e8f24e, with debug_info, not stripped  Source file: bin/ta_bigfix/aob_py3/markupsafe/_speedups.c File: bin/ta_bigfix/aob_py3/markupsafe/_speedups.cpython-37m-x86_64-linux-gnu.so
[ success ] Check that use of 'tscollect' in .conf filesl and dashboard xmls then fail it.
[ not_applicable ] Check that indexes.conf does not declare volumes.
  • indexes.conf does not exist.
[ success ] Check the [fifo] stanza in inputs.conf is not pointing to a path within a cloud replicated scope defined by distsearch.conf. [fifo] usually points to a file whose size may inflate. This kind of files MUST NOT be replicated across cloud environments since they will significantly consume network bandwidth.
[ not_applicable ] Check whether the app contains java files. Java files will be inspected for compliance with Splunk Cloud security policy.
  • No java files found in app.
[ not_applicable ] Check if the app contains Perl scripts. Perl scripts will be inspected for compliance with Splunk Cloud security policy.
  • No Perl scripts found in app.
[ success ] Check that app does not contain health.conf as sc_admin is not able to see or configure health report in Cloud.
[ not_applicable ] Check that indexes defined in indexes.conf use relative paths starting with $SPLUNK_DB.
  • indexes.conf does not exist.
[ success ] Check that batch input has required attributes. The following key/value pairs are required for batch inputs: move_policy = sinkhole
[ success ] Check that batch input accesses files in a permitted way. To be permissible, the batch input must meet the following criteria: 1) The file path needs to match a file in the directory "$SPLUNK_HOME/var/spool/splunk/" 2) The file name needs to be application specific "$SPLUNK_HOME/etc/apps/" 3) The file name should not end with "stash" or "stash_new"
[ success ] Check that default/inputs.conf or local/inputs.conf does not contain a fschange stanza.
[ success ] Check that default/inputs.conf or local/inputs.conf does not contain a [http] stanza.
[ success ] Check that default/inputs.conf or local/inputs.conf contains accurate [http://name] stanza if it exists.
[ success ] Check that inputs.conf does not have any remote_queue inputs.
[ success ] Check that default/inputs.conf or local/inputs.conf does not contain a splunktcp stanza.
[ success ] Check that default/inputs.conf or local/inputs.conf does not contain a splunktcptoken stanza.
[ success ] Check that inputs.conf does not have any SSL inputs.
[ success ] Check that default/inputs.conf or local/inputs.conf does not contain a tcp stanza.
[ success ] Check that inputs.conf does not have any UDP inputs.
[ success ] Check that app does not contain instance.cfg.conf. Apps should not configure server/instance specific settings.
[ success ] Check that app does not contain crawl.conf as it allows Splunk to introspect the filesystem which is not permitted in Splunk Cloud.
[ success ] Check that app does not contain literals.conf. Apps should not alter/override text strings displayed in Splunk Web.
[ not_applicable ] Check that lookups/ contains only approved file types (.csv, .csv.default, .csv.gz, .csv.tgz, .kmz) or files formatted as valid csv.
  • The `lookups` directory does not exist.
[ success ] Check that app does not contain messages.conf. Apps should not alter/override messages/externalized strings.
[ success ] Check that the metadata/ directory only contains .meta files.
[ success ] Check that there is a script file in bin/ for each modular input defined in README/inputs.conf.spec.
[ success ] Check that app does not contain pubsub.conf as it defines a custom client for the deployment server. Apps should leave deployment configuration up to Splunk administrators.
[ not_applicable ] Check the cmd path pattern of scripted input defined in inputs.conf.
  • The scripted input does not exist in inputs.conf.
  • The scripted input does not exist in inputs.conf.
  • The scripted input does not exist in inputs.conf.
  • The scripted input does not exist in inputs.conf.
  • The scripted input does not exist in inputs.conf.
  • The scripted input does not exist in inputs.conf.
  • The scripted input does not exist in inputs.conf.
[ success ] Check that python version is python3 for scripted inputs defined in inputs.conf.
[ success ] Check that app does not contain segmenters.conf with splunk stanza. A misconfigured segmenters.conf can result in unsearchable data that could only be addressed by re-indexing and segmenters.conf configuration is system-wide.
[ success ] Check that app does not contain serverclass.conf as it defines deployment server classes for use with deployment server. Apps should leave deployment configuration up to Splunk administrators.
[ success ] Check that app does not contain serverclass.seed.xml.conf as it configures deploymentClient to seed a Splunk installation with applications at startup time. Apps should leave deployment configuration up to Splunk administrators.
[ success ] Check that setup.xml does not exist in the app default folder
[ success ] Check that app does not contain source-classifier.conf.conf as it configures system-wide settings for ignoring terms (such as sensitive data).
[ success ] Check that app does not contain sourcetypes.conf as it is a machine-generated file that stores source type learning rules. props.conf should be used to define sourcetypes.
[ success ] Check that app does not contain splunk-launch.conf as it defines environment values used at startup time. System-wide environment variables should be left up to Splunk administrators.
[ not_applicable ] Check that only role-mapping stanza is allowed in authenticaiton.conf as long as it doesn't map users to a cloud-internal role.
  • `default/authentication.conf` does not exist.
[ success ] Check that the static/ directory contains only known file types.
[ success ] Check that app does not contain telemetry.conf as it controls a Splunk-internal feature that should not be configured by apps.
[ success ] Check that the app contains MS Windows specific components, which will not function correctly in Splunk Cloud whose OS should be Linux x64.
[ success ] Check that the app does not contain configurations of default source type in props.conf, which will overwrite the configurations of default source types in system/default/props.conf then it will affect other apps in splunk enterprise/cloud.
[ not_applicable ] Check that the app does not have default/passwords.conf, otherwise, warn it.
  • passwords.conf does not exist.
[ success ] Check that transforms.conf does not contain any transforms with malicious command scripts specified by external_cmd=<string> attribute, or does not contain a scripted lookup with python2 only script.
[ success ] Check that app does not contain user-seed.conf as it is used to preconfigure default login and password information.
[ success ] Check that app does not contain wmi.conf is as it is prohibited in Splunk Cloud due to its ability to configure Splunk to ingest data via Windows Management Instrumentation, which should be done via forwarder. Forwarders are not permitted in Splunk Cloud.
[ success ] Check that app does not contain workload_pools.conf in Cloud. App should not modify workload categories/pools. It should be only controlled by cloud administrators.
[ success ] Check that app does not contain workload_rules.conf in Cloud as it automatically trigger actions on running search processes.
JavaScript file standards
[ success ] Check if any sensitive data leakage in console log
[ success ] Check if the app contains possible iframe in JavaScript files, templates or html pages.
[ manual_check ] Check if the app contain possible insecure http request in JavaScript files.
  • The following line will be inspected during code review. Match: $.post(this.make_url("/api/manager/control") File: appserver/static/js/build/common.js Line Number: 1
  • The following line will be inspected during code review. Match: $.ajax( File: appserver/static/js/build/common.js Line Number: 1
  • The following line will be inspected during code review. Match: f.open("GET",o.url,!1) File: appserver/static/js/build/common.js Line Number: 14
  • The following line will be inspected during code review. Match: request.get("earliest_time") File: appserver/static/js/build/common.js Line Number: 86
  • The following line will be inspected during code review. Match: request.get("sample_ratio") File: appserver/static/js/build/common.js Line Number: 86
  • The following line will be inspected during code review. Match: request.get("search") File: appserver/static/js/build/common.js Line Number: 86
  • The following line will be inspected during code review. Match: request.get("adhoc_search_level") File: appserver/static/js/build/common.js Line Number: 86
  • The following line will be inspected during code review. Match: request.get("latest_time") File: appserver/static/js/build/common.js Line Number: 86
  • The following line will be inspected during code review. Match: jQuery.ajax File: appserver/static/js/build/common.js Line Number: 122
  • The following line will be inspected during code review. Match: $.post(Splunk.Logger.mode.Server.END_POINT,{data:e}) File: appserver/static/js/build/common.js Line Number: 123
  • The following line will be inspected during code review. Match: http.post(i.urlify(e) File: appserver/static/js/build/common.js Line Number: 132
  • The following line will be inspected during code review. Match: http.get(i.urlify(e) File: appserver/static/js/build/common.js Line Number: 132
  • The following line will be inspected during code review. Match: http.post(this.urlify(n) File: appserver/static/js/build/common.js Line Number: 132
  • The following line will be inspected during code review. Match: $.ajax( File: appserver/static/js/build/common.js Line Number: 160
[ success ] Check if possible reflected xss in JavaScript
[ manual_check ] Check if the app contain possible remote code execution in JavaScript files.
  • The following line will be inspected during code review. Match: eval(m[9]+(60*m[10]+parseInt(m[11]||0,10 File: appserver/static/js/build/common.js Line Number: 1
  • The following line will be inspected during code review. Match: re.globalEval(s.textContent.replace(ze,"" File: appserver/static/js/build/common.js Line Number: 118
  • The following line will be inspected during code review. Match: re.globalEval(e File: appserver/static/js/build/common.js Line Number: 119
[ not_applicable ] Check if possible stored xss in JavaScript
  • `default/setup.xml` does not exist. The stored xss check is not applicable
[ success ] Check for usages of telemetry metrics in JavaScript
[ success ] Check if the app contains udp communication in JavaScript files.
[ success ] Check if any weak encryption in JavaScript
[ success ] Check that app does not use REST endpoint to collect and send telemetry data.
Limits.conf file standards Ensure that /default/limits.conf file is omitted. When included in the app, the limits.conf file changes the limits that are placed on the system for hardware use and memory consumption, which is a task that should be handled by Splunk administrators and not by Splunk app developers. For more, see limits.conf.
[ success ] Check that default/limits.conf has not been included.
Dynamic checks for modular inputs Modular Inputs are configured via an inputs.conf.spec file located at README/inputs.conf.spec.
[ success ] Check that the modular input scheme arguments match the inputs.conf.spec file.
[ success ] Check that the modular input scheme is well-formed in xml(with <scheme> as root) or json format
Outputs.conf file standards Ensure that the outputs.conf file located in the /default folder of the app is well formed and valid. For more, see outputs.conf.
[ not_applicable ] Check that forwarding enabled in 'outputs.conf' is failed in cloud
  • `outputs.conf` does not exist.
README/*.spec file standards Ensure that the .spec files located in the /README folder of the app is well formed and valid.
[ success ] Check that no [default] or other values are defined before the first stanza.
Dynamic checks for search exceptions Check that app does not cause splunkd errors inside Splunk
[ success ] Check that app doesn't generate splunkd errors inside Splunk
Splunk Packaging Toolkit (SLIM) validation This group uses slim to extend the cloud checks for improved auto-vetting.
[ warning ] Find non-standard config files and notify app developers to confirm that 1. those files are safe to install. 2. those files are partitioned to the expected instances.
  • Custom config file bin/ta_bigfix/cloudconnectlib/splunktalib/setting.conf is detected in this app. By default, it will be partitioned to all instances including Search Head(s), Indexer(s) and Forwarder(s). If that's not what you expect, you can use the `targetWorkloads` attribute in app.manifest to indicate the correct instances. For more details about app.manifest, please refer to https://dev.splunk.com/enterprise/docs/releaseapps/packagingtoolkit/pkgtoolkitref/pkgtoolkitapp#JSON-schema-200. Please also make sure that this custom file is safe to install. File: bin/ta_bigfix/cloudconnectlib/splunktalib/setting.conf
  • Custom config file bin/ta_bigfix/aob_py2/cloudconnectlib/splunktalib/setting.conf is detected in this app. By default, it will be partitioned to all instances including Search Head(s), Indexer(s) and Forwarder(s). If that's not what you expect, you can use the `targetWorkloads` attribute in app.manifest to indicate the correct instances. For more details about app.manifest, please refer to https://dev.splunk.com/enterprise/docs/releaseapps/packagingtoolkit/pkgtoolkitref/pkgtoolkitapp#JSON-schema-200. Please also make sure that this custom file is safe to install. File: bin/ta_bigfix/aob_py2/cloudconnectlib/splunktalib/setting.conf
  • Custom config file bin/ta_bigfix/aob_py3/cloudconnectlib/splunktalib/setting.conf is detected in this app. By default, it will be partitioned to all instances including Search Head(s), Indexer(s) and Forwarder(s). If that's not what you expect, you can use the `targetWorkloads` attribute in app.manifest to indicate the correct instances. For more details about app.manifest, please refer to https://dev.splunk.com/enterprise/docs/releaseapps/packagingtoolkit/pkgtoolkitref/pkgtoolkitapp#JSON-schema-200. Please also make sure that this custom file is safe to install. File: bin/ta_bigfix/aob_py3/cloudconnectlib/splunktalib/setting.conf
  • Custom config file default/addon_builder.conf is detected in this app. By default, it will be partitioned to all instances including Search Head(s), Indexer(s) and Forwarder(s). If that's not what you expect, you can use the `targetWorkloads` attribute in app.manifest to indicate the correct instances. For more details about app.manifest, please refer to https://dev.splunk.com/enterprise/docs/releaseapps/packagingtoolkit/pkgtoolkitref/pkgtoolkitapp#JSON-schema-200. Please also make sure that this custom file is safe to install. File: default/addon_builder.conf
  • Custom config file default/ta_bigfix_settings.conf is detected in this app. By default, it will be partitioned to all instances including Search Head(s), Indexer(s) and Forwarder(s). If that's not what you expect, you can use the `targetWorkloads` attribute in app.manifest to indicate the correct instances. For more details about app.manifest, please refer to https://dev.splunk.com/enterprise/docs/releaseapps/packagingtoolkit/pkgtoolkitref/pkgtoolkitapp#JSON-schema-200. Please also make sure that this custom file is safe to install. File: default/ta_bigfix_settings.conf
[ not_applicable ] Check that inputs.conf.spec does not include modular inputs that perform management tasks.
  • File: app.manifest was found, skipping this check.
[ success ] Check that nested apps do not exist as they are not valid for self-service install.
[ success ] Check that nested archives do not exist as they are not valid for self-service install.
[ not_applicable ] Check that inputs.conf does not include scripted inputs that perform management tasks.
  • File: app.manifest was found, skipping this check.
[ success ] Check that apps with app.manifest are valid or apps without an app.manifest can generate one.
[ success ] Check that the provided app package is not .zip type for SSAI purpose
Deprecated features from Splunk Enterprise 5.0 The following features should not be supported in Splunk 5.0 or later.
[ success ] Check that app does not use findtypes command. This command was for eventtype auto-discovering, which is deprecated in Splunk 5.0.
[ success ] Check that saved searches are not used within event types. https://docs.splunk.com/Documentation/Splunk/5.0/ReleaseNotes/Deprecatedfeatures https://docs.splunk.com/Documentation/Splunk/7.2.5/Knowledge/Abouteventtypes
Deprecated features from Splunk Enterprise 6.0 The following features should not be supported in Splunk 6.0 or later.
[ success ] Check that app does not contain crawl.conf as it was deprecated&removed in Splunk.
[ not_applicable ] Check that default/viewstates.conf does not exist in the app. (http://docs.splunk.com/Documentation/Splunk/6.0/AdvancedDev/Migration#Viewstates_are_no_longer_supported_in_simple_XML)
  • viewstates.conf does not exist.
Deprecated features from Splunk Enterprise 6.1 The following features should not be supported in Splunk 6.1 or later.
[ success ] Check that deprecated datamodel/acceleration is not used. https://docs.splunk.com/Documentation/Splunk/6.2.0/RESTREF/RESTknowledge
Deprecated features from Splunk Enterprise 6.2 The following features should not be supported in Splunk 6.2 or later. https://docs.splunk.com/Documentation/Splunk/6.2.0/ReleaseNotes/Deprecatedfeatures
[ success ] Check Dashboard XML files for <list> element. <list> was deprecated in Splunk 6.2 and removed in Splunk 6.5.
[ success ] Check for the deprecated <earliestTime> and <latestTime> elements in dashboard XML files. As of version 6.2 these elements are replaced by <earliest> and <latest> elements.
[ success ] Check for the deprecated <populatingSearch> and <populatingSavedSearch> elements in dashboard XML files. Use the <search> element instead.
[ success ] Check for the deprecated grouping attribute of row node in Simple XML files. Use the <panel> node instead.
Deprecated features from Splunk Enterprise 6.3 These following features should not be supported in Splunk 6.3 or later. For more, see Deprecated features and Changes for Splunk App developers.
[ success ] Check for use of Django bindings.
[ success ] Check for use of running a script in alert action
[ success ] Check for Simple XML <chart> panels with deprecated options charting.axisLabelsY.majorTickSize or charting.axisLabelsY.majorLabelVisibility.
[ success ] Check for the deprecated <option name='previewResults'> in Simple XML files.
[ success ] Check for the deprecated <searchTemplate>, <searchString>, <searchName>, and <searchPostProcess> element in Simple XML files. Use the <search> element instead.
[ success ] Check for the deprecated <seed> option in Simple XML forms. Use the <initialValue> element instead.
Deprecated features from Splunk Enterprise 6.4 The following features should not be supported in Splunk 6.4 or later. For more, see Deprecated features and Changes for Splunk App developers.
[ success ] Check that <option name="height"> uses an integer for the value. Do not use <option name="height">[value]px</option>.
[ success ] Check Simple XML files for <single> panels with deprecated options 'additionalClass', 'afterLabel', 'beforeLabel', 'classField', 'linkFields', 'linkSearch', 'linkView'
[ success ] Checks that views are not importing d3chartview.
[ success ] Checks that views are not importing googlemapsview.
[ success ] Check that a web.conf does not use the property 'simple_xml_force_flash_charting'.
[ success ] Check that web.conf does not use the simple_xml_module_render property.
Deprecated features from Splunk Enterprise 6.5 The following features should not be supported in Splunk 6.5 or later. For more, see Deprecated features and Changes for Splunk App developers.
[ success ] Check Dashboard XML files for <option> element with the deprecated option value "refresh.auto.interval" i.e. <option name="refresh.auto.interval">
[ warning ] Checks that views are not importing splunkjs/mvc/headerview or splunkjs/mvc/footerrview. These are replaced by LayoutView in Splunk 6.5. LayoutView is not backwards compatible to Splunk 6.4 or earlier. Only use LayoutView if you are only targeting Splunk 6.5 or above.
  • As of Splunk 6.5, this functionality is deprecated and should be removed in future app versions. Match: splunkjs/mvc/headerview File: appserver/static/js/build/configuration_page.js Line Number: 1
  • As of Splunk 6.5, this functionality is deprecated and should be removed in future app versions. Match: splunkjs/mvc/headerview File: appserver/static/js/build/inputs_page.js Line Number: 1
  • As of Splunk 6.5, this functionality is deprecated and should be removed in future app versions. Match: splunkjs/mvc/headerview File: appserver/static/js/build/common.js Line Number: 91
Deprecated or removed features from Splunk Enterprise 6.6 The following features should not be supported in Splunk 6.6 or later. For more, see Deprecated features and Changes for Splunk App developers.
[ success ] Check apps/appinstall usages
[ not_applicable ] Check removed support for setting autoLB in outputs.conf
  • No outputs.conf file exists.
[ success ] Check existence for displayRowNumbers option in simple xml. This option is no longer supported since Splunk 6.6.
Deprecated features from Splunk Enterprise 7.1 The following features should not be supported in Splunk 7.1 or later. For more, see Deprecated features and Changes for Splunk App developers.
[ success ] Check deprecated input command usage.
Deprecated features from Splunk Enterprise 7.2 The following features should not be supported in Splunk 7.2 or later. For more, see Deprecated features and Changes for Splunk App developers.
[ success ] Check deprecated literals.conf existence.
Deprecated features from Splunk Enterprise 7.3 The following features should not be supported in Splunk 7.3 or later. For more, see Deprecated features and Changes for Splunk App developers.
[ success ] Check deprecated tscollect command usage.
Deprecated features from Splunk Enterprise 8.0 The following features should not be supported in Splunk 8.0.0 or later. For more, see Deprecated features and Changes for Splunk App developers.
[ success ] Check that there is no Advanced XML, which was deprecated in Splunk Enterprise 6.3.
[ success ] Check for the existence of custom CherryPy endpoints, which must be upgraded to be Python 3-compatible for the Splunk Enterprise 8.0.
[ warning ] Check for the existence of Python code block in Mako templates, which must be upgraded to be Python 3-compatible for the Splunk Enterprise 8.0.
  • Update Mako templates to be Python 3-compatible. Splunk Web, which Mako templates depend on, will support only Python 3.7. If you've finished your update, please disregard this message. File: appserver/templates/base.html
[ warning ] Check for the existence of Python scripts, which must be upgraded to be cross-compatible with Python 2 and 3 for Splunk Enterprise 8.0.
  • 2109 Python files found. Update these Python scripts to be cross-compatible with Python 2 and 3 for Splunk Enterprise 8.0. See https://docs.splunk.com/Documentation/Splunk/latest/Python3Migration/AboutMigration for more information. If you've finished your update, please disregard this message.
[ success ] Check for the existence of the M2Crypto package usage, which is removed in the Splunk Enterprise 8.0.
Malware, viruses, malicious content, user security standards (dynamic checks)
[ manual_check ] Check that the app does not include malicious urls.
  • A url telnet://192.0.2.16:80 has a scheme not in supported list(['nntp', 'nfs', 'http', 'https', 'gopher', 'ftp', 'file']) was detected in the following files. Please verify this url manually, ( ), (File: bin/ta_bigfix/aob_py2/httplib2/iri2uri.py, Line: 87), (File: bin/ta_bigfix/aob_py3/httplib2/iri2uri.py, Line: 88) File: bin/ta_bigfix/httplib2/iri2uri.py Line Number: 93
[ success ] Check that the app does not include viruses.
Web.conf File Standards Ensure that web.conf is safe for cloud deployment and that any exposed patterns match endpoints defined by the app - apps should not expose endpoints other than their own. Including web.conf can have adverse impacts for cloud. Allow only [endpoint:*] and [expose:*] stanzas, with expose only containing pattern= and methods= properties. web.conf
[ success ] Check that web.conf only defines [endpoint:] and [expose:] stanzas, with [expose:*] only containing pattern= and methods=.
Modular inputs structure and standards Modular inputs are configured in an inputs.conf.spec file located in the /README directory of the app. For more, see Modular inputs overview, Modular inputs configuration, and Modular inputs basic example.
[ success ] Check that all the modular inputs defined in inputs.conf.spec are explicitly set the python.version to python3.
JSON file standards
[ success ] Check that all JSON files are well formed.
Lookup file standards Lookups add fields from an external source to events based on the values of fields that are already present in those events.
[ not_applicable ] Check that no two files/directories under the lookups directory have this naming pattern respectively: xxx and xxx.default - with the only difference in the .default extension. During the installation of an app in Splunk Cloud, a lookup file will be temporarily renamed to append an additional .default extension to it, which will cause error if a namesake file already exists.
  • lookups folder does not exist
Saved search standards Saved searches are defined in a savedsearches.conf file located in the /default directory of the app. For more, see Save and share your reports and savedsearches.conf.
[ not_applicable ] Check that default/savedsearches.conf searches are cron scheduled reasonably. Less than five asterisks should be used.
  • No saved searches with a cron schedule were detected.
[ success ] Check that no real-time pre-index saved searches are being used in savedsearches.conf. Real-time pre-index saved searches are extremely system intensive and should be avoided.
[ success ] Check that if a scheduled saved search in savedsearch.conf contains dispatch.earliest_time option, or if a scheduled saved search with auto summary enabled contains auto_summarize.dispatch.earliest_time option
[ success ] Check that if a savedsearch.conf stanza contains scheduling options it does contain a dispatch.latest_time
App.conf standards The app.conf file located at default/app.conf provides key application information and branding. For more, see app.conf.
[ success ] Check that default/app.conf doesn't have a reload.<CONF_FILE>, where CONF_FILE is a non-custom conf. (https://docs.splunk.com/Documentation/Splunk/7.3.0/Admin/Appconf#.5Btriggers.5D)
[ warning ] Check that the [package] stanza in app.conf has a valid id value. See https://docs.splunk.com/Documentation/Splunk/latest/Admin/Appconf for details.
  • The app.conf [package] stanza's has 'id' property: TA-bigfix, while '-' is not recommended. See https://docs.splunk.com/Documentation/Splunk/7.3.1/Admin/Appconf for more details. File: default/app.conf Line Number: 20
[ warning ] Check in default/app.conf, install_source_checksum/install_source_local_checksum not be set explicitly.
  • For the app.conf [install] stanza's `install_source_checksum` attribute, it records a checksum of the tarball from which a given app was installed or a given app's local configuration was installed. Splunk Enterprise will automatically populate this value during installation. Developers should *not* set this value explicitly within their app! File: default/app.conf Line Number: 7
Directory structure standards Ensure that the directories and files in the app adhere to hierarchy standards.
[ success ] Check that the 'local' directory does not exist. All configuration should be in the 'default' directory.
[ success ] Check that app has no .conf or dashboard filenames that contain spaces. Splunk software does not support such files.
[ success ] Check that the file 'local.meta' does not exist. All metadata permissions should be set in 'default.meta'.
[ warning ] Check splunklib dependency should not be placed under app's bin folder. Please refer to https://dev.splunk.com/view/SP-CAAAER3 and https://dev.splunk.com/view/SP-CAAAEU2 for more details/examples.
  • splunklib is found under `bin` folder, this may cause some dependency management errors with other apps, and it is not recommended. Please follow examples in Splunk documentation to include splunklib. You can find more details here: https://dev.splunk.com/view/SP-CAAAEU2 and https://dev.splunk.com/view/SP-CAAAER3
  • splunklib is found under `bin` folder, this may cause some dependency management errors with other apps, and it is not recommended. Please follow examples in Splunk documentation to include splunklib. You can find more details here: https://dev.splunk.com/view/SP-CAAAEU2 and https://dev.splunk.com/view/SP-CAAAER3
  • splunklib is found under `bin` folder, this may cause some dependency management errors with other apps, and it is not recommended. Please follow examples in Splunk documentation to include splunklib. You can find more details here: https://dev.splunk.com/view/SP-CAAAEU2 and https://dev.splunk.com/view/SP-CAAAER3
  • splunklib is found under `bin` folder, this may cause some dependency management errors with other apps, and it is not recommended. Please follow examples in Splunk documentation to include splunklib. You can find more details here: https://dev.splunk.com/view/SP-CAAAEU2 and https://dev.splunk.com/view/SP-CAAAER3
[ success ] Check that the app name does not start with digits
[ success ] Check that when decompressed the Splunk app directory name matches the id property in the [package] stanza in app.conf. For Cloud apps, the id property must exist and match the app directory name. For on-premise apps, if the id property exists, it must match the app directory name; if there is no id property, check_for_updates must be set to False in app.conf for the check to pass.
[ not_applicable ] Check that local/passwords.conf does not exist. Password files are not transferable between instances.
  • The local directory does not exist.
Configuration file standards Ensure that all configuration files located in the /default folder are well formed and valid.
[ success ] Check that the filed.<name> type in collections.conf does not include boolean. Use bool instead.
[ success ] Check that all config files parse cleanly- no trailing whitespace after continuations, no duplicated stanzas or options.
[ success ] Check that app conf files do not point to files outside the app container. Because hard-coded paths won't work in Splunk Cloud, we don't consider to check absolute paths.
[ success ] Check that app does not contain any .conf files that create global definitions using the [default] stanza.
Indexes.conf file standards Ensure that the index configuration file located in the /default folder is well formed and valid. For more, see indexes.conf.
[ not_applicable ] Check that all the coldToFrozenScript in indexes.conf are explicitly set the python.version to python3.
  • indexes.conf does not exist.
[ success ] Check that indexes.conf only contains the required 'homePath' , 'coldPath', and 'thawedPath' properties or the optional 'frozenTimePeriodInSecs', 'disabled', 'datatype' and 'repFactor' properties. All other properties are prohibited. This check is cloud only because indexes are not allowed via check_indexes_conf_does_not_exist.
[ not_applicable ] Check that no default Splunk indexes are modified by the app.
  • No `default/indexes.conf`file exists.
Props Configuration file standards Ensure that all props.conf files located in the default (or local) folder are well formed and valid. props.conf transforms.conf
[ success ] Check that pretrained sourctypes in props.conf have only "TRANSFORM-" or "SEDCMD" settings, and that those transforms only modify the host, source, or sourcetype.
Server configuration file standards Ensure that server.conf is well formed and valid. For detailed information about the server configuration file, see server.conf.
[ not_applicable ] Check that server.conf in an app is only allowed to contain: 1) conf_replication_include.\<custom_conf_files> in [shclustering] stanza 2) or EXCLUDE-\<class> property in [diag] stanza
  • No server.conf file exists.
Alert actions structure and standards Custom alert actions are defined in an alert_actions.conf file located in the /default directory of the app. For more, see Custom alert actions overview and alert_actions.conf.
[ not_applicable ] Check that each custom alert action has a valid executable. If it does, further check if the executable is Python script. If it does, further check it's Python 3 compatible.
  • No `alert_actions.conf` was detected.
Custom search command structure and standards Custom search commands are defined in a commands.conf file in the /default directory of the app. For more, see About writing custom search commands and commands.conf.
[ not_applicable ] Check that commands.conf must explicitly define the python.version to be python3 for each python-scripted custom command.
  • `commands.conf` does not exist.
Custom workflow actions structure and standards Custom workflow actions are defined in a workflow_actions.conf file in the /default directory of the app. For more, see About lookups and workflow_actions.conf.
[ not_applicable ] Check that for each workflow action in workflow_actions.conf the link.uri property uses the https protocol for external links. Unencrypted http is permitted for internal links.
  • `workflow_actions.conf` does not exist.
REST endpoints and handler standards REST endpoints are defined in a restmap.conf file in the /default directory of the app. For more, see restmap.conf.
[ success ] Check that restmap.conf file exists at default/restmap.conf when using REST endpoints.
[ success ] Check that python version is python3 for executables in restmap.conf.
[ success ] Check that each stanza in restmap.conf has a matching handler script. if not, throw a warning.
Data model files and configurations Data models are defined in a datamodels.conf file in the /default directory of the app. For more, see About data models and datamodels.conf.
[ not_applicable ] Check that the use of accelerated data models do not occur. If data model acceleration is required, developers should provide directions in documentation for how to accelerate data models from within the Splunk Web GUI. data model acceleration
  • No datamodels.conf file exists.
Python file standards
[ manual_check ] Check all python files are well formed under python2 and python3 standard
  • Python script is not well formed, syntax error found in python script when parser try to parse. Runtime errors and possible style issues could exist when it is executed. Please manual check if the whole app is broken, if yes, fail this app. If syntax error only block part of app's functionality, warn developer to fix it. File: bin/ta_bigfix/aob_py3/lib2to3/tests/data/py2_test_grammar.py
  • Python script is not well formed, syntax error found in python script when parser try to parse. Runtime errors and possible style issues could exist when it is executed. Please manual check if the whole app is broken, if yes, fail this app. If syntax error only block part of app's functionality, warn developer to fix it. File: bin/ta_bigfix/aob_py2/lib2to3/tests/data/py2_test_grammar.py
[ manual_check ] Check that the python __import__ method is not used in a way that can be exploited (e.g., import(conf_setting) is at risk of code injection).
  • The `__builtin__.__import__` function was detected being used. Please use the `import` keyword instead. Third-Party libraries are exempt from this requirement. File: bin/ta_bigfix/aob_py2/lib2to3/refactor.py Line Number: 35
  • The `__builtin__.__import__` function was detected being used. Please use the `import` keyword instead. Third-Party libraries are exempt from this requirement. File: bin/ta_bigfix/aob_py2/lib2to3/refactor.py Line Number: 245
  • The `__builtin__.__import__` function was detected being used. Please use the `import` keyword instead. Third-Party libraries are exempt from this requirement. File: bin/ta_bigfix/aob_py2/lib2to3/tests/__init__.py Line Number: 22
  • The `__builtin__.__import__` function was detected being used. Please use the `import` keyword instead. Third-Party libraries are exempt from this requirement. File: bin/ta_bigfix/aob_py3/lib2to3/refactor.py Line Number: 32
  • The `__builtin__.__import__` function was detected being used. Please use the `import` keyword instead. Third-Party libraries are exempt from this requirement. File: bin/ta_bigfix/aob_py3/lib2to3/refactor.py Line Number: 226
[ manual_check ] Check for builtin functions(open, eval, execfile, file) usages in python files
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py2/lib2to3/tests/pytree_idempotency.py Line Number: 81
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/bigfix_analysis.py Line Number: 92
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py3/lib2to3/pgen2/conv.py Line Number: 62
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py3/lib2to3/pgen2/conv.py Line Number: 113
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py2/modinput_wrapper/base_modinput.py Line Number: 166
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py2/splunk_aoblib/setup_util.py Line Number: 106
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/bigfix_actions.py Line Number: 84
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/bigfix_infrastructure.py Line Number: 80
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py3/lib2to3/tests/pytree_idempotency.py Line Number: 83
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py3/lib2to3/tests/test_parser.py Line Number: 95
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py3/lib2to3/tests/test_parser.py Line Number: 96
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py3/lib2to3/tests/test_parser.py Line Number: 567
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py3/lib2to3/tests/test_parser.py Line Number: 571
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py2/lib2to3/tests/test_parser.py Line Number: 94
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py2/lib2to3/tests/test_parser.py Line Number: 95
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py2/lib2to3/tests/test_parser.py Line Number: 297
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py2/lib2to3/tests/test_parser.py Line Number: 301
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py2/lib2to3/tests/test_parser.py Line Number: 349
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/bigfix_clients.py Line Number: 88
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py3/lib2to3/tests/test_refactor.py Line Number: 208
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py3/lib2to3/tests/test_refactor.py Line Number: 255
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/splunk_aoblib/setup_util.py Line Number: 103
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py2/lib2to3/tests/test_main.py Line Number: 75
  • The following line will be inspected during code review. The `__builtin__.open` module/method can be used to manipulate files outside of the app dir. File: bin/ta_bigfix/aob_py2/lib2to3/tests/test_main.py Line Number: 81
  • Suppressed 37 manual_check messages
[ success ] Check that there are no .pyc or .pyo files included in the app.
[ success ] Check if custom python interpreters could be used in malicious code execution
[ success ] check if data compression and archiving libraries could be used to read & write files outside of app dir
[ manual_check ] check for data persistence usage which could be used to invoke marshall function call
  • The following lines should be inspected during code review, `pickle.dump` could be used to serialize and deserialize python object. Check if serialization result will be stored outside of App dir. File: bin/ta_bigfix/aob_py3/lib2to3/pgen2/grammar.py Line Number: 103
  • The following lines should be inspected during code review, `pickle.load` could be used to serialize and deserialize python object. Check if serialization result will be stored outside of App dir. File: bin/ta_bigfix/aob_py3/lib2to3/pgen2/grammar.py Line Number: 108
  • The following lines should be inspected during code review, `pickle.dump` could be used to serialize and deserialize python object. Check if serialization result will be stored outside of App dir. File: bin/ta_bigfix/aob_py2/lib2to3/pgen2/grammar.py Line Number: 103
  • The following lines should be inspected during code review, `pickle.load` could be used to serialize and deserialize python object. Check if serialization result will be stored outside of App dir. File: bin/ta_bigfix/aob_py2/lib2to3/pgen2/grammar.py Line Number: 108
[ success ] Check if debugging library could be used to execute arbitrary commands
[ manual_check ] Check for possible file and directory access, they could be used in external file manipulation
  • The following line will be inspected during code review. The `os.remove` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["@"], keywords: {} File: bin/ta_bigfix/aob_py2/lib2to3/tests/pytree_idempotency.py Line Number: 89
  • The following line will be inspected during code review. The `os.system` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["?"], keywords: {} File: bin/ta_bigfix/aob_py2/lib2to3/tests/pytree_idempotency.py Line Number: 87
  • The following line will be inspected during code review. The `os.execvp` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["?", "?"], keywords: {} File: bin/ta_bigfix/aob_py3/splunklib/searchcommands/external_search_command.py Line Number: 206
  • The following line will be inspected during code review. The `os.execvpe` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["?", "?", "?"], keywords: {} File: bin/ta_bigfix/aob_py3/splunklib/searchcommands/external_search_command.py Line Number: 208
  • The following line will be inspected during code review. The `os.makedirs` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["?"], keywords: {} File: bin/ta_bigfix/aob_py2/modinput_wrapper/base_modinput.py Line Number: 500
  • The following line will be inspected during code review. The `tempfile.mkdtemp` module/method can be used to access file/directory outside of the app dir. Function call arguments: [], keywords: {} File: bin/ta_bigfix/aob_py2/modinput_wrapper/base_modinput.py Line Number: 498
  • The following line will be inspected during code review. The `os.remove` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["@"], keywords: {} File: bin/ta_bigfix/aob_py3/lib2to3/tests/pytree_idempotency.py Line Number: 91
  • The following line will be inspected during code review. The `os.system` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["?"], keywords: {} File: bin/ta_bigfix/aob_py3/lib2to3/tests/pytree_idempotency.py Line Number: 89
  • The following line will be inspected during code review. The `os.mkdir` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["?"], keywords: {} File: bin/ta_bigfix/aob_py3/lib2to3/tests/test_parser.py Line Number: 68
  • The following line will be inspected during code review. The `os.unlink` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["?"], keywords: {} File: bin/ta_bigfix/aob_py3/lib2to3/tests/test_parser.py Line Number: 58
  • The following line will be inspected during code review. The `shutil.copy` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["?", "?"], keywords: {} File: bin/ta_bigfix/aob_py3/lib2to3/tests/test_parser.py Line Number: 52
  • The following line will be inspected during code review. The `shutil.copy` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["?", "?"], keywords: {} File: bin/ta_bigfix/aob_py3/lib2to3/tests/test_parser.py Line Number: 72
  • The following line will be inspected during code review. The `shutil.copy` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["?", "?"], keywords: {} File: bin/ta_bigfix/aob_py3/lib2to3/tests/test_parser.py Line Number: 73
  • The following line will be inspected during code review. The `shutil.rmtree` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["?"], keywords: {} File: bin/ta_bigfix/aob_py3/lib2to3/tests/test_parser.py Line Number: 61
  • The following line will be inspected during code review. The `shutil.rmtree` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["?"], keywords: {} File: bin/ta_bigfix/aob_py3/lib2to3/tests/test_parser.py Line Number: 102
  • The following line will be inspected during code review. The `tempfile.mkdtemp` module/method can be used to access file/directory outside of the app dir. Function call arguments: [], keywords: {} File: bin/ta_bigfix/aob_py3/lib2to3/tests/test_parser.py Line Number: 48
  • The following line will be inspected during code review. The `tempfile.mkdtemp` module/method can be used to access file/directory outside of the app dir. Function call arguments: [], keywords: {} File: bin/ta_bigfix/aob_py3/lib2to3/tests/test_parser.py Line Number: 65
  • The following line will be inspected during code review. The `os.makedirs` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["?"], keywords: {} File: bin/ta_bigfix/aob_py3/lib2to3/main.py Line Number: 84
  • The following line will be inspected during code review. The `os.remove` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["?.bak"], keywords: {} File: bin/ta_bigfix/aob_py3/lib2to3/main.py Line Number: 92
  • The following line will be inspected during code review. The `os.rename` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["?", "?.bak"], keywords: {} File: bin/ta_bigfix/aob_py3/lib2to3/main.py Line Number: 96
  • The following line will be inspected during code review. The `shutil.copymode` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["?.bak", "?"], keywords: {} File: bin/ta_bigfix/aob_py3/lib2to3/main.py Line Number: 103
  • The following line will be inspected during code review. The `shutil.copymode` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["?", "?"], keywords: {} File: bin/ta_bigfix/aob_py3/lib2to3/main.py Line Number: 106
  • The following line will be inspected during code review. The `os.mkdir` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["?"], keywords: {} File: bin/ta_bigfix/aob_py2/lib2to3/tests/test_parser.py Line Number: 67
  • The following line will be inspected during code review. The `os.remove` module/method can be used to access file/directory outside of the app dir. Function call arguments: ["@"], keywords: {} File: bin/ta_bigfix/aob_py2/lib2to3/tests/test_parser.py Line Number: 358
  • Suppressed 53 manual_check messages
[ success ] check if generic operating system modules could be used to communicate with outside services, files or systems
[ success ] Check that there are no hidden python files included in the app.
[ success ] Check Python code for importing modules dynamically.
[ success ] Check for the use of web server classes, they could be used to start a internal server in current app
[ manual_check ] check if networking or file manipulation exist in interprocess modules usage
  • The following lines should be inspected during code review. `socket.connect` could be used to open socket connection to outside service. File: bin/ta_bigfix/aob_py2/httplib2/socks.py Line Number: 481
  • The following lines should be inspected during code review. `socket.connect` could be used to open socket connection to outside service. File: bin/ta_bigfix/aob_py2/httplib2/socks.py Line Number: 488
  • The following lines should be inspected during code review. `socket.connect` could be used to open socket connection to outside service. File: bin/ta_bigfix/aob_py2/httplib2/socks.py Line Number: 495
  • The following lines should be inspected during code review. `socket.connect` could be used to open socket connection to outside service. File: bin/ta_bigfix/aob_py2/httplib2/socks.py Line Number: 502
  • The following lines should be inspected during code review. `socket.connect` could be used to open socket connection to outside service. File: bin/ta_bigfix/aob_py2/httplib2/socks.py Line Number: 508
  • The following lines should be inspected during code review. `socket.connect` could be used to open socket connection to outside service. File: bin/ta_bigfix/aob_py2/httplib2/__init__.py Line Number: 1206
  • The following lines should be inspected during code review. `socket.connect` could be used to open socket connection to outside service. File: bin/ta_bigfix/aob_py2/httplib2/__init__.py Line Number: 1208
  • The following lines should be inspected during code review. `socket.connect` could be used to open socket connection to outside service. File: bin/ta_bigfix/aob_py2/httplib2/__init__.py Line Number: 1358
  • The following lines should be inspected during code review. `socket.connect` could be used to open socket connection to outside service. File: bin/ta_bigfix/aob_py2/httplib2/__init__.py Line Number: 1360
  • The following lines should be inspected during code review. `socket.connect` could be used to open socket connection to outside service. File: bin/ta_bigfix/aob_py3/splunklib/binding.py Line Number: 557
  • The following lines should be inspected during code review. `socket.connect` could be used to open socket connection to outside service. File: bin/ta_bigfix/aob_py2/splunklib/binding.py Line Number: 557
[ success ] Check for operating system features that are available on selected operating systems only.
[ manual_check ] check for plain text credentials disclosure in python files
  • The following lines should be inspected during code review, Possible plain text credentials disclosure here, `PATH_STORAGE_PASSWORDS = storage/passwords` File: bin/ta_bigfix/aob_py3/splunklib/client.py Line Number: 109
  • The following lines should be inspected during code review, Possible plain text credentials disclosure here, `PATH_STORAGE_PASSWORDS = storage/passwords` File: bin/ta_bigfix/aob_py2/splunklib/client.py Line Number: 109
[ warning ] Check for the use of threading, and multiprocesses. Threading or process must be used with discretion and not negatively affect the Splunk installation as a whole.
  • The following line contains subprocess.Popen usage. Use threading and multiprocessing with discretion. File: bin/ta_bigfix/aob_py3/splunklib/searchcommands/external_search_command.py Line Number: 136
  • The following line contains subprocess.check_call usage. Use threading and multiprocessing with discretion. File: bin/ta_bigfix/aob_py3/lib2to3/tests/test_parser.py Line Number: 87
  • The following line contains subprocess.check_call usage. Use threading and multiprocessing with discretion. File: bin/ta_bigfix/aob_py2/lib2to3/tests/test_parser.py Line Number: 86
  • The following line contains subprocess.Popen usage. Use threading and multiprocessing with discretion. File: bin/ta_bigfix/aob_py2/splunklib/searchcommands/external_search_command.py Line Number: 136
  • The following line contains questionable usage `multiprocessing.Process.start` in loop. Use threading and multiprocessing with discretion. File: bin/ta_bigfix/aob_py2/concurrent/futures/process.py Line Number: 325
  • The following line contains questionable usage `multiprocessing.Process.start` in loop. Use threading and multiprocessing with discretion. File: bin/ta_bigfix/aob_py2/lib2to3/refactor.py Line Number: 719
  • The following line contains questionable usage `multiprocessing.Process.start` in loop. Use threading and multiprocessing with discretion. File: bin/ta_bigfix/aob_py3/lib2to3/refactor.py Line Number: 700
[ success ] Check if program frameworks could be used to interface with web part
[ success ] Check if multimedia services module could be used to execute unknown-source multimedia files
[ success ] Check if python runtime services could be used to manipulate system python objects
[ success ] Check for UDP network communication
[ success ] Check if restricted execution exist in current app
[ success ] check if possible reverse shell exist in python code
[ success ] Check possible root privilege escalation
[ success ] Check that all network communications are encrypted
[ success ] Check for untrusted xml usages in python libraries
Malware, viruses, malicious content, user security standards (static checks)
[ warning ] Check that no sensitive hostnames/IPs are stored in the app.
  • PRIVATE IP 192.0.2.16 is found in bin/ta_bigfix/aob_py2/httplib2/iri2uri.py:87 File: bin/ta_bigfix/aob_py2/httplib2/iri2uri.py Line Number: 87
Operating system standards
[ success ] Check for the use of malicious shell commands in configuration files or shell scripts to corrupt the OS or Splunk instance. Other scripting languages are covered by other checks.
Security vulnerabilities
[ manual_check ] Check for environment variable manipulation and attempts to monitor sensitive environment variables.
  • Environment variable being used in bin/ta_bigfix/aob_py2/httplib2/__init__.py:1076: os.environ.get. File: bin/ta_bigfix/aob_py2/httplib2/__init__.py Line Number: 1076
  • Environment variable being used in bin/ta_bigfix/aob_py2/httplib2/__init__.py:1076: os.environ.get. File: bin/ta_bigfix/aob_py2/httplib2/__init__.py Line Number: 1076
  • Environment variable being used in bin/ta_bigfix/aob_py2/httplib2/__init__.py:1120: os.environ.get. File: bin/ta_bigfix/aob_py2/httplib2/__init__.py Line Number: 1120
  • Environment variable being used in bin/ta_bigfix/aob_py2/httplib2/__init__.py:1120: os.environ.get. File: bin/ta_bigfix/aob_py2/httplib2/__init__.py Line Number: 1120
  • Environment variable being used in bin/ta_bigfix/aob_py2/httplib2/__init__.py:1533: os.environ.get. File: bin/ta_bigfix/aob_py2/httplib2/__init__.py Line Number: 1533
  • Environment variable being used in bin/ta_bigfix/aob_py2/splunklib/searchcommands/external_search_command.py:119: os.getenv. File: bin/ta_bigfix/aob_py2/splunklib/searchcommands/external_search_command.py Line Number: 119
  • Environment variable being used in bin/ta_bigfix/aob_py2/splunklib/searchcommands/validators.py:154: os.environ. File: bin/ta_bigfix/aob_py2/splunklib/searchcommands/validators.py Line Number: 154
  • Environment variable being used in bin/ta_bigfix/aob_py2/splunklib/searchcommands/validators.py:154: os.environ. File: bin/ta_bigfix/aob_py2/splunklib/searchcommands/validators.py Line Number: 154
  • Environment variable being used in bin/ta_bigfix/aob_py2/splunk_aoblib/setup_util.py:124: os.environ.get. File: bin/ta_bigfix/aob_py2/splunk_aoblib/setup_util.py Line Number: 124
  • Environment variable being used in bin/ta_bigfix/aob_py2/splunk_aoblib/setup_util.py:125: os.environ.get. File: bin/ta_bigfix/aob_py2/splunk_aoblib/setup_util.py Line Number: 125
  • Environment variable being used in bin/ta_bigfix/aob_py2/modinput_wrapper/base_modinput.py:151: os.environ.get. File: bin/ta_bigfix/aob_py2/modinput_wrapper/base_modinput.py Line Number: 151
  • Environment variable being used in bin/ta_bigfix/aob_py2/modinput_wrapper/base_modinput.py:204: os.environ.get. File: bin/ta_bigfix/aob_py2/modinput_wrapper/base_modinput.py Line Number: 204
  • Environment variable being used in bin/ta_bigfix/aob_py2/modinput_wrapper/base_modinput.py:497: os.environ. File: bin/ta_bigfix/aob_py2/modinput_wrapper/base_modinput.py Line Number: 497
  • Environment variable being used in bin/ta_bigfix/aob_py3/splunklib/searchcommands/external_search_command.py:119: os.getenv. File: bin/ta_bigfix/aob_py3/splunklib/searchcommands/external_search_command.py Line Number: 119
  • Environment variable being used in bin/ta_bigfix/aob_py3/splunklib/searchcommands/validators.py:154: os.environ. File: bin/ta_bigfix/aob_py3/splunklib/searchcommands/validators.py Line Number: 154
  • Environment variable being used in bin/ta_bigfix/aob_py3/splunklib/searchcommands/validators.py:154: os.environ. File: bin/ta_bigfix/aob_py3/splunklib/searchcommands/validators.py Line Number: 154
  • Environment variable being used in bin/ta_bigfix/aob_py3/splunk_aoblib/setup_util.py:124: os.environ.get. File: bin/ta_bigfix/aob_py3/splunk_aoblib/setup_util.py Line Number: 124
  • Environment variable being used in bin/ta_bigfix/aob_py3/splunk_aoblib/setup_util.py:125: os.environ.get. File: bin/ta_bigfix/aob_py3/splunk_aoblib/setup_util.py Line Number: 125
  • Environment variable being used in bin/ta_bigfix/aob_py3/modinput_wrapper/base_modinput.py:151: os.environ.get. File: bin/ta_bigfix/aob_py3/modinput_wrapper/base_modinput.py Line Number: 151
  • Environment variable being used in bin/ta_bigfix/aob_py3/modinput_wrapper/base_modinput.py:204: os.environ.get. File: bin/ta_bigfix/aob_py3/modinput_wrapper/base_modinput.py Line Number: 204
  • Environment variable being used in bin/ta_bigfix/aob_py3/modinput_wrapper/base_modinput.py:497: os.environ. File: bin/ta_bigfix/aob_py3/modinput_wrapper/base_modinput.py Line Number: 497
  • Environment variable being used in bin/ta_bigfix/splunk_aoblib/setup_util.py:121: os.environ.get. File: bin/ta_bigfix/splunk_aoblib/setup_util.py Line Number: 121
  • Environment variable being used in bin/ta_bigfix/splunk_aoblib/setup_util.py:122: os.environ.get. File: bin/ta_bigfix/splunk_aoblib/setup_util.py Line Number: 122
[ manual_check ] Check for insecure HTTP calls in Python.
  • Possible insecure HTTP Connection. Match: httplib.HTTPConnection Positional arguments, ["?"]; Keyword arguments, {"key_file": "?", "cert_file": "?", "timeout": "?", "proxy_info": "?", "ca_certs": "?", "disable_ssl_certificate_validation": "?", "ssl_version": "?"} File: bin/ta_bigfix/aob_py2/httplib2/__init__.py Line Number: 1952
  • Possible insecure HTTP Connection. Match: httplib.HTTPConnection Positional arguments, ["?"]; Keyword arguments, {"timeout": "?", "proxy_info": "?", "ca_certs": "?", "disable_ssl_certificate_validation": "?", "ssl_version": "?"} File: bin/ta_bigfix/aob_py2/httplib2/__init__.py Line Number: 1963
  • Possible insecure HTTP Connection. Match: httplib.HTTPConnection Positional arguments, ["?"]; Keyword arguments, {"timeout": "?", "proxy_info": "?"} File: bin/ta_bigfix/aob_py2/httplib2/__init__.py Line Number: 1972
[ manual_check ] Check for passwords and secrets.
  • The following line will be inspected during code review.Possible secret disclosure found. Match: ...login... File: appserver/static/js/build/common.js Line Number: 130
  • The following line will be inspected during code review.Possible secret disclosure found. Match: ...password... File: appserver/static/js/build/common.js Line Number: 130
  • The following line will be inspected during code review.Possible secret disclosure found. Match: path(),t)}}),l.StoragePassword=l.Entity.extend({path:function(){return File: appserver/static/js/build/common.js Line Number: 142
[ success ] Check for sensitive information being exposed in transit via URL query string parameters
[ success ] Check no symlink points to the file outside this app
Source code and binaries standards
[ success ] Check that files outside of the bin/ and appserver/controllers directory do not have execute permissions and are not .exe files. On Unix platform, Splunk recommends 644 for all app files outside of the bin/ directory, 644 for scripts within the bin/ directory that are invoked using an interpreter (e.g. python my_script.py or sh my_script.sh), and 755 for scripts within the bin/ directory that are invoked directly (e.g. ./my_script.sh or ./my_script). On Windows platform, Splunk recommends removing user's FILE_GENERIC_EXECUTE for all app files outside of the bin/ directory except users in ['Administrators', 'SYSTEM', 'Authenticated Users', 'Administrator'].
[ success ] Check that files outside of the bin/ directory do not appear to be executable according to the Unix file command. From man file: files have a ``magic number'' stored in a particular place near the beginning of the file that tells the UNIX operating system that the file is a binary executable.
Platform targets and claimed supported Splunk Enterprise versions
[ not_applicable ] Check that the app can be setup on a distributed system after self-service. Warn if setup configures non-search-head features like inputs. This makes the app incompatible with distributed environments.
  • File: app.manifest was found. Skipping this check.
XML file standards
[ success ] Check any XML files that embed JavaScript via CDATA for compliance with Splunk Cloud security policy.
[ success ] Check that all XML files are well-formed.
Clone this wiki locally