| #!/bin/bash | |
| # Copyright 2020 The Fuchsia Authors. All rights reserved. | |
| # Use of this source code is governed by a BSD-style license that can be | |
| # found in the LICENSE file. | |
| #### CATEGORY=Run, inspect and debug | |
| ### An extensible security auditing framework and toolkit for Fuchsia. | |
| ## Scrutiny provides a plugin-based architecture for building custom analyzers for | |
| ## Fuchsia. Launching fx scrutiny and typing the help command will list all of the | |
| ## available commands. The set of available commands changes based on which plugins | |
| ## are loaded. | |
| ## | |
| ## USAGE: | |
| ## scrutiny shell [OPTIONS] | |
| ## | |
| ## FLAGS: | |
| ## -h, --help Prints help information | |
| ## -V, --version Prints version information | |
| ## | |
| ## EXAMPLES: | |
| ## To run these examples first launch scrutiny with fx scrutiny from the cmdline. The | |
| ## command line interface supports tab completion and history. Alternatively commands | |
| ## can be run directly from the parent shell using fx scrutiny -c "command". | |
| ## | |
| ## help | |
| ## - Lists all the commands and their basic help information. | |
| ## help packages | |
| ## - Lists help information specifically for the packages command. | |
| ## packages | |
| ## - Lists all of the packages in the current build. | |
| ## search.packages --files libcrypto | |
| ## - Lists all packages that have a file named libcrypto in the current build. | |
| ## tool.package.extract --url fuchsia-pkg://fuchsia.com/vim --output /tmp/vim | |
| ## - Outputs the contents of package vim to /tmp/vim based on your current build. | |
| ## zbi.cmdline | |
| ## - Extracts the cmdline arguments set in the Zircon Boot Image (ZBI). | |
| ## tool.zbi.extract --input fuchsia.zbi --output /tmp/zbi | |
| ## - Extracts a ZBI and its sections to /tmp/zbi. | |
| ## tool.fvm.extract --input fvm.blk --ouput /tmp/fvm | |
| ## - Extracts the internal filesystems from a Fuchsia Volume Manager block | |
| ## engine.plugin.list | |
| ## - Lists the currently loaded Scrutiny plugins. | |
| ## | |
| ## VISUALIZER: | |
| ## The visualizer by default will run at 127.0.0.1:8080 when you launch scrutiny. | |
| ## This small webserver provides access to a component graph visualization along | |
| ## with some basic UIs for searching package contents. | |
| source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/../lib/vars.sh || exit $? | |
| fx-config-read | |
| "${FUCHSIA_BUILD_DIR}/host-tools/ffx" scrutiny "$@" |