pub enum SandboxRuleId {
CommandSubstitution,
RemoteDownload,
PrivilegedCommand,
DestructiveRemoval,
DynamicEvaluation,
}Expand description
What: Identify one stable static PKGBUILD threat-model rule.
Inputs:
- Produced by
crate::sandbox::analyze_pkgbuild_securitywhen matching text is found in a PKGBUILD.
Output:
- A stable serialized
SB00xidentifier suitable for callers to filter or present without relying on an opaque aggregate score.
Details:
- Rules describe potentially risky shell constructs, not proof of malicious intent. They are intentionally deterministic and text-only.
Variants§
CommandSubstitution
SB001: Command substitution can execute a dynamically constructed command.
RemoteDownload
SB002: A download command can retrieve unreviewed remote content.
PrivilegedCommand
SB003: A privilege escalation command expands the impact of a build step.
DestructiveRemoval
SB004: Recursive forced removal can destroy files outside a package build tree.
DynamicEvaluation
SB005: Dynamic evaluation obscures the command text that will run.
Implementations§
Source§impl SandboxRuleId
impl SandboxRuleId
Trait Implementations§
Source§impl Clone for SandboxRuleId
impl Clone for SandboxRuleId
Source§fn clone(&self) -> SandboxRuleId
fn clone(&self) -> SandboxRuleId
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for SandboxRuleId
Source§impl Debug for SandboxRuleId
impl Debug for SandboxRuleId
Source§impl<'de> Deserialize<'de> for SandboxRuleId
impl<'de> Deserialize<'de> for SandboxRuleId
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for SandboxRuleId
Source§impl PartialEq for SandboxRuleId
impl PartialEq for SandboxRuleId
Source§impl Serialize for SandboxRuleId
impl Serialize for SandboxRuleId
impl StructuralPartialEq for SandboxRuleId
Auto Trait Implementations§
impl Freeze for SandboxRuleId
impl RefUnwindSafe for SandboxRuleId
impl Send for SandboxRuleId
impl Sync for SandboxRuleId
impl Unpin for SandboxRuleId
impl UnsafeUnpin for SandboxRuleId
impl UnwindSafe for SandboxRuleId
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.