OASIS STIX 2.1 cyber threat intelligence objects, bundles, and patterning for MoonBit
moon add 2200732518gjy/moonstix
moon check --target wasm-gc --deny-warn
moon build --target wasm-gc --deny-warn
moon test --target wasm-gclet parsed = @stix.parse_and_validate(text).unwrap()
let doc = parsed.0
let issues = parsed.1
let _ = @stix.parse_pattern("[ipv4-addr:value = '203.0.113.10']")moon run examples/parse_bundle --target wasm-gc
moon run examples/validate_indicator --target wasm-gc
moon run examples/sighting_graph --target wasm-gcpython tools/check_moonc_version.py --minimum 0.10.14
python tools/count_effective_moonbit.py --check-core 2000
moon fmt --check
moon check --target wasm-gc --deny-warn
moon build --target wasm-gc --deny-warn
moon test --target wasm-gcpub(all) enum ComparisonExpr {
Compare(ObjectPath, CompOp, PatternValue)
In(ObjectPath, Array[PatternValue])
Like(ObjectPath, String)
Matches(ObjectPath, String)
IsSubset(ObjectPath, String)
IsSuperset(ObjectPath, String)
Exists(ObjectPath)
Not(ComparisonExpr)
And(ComparisonExpr, ComparisonExpr)
Or(ComparisonExpr, ComparisonExpr)
} derive(Eq, Debug)pub(all) enum PatternExpr {
Observation(ComparisonExpr)
And(PatternExpr, PatternExpr)
Or(PatternExpr, PatternExpr)
FollowedBy(PatternExpr, PatternExpr)
StartStop(PatternExpr, String, String)
Within(PatternExpr, String)
Repeats(PatternExpr, String)
} derive(Eq, Debug)pub(all) struct StixObject {
stix_type : String
id : String
spec_version : String
kind : ObjectKind
properties : Map[String, Json]
raw : Json
} derive(Debug)pub(all) enum ValueShape {
String
Boolean
Integer
NonNegativeInteger
Timestamp
Identifier
IdentifierOf(String)
StringList
IdentifierList
IdentifierListOf(String)
OpenVocab(String)
ClosedVocab(String)
OpenVocabList(String)
Hashes
Dictionary
ObjectList
ExternalReferences
KillChainPhases
GranularMarkings
Extensions
Pattern
HexBinary
IPv4
IPv6
Mac
Email
Url
Any
} derive(Eq, Debug)fn relationship_allowed(source_type : String, rel : String, target_type : String) -> BoolInstall
Download zipOASIS STIX 2.1 cyber threat intelligence objects, bundles, and patterning for MoonBit