我 99.99% 确信这个规则集过去可以正常工作,但是如果最后的元规则未注释,就会开始抛出错误。这似乎与引擎有关,因为它发生在多个地方。
我 lint 时产生的错误是:
Sep 10 09:42:41.113 [3984] warn: config: Strange rule token: 0.01039
Sep 10 09:42:42.031 [3984] warn: lint: 1 issues detected, please rerun with debug enabled for more information
谁能帮忙告诉我为什么?
body DG_CHINAREGSCAM2a /we.received.an.application/i
describe DG_CHINAREGSCAM2a Words commonly used by China Scammers
score DG_CHINAREGSCAM2a 0.01040
body DG_CHINAREGSCAM2b /their internet keyword/i
describe DG_CHINAREGSCAM2b Words commonly used by China Scammers
score DG_CHINAREGSCAM2b 0.01041
body DG_CHINAREGSCAM2c /China(.*)domain name/i
describe DG_CHINAREGSCAM2c Words commonly used by China Scammers
score DG_CHINAREGSCAM2c 0.01042
body DG_CHINAREGSCAM2d /necessary.to.send.email.to.you/i
describe DG_CHINAREGSCAM2d Words commonly used by China Scammers
score DG_CHINAREGSCAM2d 0.01043
body DG_CHINAREGSCAM2e /company is associated with your company or not/i
describe DG_CHINAREGSCAM2e Words commonly used by China Scammers
score DG_CHINAREGSCAM2e 0.01044
body DG_CHINAREGSCAM2f /conflicts.with.your.company/i
describe DG_CHINAREGSCAM2f Words commonly used by China Scammers
score DG_CHINAREGSCAM2f 0.01045
#meta DG_CHINAREGSCAM2 (( DG_CHINAREGSCAM2a + DG_CHINAREGSCAM2b + DG_CHINAREGSCAM2c + DG_CHINAREGSCAM2d + DG_CHINAREGSCAM2e + DG_CHINAREGSCAM2f) > 0.01039 )
#score DG_CHINAREGSCAM2 3
#describe DG_CHINAREGSCAM2 Email identified as China Registry Scam
在这种特殊情况下,我通过将 + / score 模型更改为使用“||”来解决此规则问题 对于任何规则的匹配,但这不适用于所有情况。
有没有解决这个问题,或者我看不到的明显原因?
linter 建议在算术元规则中使用倍数,而不是分数。
我相信你的规则无论如何都有效.. 除了普通整数之外,没有必要使用任何东西,并且可能意味着编写规则时出现错误,见下文。说明您想要命中的匹配数(例如 2 个)并在必要时通过相乘来应用权重,例如:
它可能看起来像是附加
score
在其他测试上的算术 - 它不是。其他测试的每个引用都计为 1 的倍数: