Commit 126b6556 authored by Wohlgemuth, Jason's avatar Wohlgemuth, Jason
Browse files

feat: Integrate cargo-deny into make task to reduce attack surface and improve security posture

parent 4592a685
Loading
Loading
Loading
Loading
Loading
+0 −34
Original line number Diff line number Diff line
@@ -1820,31 +1820,12 @@ dependencies = [
 "syn 1.0.109",
]

[[package]]
name = "env_filter"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0"
dependencies = [
 "log",
]

[[package]]
name = "env_home"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c7f84e12ccf0a7ddc17a6c41c93326024c42920d7ee630d04950e6926645c0fe"

[[package]]
name = "env_logger"
version = "0.11.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f"
dependencies = [
 "env_filter",
 "log",
]

[[package]]
name = "equivalent"
version = "1.0.2"
@@ -3187,17 +3168,6 @@ dependencies = [
 "serde",
]

[[package]]
name = "is-terminal"
version = "0.4.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46"
dependencies = [
 "hermit-abi",
 "libc",
 "windows-sys 0.61.2",
]

[[package]]
name = "is_executable"
version = "1.0.5"
@@ -9233,14 +9203,11 @@ dependencies = [
 "bon",
 "bytes",
 "clap",
 "clap-verbosity-flag",
 "color-eyre",
 "derive_more",
 "dotenvy",
 "env_logger",
 "exitcode",
 "fancy-regex 0.16.2",
 "is-terminal",
 "is_executable",
 "openssl",
 "owo-colors",
@@ -9254,7 +9221,6 @@ dependencies = [
 "tokio",
 "toml 0.9.8",
 "tracing",
 "tracing-log",
 "tracing-subscriber",
 "uriparse",
 "valuable",
+1 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ debug = true

[workspace.package]
version = "0.0.11"
license = "MIT"
authors = ["Jason Wohlgemuth <wohlgemuthjh@ornl.gov>"]
description = "Parallel Integration and Processing Engine"
documentation = "https://xylem.ornl.gov"
+22 −0
Original line number Diff line number Diff line
@@ -2,6 +2,21 @@
.PHONY: $(TASKS)
-include .env

setup:
	@cargo install $(DEV_DEPENDENCIES)

audit:
	@cargo udeps
	@cargo deny check
	@cargo audit \
		--ignore RUSTSEC-2020-0071 \
		--ignore RUSTSEC-2025-0055 \
		--ignore RUSTSEC-2025-0067 \
		--ignore RUSTSEC-2025-0068 \
		--ignore RUSTSEC-2025-0056 \
		--ignore RUSTSEC-2024-0388 \
		--ignore RUSTSEC-2024-0436

clean:
	@rm -rf ./bin
	@cargo clean
@@ -55,6 +70,13 @@ version:
#
VERSION = `awk -F ' = ' '$$1 ~ /version/ { gsub(/["]/, "", $$2); printf("%s",$$2) }' Cargo.toml`
DEFAULT_TARGET = `awk -F ' = ' '$$1 ~ /default-target/ { gsub(/["]/, "", $$2); printf("%s",$$2) }' Cargo.toml | tr . _`
DEV_DEPENDENCIES = \
	cargo-audit \
	cargo-auditable \
	cargo-deny \
	cargo-nextest \
	cargo-tarpaulin \
	cargo-udeps
TARGETS = \
	i586-unknown-linux-musl \
	i686-unknown-linux-gnu \

deny.toml

0 → 100644
+85 −0
Original line number Diff line number Diff line
[graph]
targets = [
    "x86_64-unknown-linux-musl",
    "x86_64-unknown-linux-gnu",
]
all-features = false
no-default-features = false

[output]
feature-depth = 1

[advisories]
ignore = [
    # [vulnerability] Logging user input may result in poisoning logs with ANSI escape sequences
    "RUSTSEC-2025-0055",
    # [unsound] `libyml::string::yaml_string_extend` is unsound and unmaintained
    "RUSTSEC-2025-0067",
    # [unsound] serde_yml crate is unsound and unmaintained
    "RUSTSEC-2025-0068",
    # adler crate is unmaintained, use adler2 instead
    "RUSTSEC-2025-0056",
    # `derivative` is unmaintained; consider using an alternative
    "RUSTSEC-2024-0388",
    # paste - no longer maintained
    "RUSTSEC-2024-0436",
]

[licenses]
allow = [
    "Apache-2.0",
    # Berkeley Software Distribution License
    "BSD-2-Clause",
    "BSD-3-Clause",
    # Boost Software License 1.0
    "BSL-1.0",
    # Creative Commons CC0 1.0 Universal
    "CC0-1.0",
    # Community Data License Agreement Permissive 2.0
    "CDLA-Permissive-2.0",
    # CEA CNRS INRIA Logiciel Libre License (BSD compatible)
    # Fully compatible with BSD-like licenses (BSD, X11, MIT) - used by Sophia crate
    "CECILL-B",
    # Inetrnet Systems Consortium License
    "ISC",
    # GNU Lesser General Public License v3
    "LGPL-3.0-or-later",
    "MIT",
    # Mozilla Public License 2.0
    # Often termed a “weak copyleft”
    # https://fossa.com/blog/open-source-software-licenses-101-mozilla-public-license-2-0/
    "MPL-2.0",
    # The primary difference between the MIT License and the Unicode License is that the Unicode License expressly covers data and data files
    # https://www.unicode.org/policies/licensing_policy.html
    "Unicode-3.0",
    # Zlib-libpng License
    "Zlib",
]
confidence-threshold = 0.8
exceptions = []

[licenses.private]
ignore = false
registries = []

[bans]
multiple-versions = "warn"
wildcards = "allow"
highlight = "all"
workspace-default-features = "allow"
external-default-features = "allow"
allow = []
deny = []
skip = []
skip-tree = []

[sources]
unknown-registry = "warn"
unknown-git = "warn"
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
allow-git = []

[sources.allow-org]
github = []
gitlab = ["https://code.ornl.gov"]
bitbucket = []
+1 −0
Original line number Diff line number Diff line
[package]
name = "xylem-cli"
version.workspace = true
license.workspace = true
authors.workspace = true
description.workspace = true
documentation.workspace = true
Loading