2023-12-08 18:16:07 +00:00
|
|
|
import { env } from '@typebot.io/env'
|
|
|
|
|
|
2024-02-22 13:45:15 +01:00
|
|
|
type Params = {
|
|
|
|
|
debug: boolean
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const computeRiskLevel = (typebot: any, params?: Params) => {
|
2023-12-18 09:12:34 +01:00
|
|
|
const stringifiedTypebot = JSON.stringify(typebot)
|
2023-12-08 18:16:07 +00:00
|
|
|
if (
|
2023-12-20 08:02:32 +01:00
|
|
|
env.RADAR_HIGH_RISK_KEYWORDS?.some((keyword) =>
|
2024-02-05 12:38:28 +01:00
|
|
|
new RegExp(`(?<!(https?://|@)[^\\s"]*)\\b${keyword}\\b`, 'gi').test(
|
2023-12-20 08:02:32 +01:00
|
|
|
stringifiedTypebot
|
|
|
|
|
)
|
2023-12-08 18:16:07 +00:00
|
|
|
)
|
2024-02-22 13:45:15 +01:00
|
|
|
) {
|
|
|
|
|
if (params?.debug) {
|
|
|
|
|
console.log(
|
|
|
|
|
'High risk keywords detected:',
|
|
|
|
|
env.RADAR_HIGH_RISK_KEYWORDS?.find((keyword) =>
|
|
|
|
|
new RegExp(`(?<!(https?://|@)[^\\s"]*)\\b${keyword}\\b`, 'gi').test(
|
|
|
|
|
stringifiedTypebot
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
}
|
2023-12-08 18:16:07 +00:00
|
|
|
return 100
|
2024-02-22 13:45:15 +01:00
|
|
|
}
|
|
|
|
|
|
2023-12-18 09:12:34 +01:00
|
|
|
if (
|
2024-01-08 14:34:35 +01:00
|
|
|
env.RADAR_CUMULATIVE_KEYWORDS?.some((set) =>
|
2024-01-10 09:55:02 +01:00
|
|
|
set.every((keyword) =>
|
2024-01-15 10:13:55 +01:00
|
|
|
keyword.some((k) =>
|
2024-02-05 12:38:28 +01:00
|
|
|
new RegExp(`(?<!(https?://|@)[^\\s"]*)\\b${k}\\b`, 'gi').test(
|
2024-01-15 10:13:55 +01:00
|
|
|
stringifiedTypebot
|
|
|
|
|
)
|
2024-01-10 09:55:02 +01:00
|
|
|
)
|
|
|
|
|
)
|
2023-12-19 16:13:21 +01:00
|
|
|
)
|
2024-02-22 13:45:15 +01:00
|
|
|
) {
|
|
|
|
|
if (params?.debug) {
|
|
|
|
|
console.log(
|
|
|
|
|
'Cumulative keywords detected:',
|
|
|
|
|
env.RADAR_CUMULATIVE_KEYWORDS?.find((set) =>
|
|
|
|
|
set.every((keyword) =>
|
|
|
|
|
keyword.some((k) =>
|
|
|
|
|
new RegExp(`(?<!(https?://|@)[^\\s"]*)\\b${k}\\b`, 'gi').test(
|
|
|
|
|
stringifiedTypebot
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
}
|
2023-12-19 16:13:21 +01:00
|
|
|
return 100
|
2024-02-22 13:45:15 +01:00
|
|
|
}
|
2023-12-19 16:13:21 +01:00
|
|
|
if (
|
2023-12-20 08:02:32 +01:00
|
|
|
env.RADAR_INTERMEDIATE_RISK_KEYWORDS?.some((keyword) =>
|
2023-12-18 09:12:34 +01:00
|
|
|
stringifiedTypebot.toLowerCase().includes(keyword)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
return 50
|
|
|
|
|
return 0
|
2023-12-08 18:16:07 +00:00
|
|
|
}
|