audit stuff

This commit is contained in:
2026-03-05 09:27:59 -06:00
parent c61fe26713
commit a00f7c80fb
5 changed files with 41 additions and 23 deletions

View File

@@ -74,7 +74,7 @@ jsonschema = "0.38"
utoipa = { version = "5.4", features = ["chrono", "uuid"] } utoipa = { version = "5.4", features = ["chrono", "uuid"] }
# JWT # JWT
jsonwebtoken = { version = "10.2", features = ["rust_crypto"] } jsonwebtoken = { version = "10.2", features = ["hmac", "sha2"] }
# Encryption # Encryption
argon2 = "0.5" argon2 = "0.5"

View File

@@ -317,8 +317,13 @@ update:
cargo update cargo update
# Audit dependencies for security issues # Audit dependencies for security issues
# Ignored advisories:
# RUSTSEC-2023-0071: rsa via sqlx-mysql (we only use postgres, no upstream fix)
# RUSTSEC-2025-0134: rustls-pemfile via lapin TLS stack (no alternative)
AUDIT_IGNORE = --ignore RUSTSEC-2023-0071 --ignore RUSTSEC-2025-0134
audit: audit:
cargo audit cargo audit $(AUDIT_IGNORE)
deny: deny:
cargo deny check cargo deny check
@@ -327,7 +332,7 @@ ci-rust:
cargo fmt --all -- --check cargo fmt --all -- --check
cargo clippy --workspace --all-targets --all-features -- -D warnings cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-features cargo test --workspace --all-features
cargo audit cargo audit $(AUDIT_IGNORE)
cargo deny check cargo deny check
ci-web-blocking: ci-web-blocking:

View File

@@ -54,11 +54,10 @@ tokio-tungstenite = { workspace = true }
# Terminal UI # Terminal UI
colored = "2.1" colored = "2.1"
comfy-table = "7.1" comfy-table = "7.1"
indicatif = "0.17"
dialoguer = "0.11" dialoguer = "0.11"
# Authentication # Authentication
jsonwebtoken = { version = "10.2", features = ["rust_crypto"] } jsonwebtoken = { workspace = true }
# Logging # Logging
tracing = { workspace = true } tracing = { workspace = true }

View File

@@ -3,6 +3,7 @@ name = "core-timer-sensor"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2021"
authors = ["Attune Contributors"] authors = ["Attune Contributors"]
license.workspace = true
description = "Standalone timer sensor runtime for Attune core pack" description = "Standalone timer sensor runtime for Attune core pack"
[[bin]] [[bin]]
@@ -11,42 +12,42 @@ path = "src/main.rs"
[dependencies] [dependencies]
# Async runtime # Async runtime
tokio = { version = "1.41", features = ["full"] } tokio = { workspace = true }
async-trait = "0.1" async-trait = { workspace = true }
# Serialization # Serialization
serde = { version = "1.0", features = ["derive"] } serde = { workspace = true }
serde_json = "1.0" serde_json = { workspace = true }
# HTTP client # HTTP client
reqwest = { version = "0.12", features = ["json"] } reqwest = { workspace = true, features = ["json"] }
# Message queue # Message queue
lapin = "2.3" lapin = { workspace = true }
futures = "0.3" futures = { workspace = true }
# Logging # Logging
tracing = "0.1" tracing = { workspace = true }
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] } tracing-subscriber = { workspace = true }
# Error handling # Error handling
anyhow = "1.0" anyhow = { workspace = true }
thiserror = "1.0" thiserror = { workspace = true }
# Time handling # Time handling
chrono = { version = "0.4", features = ["serde"] } chrono = { workspace = true }
# Cron scheduling # Cron scheduling
tokio-cron-scheduler = "0.15" tokio-cron-scheduler = "0.15"
# CLI # CLI
clap = { version = "4.5", features = ["derive"] } clap = { workspace = true, features = ["derive"] }
# Utilities # Utilities
uuid = { version = "1.11", features = ["v4", "serde"] } uuid = { workspace = true }
urlencoding = "2.1" urlencoding = "2.1"
base64 = "0.21" base64 = "0.22"
[dev-dependencies] [dev-dependencies]
mockall = "0.13" mockall = { workspace = true }
tempfile = "3.13" tempfile = { workspace = true }

View File

@@ -4,7 +4,18 @@ all-features = true
[advisories] [advisories]
version = 2 version = 2
yanked = "deny" yanked = "deny"
ignore = [] ignore = [
# rsa v0.9.10 - Marvin Attack timing sidechannel (medium severity)
# Pulled in transitively by sqlx-mysql, which sqlx compiles unconditionally
# for its macro system. We only use PostgreSQL — the rsa code is never
# executed. No upstream fix available.
{ id = "RUSTSEC-2023-0071", reason = "transitive via sqlx-mysql; we only use postgres" },
# rustls-pemfile v2.x - unmaintained
# Transitive dependency via lapin → amq-protocol-tcp → tcp-stream.
# No alternative available until lapin updates its TLS stack.
{ id = "RUSTSEC-2025-0134", reason = "transitive via lapin TLS stack; no alternative" },
]
[licenses] [licenses]
version = 2 version = 2
@@ -21,6 +32,8 @@ allow = [
"CC0-1.0", "CC0-1.0",
"OpenSSL", "OpenSSL",
"BSL-1.0", "BSL-1.0",
"MIT-0",
"CDLA-Permissive-2.0",
] ]
[bans] [bans]