Running CHIPSEC¶
CHIPSEC should be launched as Administrator/root.
CHIPSEC will automatically attempt to create and start its service, including load its kernel-mode driver. If CHIPSEC service is already running then it will attempt to connect to the existing service.
Use –no-driver command-line option to skip loading the kernel module. This option will only work for certain commands or modules.
Use -m --module
to run a specific module (e.g. security check, a tool or a PoC..):
# python chipsec_main.py -m common.bios_wp
# python chipsec_main.py -m common.spi_lock
# python chipsec_main.py -m common.smrr
You can also use CHIPSEC to access various hardware resources:
# python chipsec_util.py
Running in Shell¶
Basic usage
# python chipsec_main.py
# python chipsec_util.py
For help, run
# python chipsec_main.py --help
# python chipsec_util.py --help
Using as a Python Package¶
Install CHIPSEC manually or from PyPI. You can then use CHIPSEC from your Python project or from the Python shell:
To install and run CHIPSEC as a package:
# python setup.py install
# sudo chipsec_main
From the Python shell:
>>> import chipsec_main
>>> chipsec_main.run()
>>> chipsec_main.run('-m common.bios_wp')
>>> import chipsec_util
>>> chipsec_util.run()
>>> chipsec_util.run('spi info')
To use CHIPSEC in place without installing it:
# python setup.py build_ext -i
# sudo python chipsec_main.py
chipsec_main options¶
usage: chipsec_main.py [options]
Options:
-h, --help Show this message and exit
-m, --module _MODULE Specify module to run (example: -m common.bios_wp)
-mx, --module_exclude _MODULE1 ... Specify module(s) to NOT run (example: -mx common.bios_wp common.cpu.cpu_info)
-a, --module_args _MODULE_ARGV Additional module arguments
-v, --verbose Verbose logging
--hal HAL logging
-d, --debug Debug logging
-l, --log LOG Output to log file
-vv, --vverbose Very verbose logging (verbose + HAL + debug)
Advanced Options:
-p, --platform _PLATFORM Explicitly specify platform code
--pch _PCH Explicitly specify PCH code
-n, --no_driver Chipsec won't need kernel mode functions so don't load chipsec driver
-i, --ignore_platform Run chipsec even if the platform is not recognized (Deprecated)
-j, --json _JSON_OUT Specify filename for JSON output
-x, --xml _XML_OUT Specify filename for xml output (JUnit style)
-k, --markdown Specify filename for markdown output
-t, --moduletype USER_MODULE_TAGS Run tests of a specific type (tag)
--list_tags List all the available options for -t,--moduletype
-I, --include IMPORT_PATHS Specify additional path to load modules from
--failfast Fail on any exception and exit (don't mask exceptions)
--no_time Don't log timestamps
--deltas _DELTAS_FILE Specifies a JSON log file to compute result deltas from
--helper _HELPER Specify OS Helper
-nb, --no_banner Chipsec won't display banner information
--skip_config Skip configuration and driver loading
-nl Chipsec won't save logs automatically
chipsec_util options¶
usage: chipsec_util.py [options] <command> [<args>]
Options:
-h, --help Show this message and exit
-v, --verbose Verbose logging
--hal HAL logging
-d, --debug Debug logging
-vv, --vverbose Very verbose logging (verbose + HAL + debug)
-l, --log LOG Output to log file
-p, --platform _PLATFORM Explicitly specify platform code
--pch _PCH Explicitly specify PCH code
-n, --no_driver Chipsec won't need kernel mode functions so don't load chipsec driver
-i, --ignore_platform Run chipsec even if the platform is not recognized (Deprecated)
--helper _HELPER Specify OS Helper
-nb, --no_banner Chipsec won't display banner information
--skip_config Skip configuration and driver loading
-nl Chipsec won't save logs automatically
command Util command to run
args Additional arguments for specific command. All numeric values are in hex. <width> is in {1 - byte, 2 - word, 4 - dword}