Skip to main content

Collection of tools for use with AppThreat/atom.

Project description

atom-tools

Collection of tools for use with slices generated by AppThreat/atom.

Install atom

This program does not generate slices; its purpose is to manipulate slices generated by atom. The current documentation for atom is housed in the AppThreat/atom GitHub repository.

Atom can easily be installed from a native image or via npm npm install @appthreat/atom.

Atom-tools installation

pip install atom-tools

CLI Usage

Atom-tools uses py-poetry/cleo to construct its command-line interface and therefore uses the same sorts of conventions as the package management utility poetry.

To access the commands help menu, enter atom-tools list for a list of available commands.

Individual command options can be accessed with atom help and the command name (e.g. atom help convert).

Atom Tools (version 0.4.0)

Usage:
  command [options] [arguments]

Options:
  -h, --help            Display help for the given command. When no command is given display help for the list command.
  -q, --quiet           Do not output any message.
  -V, --version         Display this application version.
      --ansi            Force ANSI output.
      --no-ansi         Disable ANSI output.
  -n, --no-interaction  Do not ask any interactive question.
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug.

Available commands:
  convert         Convert an atom slice to a different format
  help            Displays help for a command.
  list            Lists commands.
  validate-lines  Check the accuracy of the line numbers in an atom slice.

Features

Convert

The convert command can be used to output an atom slice in a different format. The current capabilities are limited to processing usages in order to generate endpoints for an openapi 3.x paths object. Future iterations will populate the path item objects with more details based on atom slices.

Description:
  Convert an atom slice to a different format

Usage:
  convert [options]

Options:
  -f, --format=FORMAT              Destination format [default: "openapi3.0.1"]
  -u, --usages-slice=USAGES-SLICE  Usages slice file
  -t, --type=TYPE                  Origin type of source on which the atom slice was generated. [default: "java"]
  -o, --output-file=OUTPUT-FILE    Output file [default: "openapi_from_slice.json"]
  -s, --server=SERVER              The server url to be included in the server object.
  -h, --help                       Display help for the given command. When no command is given display help for the list command.
  -q, --quiet                      Do not output any message.
  -V, --version                    Display this application version.
      --ansi                       Force ANSI output.
      --no-ansi                    Disable ANSI output.
  -n, --no-interaction             Do not ask any interactive question.
  -v|vv|vvv, --verbose             Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug.

Help:
  The convert command converts an atom slice to a different format.
      Currently supports outputting an OpenAPI 3.x document based on a usages
      slice.

Example

atom-tools convert -u usages.slices.json -f openapi3.0.1 -o openapi_usages.json -t java -s https://myserver.com

Validate Lines

The validate-lines command checks the accuracy of the line numbers reported by atom against your source files.

Description:
  Check the accuracy of the line numbers in an atom slice.

Usage:
  validate-lines [options]

Options:
  -i, --input-slice=INPUT-SLICE  Slice file to validate. [default: "slices.json"]
  -t, --type=TYPE                Origin type of source on which the atom slice was generated. [default: "java"]
  -d, --base-path=BASE-PATH      This should be the same path that was used by atom when the slice was generated.
  -l, --interval=INTERVAL        Try matching within a range. Ex. slice has line number 567, with interval of 5, we check lines 562-572. Use 0 for exact matching. [default: 5]
  -r, --report=REPORT            Output summary to file.  [default: "output.txt"]
  -j, --export-json=EXPORT-JSON  JSON report file to store invalid lines. Include valid lines as well using -v flag.
  -h, --help                     Display help for the given command. When no command is given display help for the list command.
  -q, --quiet                    Do not output any message.
  -V, --version                  Display this application version.
      --ansi                     Force ANSI output.
      --no-ansi                  Disable ANSI output.
  -n, --no-interaction           Do not ask any interactive question.
  -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug.
  
Help:
  Validate source file line numbers in an atom usages or reachables slice.

Example

atom-tools -v validate-lines -t java -j project_json_report.json -i usages.slices.json -d /home/my_project_dir

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

atom-tools-0.4.0.tar.gz (36.3 kB view details)

Uploaded Source

Built Distribution

atom_tools-0.4.0-py3-none-any.whl (27.8 kB view details)

Uploaded Python 3

File details

Details for the file atom-tools-0.4.0.tar.gz.

File metadata

  • Download URL: atom-tools-0.4.0.tar.gz
  • Upload date:
  • Size: 36.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for atom-tools-0.4.0.tar.gz
Algorithm Hash digest
SHA256 a0b36d36542f1975ce034bc763801b0bab2ca3cbeb1edc720b4a1b7d1f684367
MD5 00939d7d2d6c1464d15341b52b479cfe
BLAKE2b-256 e7a235325b11657744ec8929e4c2a6d5b35431f1d6238f905ba0188b6aec6f33

See more details on using hashes here.

File details

Details for the file atom_tools-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: atom_tools-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 27.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for atom_tools-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 460a58e4b9f9b234ebe2e80f6e3d14d7cf4de984c0f14ebf0309e339cabba4a9
MD5 69d88ac4c096854046c9e82049356607
BLAKE2b-256 6c12e9ee70469a1d1acd0bfbfb149e842fa6268b9f7810ad87d8d3447619d99b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page