@node9/proxy 2.36.0 → 2.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +305 -3
- package/dist/cli.mjs +305 -3
- package/dist/dashboard.mjs +305 -2
- package/dist/index.js +298 -1
- package/dist/index.mjs +298 -1
- package/dist/scan-ink.mjs +303 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -7713,7 +7713,7 @@ function* stringValues(obj, depth = 0) {
|
|
|
7713
7713
|
}
|
|
7714
7714
|
for (const v of Object.values(obj)) yield* stringValues(v, depth + 1);
|
|
7715
7715
|
}
|
|
7716
|
-
var import_picomatch, import_safe_regex2, import_picomatch2, import_mvdan_sh, import_safe_regex22, import_mvdan_sh2, import_safe_regex23, import_crypto2, import_crypto3, import_mvdan_sh3, import_crypto4, import_mvdan_sh4, import_crypto5, aws_default, bash_safe_default, docker_default, filesystem_default, github_default, k8s_default, mongodb_default, postgres_default, project_jail_default, redis_default, BUILTIN_SHIELDS, SSRF_MAX_HOST, METADATA_ADDRESSES, STRICT_TIERS, METADATA_HOSTNAMES, v4Octets, TIER_REASON, CHECK_TEXT, VERDICTS, CHECK_VERDICT_RANK, CHECK_GROUPS, ALL, BUILTIN_DANGEROUS_WORDS, PRODUCT_CHECKS, SHIELD_RULE_NAME, SHIELD_RULES_FOLDED_INTO_PRODUCT, CHECKS, CHECK_BY_ID, LEGACY_TO_ID, PROJECT_JAIL_BLOCK_READ, OVERRIDE_PREFIX, LABEL_WRAPPERS, LEGACY_READERS, INVISIBLE_RE, INVISIBLE_ONE, HOMOGLYPHS, HOMOGLYPH_RE, MAX_BLOBS, MIN_DECODED, BASE64_RUN_RE, HEX_RUN_RE, HEX_ESCAPE_RUN_RE, syntax, sharedParser, MESSAGE_FLAGS, SHELL_INTERPRETERS, DOWNLOAD_CMDS, NORMALIZE_CACHE_MAX, normalizeCache, AST_CACHE_MAX, astCache, PARSE_FAIL, MAX_READING_PAYLOADS, defaultExpansionOps, VARIABLE_READERS, FS_READ_TOOLS, GREP_SHAPE, PATTERN_VERBS, PATTERN_VERB_NAMES, GREP_FILE_OPERANDS, READER_VALUE_LETTERS, FILE_OPERAND_FLAGS, SCP_VALUE_FLAGS, CURL_SOURCE_FLAGS, CURL_VALUE_LETTERS, WGET_VALUE_LETTERS, TAR_VALUE_LETTERS, ZIP_VALUE_LETTERS, RSYNC_VALUE_LETTERS, RSYNC_SKIP, CP_VALUE_LETTERS, INSTALL_VALUE_LETTERS, COPY_VERBS, TAR_MODE_WORD, COPY_VERB_HEADS, FS_OP_PRESCREEN_RE, HOME_CACHE_ALLOWLIST, SENSITIVE_PATH_RULES, AST_FS_REGEX_RULES, SQL_DB_CLIS, SQL_DDL_RE, CHMOD_OPEN_PERM_TOKENS, COMMAND_WRAPPERS, INLINE_INTERPRETER, RUNNER_WRAPPERS, _redirStdinOps, _listOps, WRAPPER_TAKES_TARGET, FIND_EXEC_FLAGS, FS_MUTATION_TOOLS, INTERP_LEADING_TARGET, MAX_PAYLOAD_NESTING, payloadNesting, SCRIPT_RUNNERS, SCRIPT_RUNNER_VALUE_FLAGS, MAX_SCRIPT_OPERANDS, NET_BINARIES, VALUE_FLAGS, HOME_VARIABLES, assignmentTable, currentStmtOffset, PAYLOAD_BUDGET, payloadBudget, seenPayloads, UNANALYSABLE_NESTING, ASSIGNMENT_HEADS, AND_OP, OR_OP, AND_OR_OPS, MAX_CALL_DEPTH, MAX_CALL_WALKS, callDepth, callWalks, FS_OP_CACHE_MAX, fsOpCache, stripDotSlash, REDIR_TRUNCATE_OPS, REDIR_FILE_IN_OPS, REDIR_HEREDOC_OPS, FIND_OPTIONS, COPY_RULE_OF, isReaderWord, positionalAfter, NONE, UNKNOWN, MAX_REGEX_LENGTH, REGEX_CACHE_MAX, regexCache, FORBIDDEN_PATH_SEGMENTS, BASH_TOOL_NAMES, MCP_EXECUTORS, BUILTIN_FIELDS, ARGV_FIELDS, BARE_WORD, MAX_ARGV_CHARACTERS, syntax2, MAX_ALTERNATIVES, MAX_CALL_DEPTH2, MAX_CALL_WALKS2, POSITIONAL, MAX_DEPTH, MAX_PAYLOAD_DEPTH, unique, clone, SENDING_STDIN, DOWNLOAD_SHORT_VALUE, DOWNLOAD_LONG_VALUE, DOWNLOAD_OUTPUT_FLAGS, DOWNLOAD_DIR_FLAGS, base, quoteGlob, asWord, WRITES, READS, DUP_OUT, HERE_STRING, AND, OR, DEFAULT_OPS, SYSTEM_AUTH_FILES, SYSTEM_AUTH_DIRS, PASSWORD_HASH_FILES, STARTUP_NAMES, SYSTEM_DIRS, SYSTEM_DIRS_EXEMPT, UPLOAD_SYSTEM_DIRS, AGENT_INSTRUCTION_FILES, AGENT_INSTRUCTION_DIRS, LEGACY_SYSTEM_PATH_RE, exempt, RANK, BIP39_ENGLISH, BIP39_PUBLIC_VECTORS, indices, lengths, hash, MAX_MNEMONIC_HASHES, SECRET_VIEW_LIMITS, IBAN_LENGTH, IBAN_BBAN_SHAPE, B58, B58_INDEX, XPRV_VERSIONS, B62, CRC32_TABLE, GITHUB_TOKEN_RE, B64URL, B64URL_INDEX, CASK_TWO_ZERO_SUFFIX, CASK_FOUR_ZERO_SUFFIX, CF_ODD, CF_EVEN, SPANISH_LETTERS, HETU_CHARS, MAX, UNTRUSTED_TOOLS, SIGNALS, MENTION_QUOTE_RE, MENTION_WORD_RE, ASSIGNMENT_CONTEXT_RE, DLP_STOPWORDS, REFERENCE_VALUE_RE, IDENTIFIER_VALUE_RE, PATH_VALUE_RE, DOTTED_REFERENCE_RE, CONCATENATION_RE, EMAIL_VALUE_RE, FIXTURE_NAME_RE, DERIVATIVE_NAME_RE, QUERY_CREDENTIAL_VALUE_RE, OTP_SECRET_RE, OTP_DOC_SECRETS, ASSIGNED_SECRET_VALUE_RE, ASSIGNED_SECRET_NAME_RE, NAME_KEYWORD_RE, ARN_CONTEXT_RE, CIPHER_KEY_NAME_RE, CIPHER_NAME_PARTS, CIPHER_KEY_VALUE_RE, LARAVEL_KEY_VALUE_RE, SQL_PASSWORD_VALUE_RE, GRAFANA_KEY_VALUE_RE, BASIC_VALUE_RE, BASIC_PAIR_RE, OTP_CAPTURE_RE, DB_URL_PASSWORD_RE, DLP_PATTERNS, DLP_PATTERNS_GLOBAL, SENSITIVE_PATH_PATTERNS, SENSITIVE_PATH_REGEXES, MAX_DEPTH2, MAX_STRING_BYTES, MAX_JSON_PARSE_BYTES, DLP_SCAN_LIMITS, BATCH_SEPARATOR, ENCODED_RUN_RE, syntax3, NPM_INSTALL_VERBS, NPM_EXEC_VERBS, PNPM_INSTALL_VERBS, YARN_INSTALL_VERBS, BUN_INSTALL_VERBS, DLX_VERBS, NON_REGISTRY_RE, NPM_NAME_RE, EXACT_SEMVER_RE, NPM_VALUE_FLAGS, PNPM_VALUE_FLAGS, YARN_VALUE_FLAGS, BUN_VALUE_FLAGS, PIP_VALUE_FLAGS, UV_VALUE_FLAGS, POETRY_VALUE_FLAGS, PIPENV_VALUE_FLAGS, PIPX_VALUE_FLAGS, PY_SPEC_RE, PY_EXACT_RE, EXACT_VERSION_RE, GEM_NAME_RE, GEM_VALUE_FLAGS, BUNDLE_VALUE_FLAGS, CRATE_NAME_RE, CARGO_ADD_VALUE_FLAGS, CARGO_INSTALL_VALUE_FLAGS, GO_VALUE_FLAGS, GO_PATH_RE, NUGET_NAME_RE, DOTNET_ADD_VALUE_FLAGS, DOTNET_TOOL_VALUE_FLAGS, NUGET_VALUE_FLAGS, MAVEN_COORD_RE, COMPOSER_NAME_RE, COMPOSER_VALUE_FLAGS, EDITOR_HEADS, EXTENSION_ID_RE, MANAGER_HEADS, SHELLS, MAX_NESTING, SHELL_VALUE_FLAGS, TUNING_FIELDS, MAP_GOVERNED, KNOB_GOVERNED, CONFIGURABLE_CHECK_IDS, DEFAULT_EGRESS_ALLOWLIST, PRIVATE_HOST_SUFFIXES, SOURCE_COMMANDS, SINK_COMMANDS, OBFUSCATORS, SENSITIVE_PATTERNS, FLAGS_WITH_VALUES, DESTINATION_ARGS, MCP_DESTINATION_KEYS, ARGUMENT_SCAN_LIMITS, RUN_CHAR, runChar, VERDICT_RANK, SQL_DML_KEYWORDS, MAX_DESTINATIONS, MAX_SCAN_CHARS, EMAIL_RE, URL_RE, IBAN_RE, RECIPIENT_KEYS, DESTRUCTIVE_VERB_RE, PII_EMAIL_RE, PII_SSN_RE, PII_PHONE_RE, PII_CC16_RE, PII_CC15_RE, PII_CC14_RE, PII_CC13_RE, PII_CC19_RE, CARD_PATTERNS, PII_ROUTING_RE, ROUTING_LABEL_RE, ROUTING_LABEL_WINDOW, NATIONAL_ID_SHAPES, NATIONAL_ID_LABEL_RE, NATIONAL_ID_LABEL_WINDOW, NATIONAL_ID_GUARD_RE, PII_IBAN_RE, REALTIME_PII_PATTERNS, MAX_PII_SCAN_BYTES, IBAN_DESTINATION_KEYS, WHOLE_IBAN_RE, JSON_ESCAPE_RE, JSON_ESCAPES, MASKED_KINDS, ENTRY_RE, IBAN_TEXT_RE, EMAIL_TEXT_RE, ACCOUNT_KEY_RE, ACCOUNT_VALUE_RE, MAX_MASK_DEPTH, syntax4, EMPTY, CURL_SEND_FLAGS, WGET_SEND_FLAGS, IWR_SEND_FLAGS, WRITE_METHODS, GH_READ, GH_WRITE, GH_HOSTNAME_FLAGS, GH_REPO_VALUE_FLAGS, GH_API_VALUE_FLAGS, GIT_FETCH, PUBLISH, SHELLS2, OWN_HEADS, MAX_DEPTH3, CWD_CHANGERS, TERMINAL_ESCAPE_RE, CONTROL_CHAR_RE, LOOP_MAX_RECORDS, FINDING_TO_SIGNAL, SCAN_SIGNAL_WEIGHTS, LOOP_THRESHOLD_FOR_WASTE, MAX_BLAST_PATH, DESTRUCTIVE_OP_RE, SENSITIVE_PATH_RE, FILE_TOOLS, CANARY_MIN_LENGTH, MAX_TEXT, MAX_DEPTH4, MAX_JSON_PARSE, URL_DEPTH, B64_DEPTH, MIN_SEGMENT, SEPARATORS, stripSeparators, looksText, CANARY_DECODERS, VIEWS, LONG_OUTPUT_THRESHOLD_BYTES, CANONICAL_EXTRACTOR_VERSION, DEDUPE_PREVIEW_LEN, ENGINE_VERSION;
|
|
7716
|
+
var import_picomatch, import_safe_regex2, import_picomatch2, import_mvdan_sh, import_safe_regex22, import_mvdan_sh2, import_safe_regex23, import_crypto2, import_crypto3, import_mvdan_sh3, import_crypto4, import_mvdan_sh4, import_crypto5, aws_default, bash_safe_default, docker_default, filesystem_default, finance_default, github_default, identity_default, k8s_default, mongodb_default, postgres_default, project_jail_default, publishing_default, redis_default, BUILTIN_SHIELDS, ACTION_SHIELD_NAMES, SSRF_MAX_HOST, METADATA_ADDRESSES, STRICT_TIERS, METADATA_HOSTNAMES, v4Octets, TIER_REASON, CHECK_TEXT, VERDICTS, CHECK_VERDICT_RANK, CHECK_GROUPS, ALL, BUILTIN_DANGEROUS_WORDS, PRODUCT_CHECKS, SHIELD_RULE_NAME, SHIELD_RULES_FOLDED_INTO_PRODUCT, CHECKS, CHECK_BY_ID, LEGACY_TO_ID, PROJECT_JAIL_BLOCK_READ, OVERRIDE_PREFIX, LABEL_WRAPPERS, LEGACY_READERS, INVISIBLE_RE, INVISIBLE_ONE, HOMOGLYPHS, HOMOGLYPH_RE, MAX_BLOBS, MIN_DECODED, BASE64_RUN_RE, HEX_RUN_RE, HEX_ESCAPE_RUN_RE, syntax, sharedParser, MESSAGE_FLAGS, SHELL_INTERPRETERS, DOWNLOAD_CMDS, NORMALIZE_CACHE_MAX, normalizeCache, AST_CACHE_MAX, astCache, PARSE_FAIL, MAX_READING_PAYLOADS, defaultExpansionOps, VARIABLE_READERS, FS_READ_TOOLS, GREP_SHAPE, PATTERN_VERBS, PATTERN_VERB_NAMES, GREP_FILE_OPERANDS, READER_VALUE_LETTERS, FILE_OPERAND_FLAGS, SCP_VALUE_FLAGS, CURL_SOURCE_FLAGS, CURL_VALUE_LETTERS, WGET_VALUE_LETTERS, TAR_VALUE_LETTERS, ZIP_VALUE_LETTERS, RSYNC_VALUE_LETTERS, RSYNC_SKIP, CP_VALUE_LETTERS, INSTALL_VALUE_LETTERS, COPY_VERBS, TAR_MODE_WORD, COPY_VERB_HEADS, FS_OP_PRESCREEN_RE, HOME_CACHE_ALLOWLIST, SENSITIVE_PATH_RULES, AST_FS_REGEX_RULES, SQL_DB_CLIS, SQL_DDL_RE, CHMOD_OPEN_PERM_TOKENS, COMMAND_WRAPPERS, INLINE_INTERPRETER, RUNNER_WRAPPERS, _redirStdinOps, _listOps, WRAPPER_TAKES_TARGET, FIND_EXEC_FLAGS, FS_MUTATION_TOOLS, INTERP_LEADING_TARGET, MAX_PAYLOAD_NESTING, payloadNesting, SCRIPT_RUNNERS, SCRIPT_RUNNER_VALUE_FLAGS, MAX_SCRIPT_OPERANDS, NET_BINARIES, VALUE_FLAGS, HOME_VARIABLES, assignmentTable, currentStmtOffset, PAYLOAD_BUDGET, payloadBudget, seenPayloads, UNANALYSABLE_NESTING, ASSIGNMENT_HEADS, AND_OP, OR_OP, AND_OR_OPS, MAX_CALL_DEPTH, MAX_CALL_WALKS, callDepth, callWalks, FS_OP_CACHE_MAX, fsOpCache, stripDotSlash, REDIR_TRUNCATE_OPS, REDIR_FILE_IN_OPS, REDIR_HEREDOC_OPS, FIND_OPTIONS, COPY_RULE_OF, isReaderWord, positionalAfter, NONE, UNKNOWN, MAX_REGEX_LENGTH, REGEX_CACHE_MAX, regexCache, FORBIDDEN_PATH_SEGMENTS, BASH_TOOL_NAMES, MCP_EXECUTORS, BUILTIN_FIELDS, ARGV_FIELDS, BARE_WORD, MAX_ARGV_CHARACTERS, syntax2, MAX_ALTERNATIVES, MAX_CALL_DEPTH2, MAX_CALL_WALKS2, POSITIONAL, MAX_DEPTH, MAX_PAYLOAD_DEPTH, unique, clone, SENDING_STDIN, DOWNLOAD_SHORT_VALUE, DOWNLOAD_LONG_VALUE, DOWNLOAD_OUTPUT_FLAGS, DOWNLOAD_DIR_FLAGS, base, quoteGlob, asWord, WRITES, READS, DUP_OUT, HERE_STRING, AND, OR, DEFAULT_OPS, SYSTEM_AUTH_FILES, SYSTEM_AUTH_DIRS, PASSWORD_HASH_FILES, STARTUP_NAMES, SYSTEM_DIRS, SYSTEM_DIRS_EXEMPT, UPLOAD_SYSTEM_DIRS, AGENT_INSTRUCTION_FILES, AGENT_INSTRUCTION_DIRS, LEGACY_SYSTEM_PATH_RE, exempt, RANK, BIP39_ENGLISH, BIP39_PUBLIC_VECTORS, indices, lengths, hash, MAX_MNEMONIC_HASHES, SECRET_VIEW_LIMITS, IBAN_LENGTH, IBAN_BBAN_SHAPE, B58, B58_INDEX, XPRV_VERSIONS, B62, CRC32_TABLE, GITHUB_TOKEN_RE, B64URL, B64URL_INDEX, CASK_TWO_ZERO_SUFFIX, CASK_FOUR_ZERO_SUFFIX, CF_ODD, CF_EVEN, SPANISH_LETTERS, HETU_CHARS, MAX, UNTRUSTED_TOOLS, SIGNALS, MENTION_QUOTE_RE, MENTION_WORD_RE, ASSIGNMENT_CONTEXT_RE, DLP_STOPWORDS, REFERENCE_VALUE_RE, IDENTIFIER_VALUE_RE, PATH_VALUE_RE, DOTTED_REFERENCE_RE, CONCATENATION_RE, EMAIL_VALUE_RE, FIXTURE_NAME_RE, DERIVATIVE_NAME_RE, QUERY_CREDENTIAL_VALUE_RE, OTP_SECRET_RE, OTP_DOC_SECRETS, ASSIGNED_SECRET_VALUE_RE, ASSIGNED_SECRET_NAME_RE, NAME_KEYWORD_RE, ARN_CONTEXT_RE, CIPHER_KEY_NAME_RE, CIPHER_NAME_PARTS, CIPHER_KEY_VALUE_RE, LARAVEL_KEY_VALUE_RE, SQL_PASSWORD_VALUE_RE, GRAFANA_KEY_VALUE_RE, BASIC_VALUE_RE, BASIC_PAIR_RE, OTP_CAPTURE_RE, DB_URL_PASSWORD_RE, DLP_PATTERNS, DLP_PATTERNS_GLOBAL, SENSITIVE_PATH_PATTERNS, SENSITIVE_PATH_REGEXES, MAX_DEPTH2, MAX_STRING_BYTES, MAX_JSON_PARSE_BYTES, DLP_SCAN_LIMITS, BATCH_SEPARATOR, ENCODED_RUN_RE, syntax3, NPM_INSTALL_VERBS, NPM_EXEC_VERBS, PNPM_INSTALL_VERBS, YARN_INSTALL_VERBS, BUN_INSTALL_VERBS, DLX_VERBS, NON_REGISTRY_RE, NPM_NAME_RE, EXACT_SEMVER_RE, NPM_VALUE_FLAGS, PNPM_VALUE_FLAGS, YARN_VALUE_FLAGS, BUN_VALUE_FLAGS, PIP_VALUE_FLAGS, UV_VALUE_FLAGS, POETRY_VALUE_FLAGS, PIPENV_VALUE_FLAGS, PIPX_VALUE_FLAGS, PY_SPEC_RE, PY_EXACT_RE, EXACT_VERSION_RE, GEM_NAME_RE, GEM_VALUE_FLAGS, BUNDLE_VALUE_FLAGS, CRATE_NAME_RE, CARGO_ADD_VALUE_FLAGS, CARGO_INSTALL_VALUE_FLAGS, GO_VALUE_FLAGS, GO_PATH_RE, NUGET_NAME_RE, DOTNET_ADD_VALUE_FLAGS, DOTNET_TOOL_VALUE_FLAGS, NUGET_VALUE_FLAGS, MAVEN_COORD_RE, COMPOSER_NAME_RE, COMPOSER_VALUE_FLAGS, EDITOR_HEADS, EXTENSION_ID_RE, MANAGER_HEADS, SHELLS, MAX_NESTING, SHELL_VALUE_FLAGS, TUNING_FIELDS, MAP_GOVERNED, KNOB_GOVERNED, CONFIGURABLE_CHECK_IDS, DEFAULT_EGRESS_ALLOWLIST, PRIVATE_HOST_SUFFIXES, SOURCE_COMMANDS, SINK_COMMANDS, OBFUSCATORS, SENSITIVE_PATTERNS, FLAGS_WITH_VALUES, DESTINATION_ARGS, MCP_DESTINATION_KEYS, ARGUMENT_SCAN_LIMITS, RUN_CHAR, runChar, VERDICT_RANK, SQL_DML_KEYWORDS, MAX_DESTINATIONS, MAX_SCAN_CHARS, EMAIL_RE, URL_RE, IBAN_RE, RECIPIENT_KEYS, DESTRUCTIVE_VERB_RE, PII_EMAIL_RE, PII_SSN_RE, PII_PHONE_RE, PII_CC16_RE, PII_CC15_RE, PII_CC14_RE, PII_CC13_RE, PII_CC19_RE, CARD_PATTERNS, PII_ROUTING_RE, ROUTING_LABEL_RE, ROUTING_LABEL_WINDOW, NATIONAL_ID_SHAPES, NATIONAL_ID_LABEL_RE, NATIONAL_ID_LABEL_WINDOW, NATIONAL_ID_GUARD_RE, PII_IBAN_RE, REALTIME_PII_PATTERNS, MAX_PII_SCAN_BYTES, IBAN_DESTINATION_KEYS, WHOLE_IBAN_RE, JSON_ESCAPE_RE, JSON_ESCAPES, MASKED_KINDS, ENTRY_RE, IBAN_TEXT_RE, EMAIL_TEXT_RE, ACCOUNT_KEY_RE, ACCOUNT_VALUE_RE, MAX_MASK_DEPTH, syntax4, EMPTY, CURL_SEND_FLAGS, WGET_SEND_FLAGS, IWR_SEND_FLAGS, WRITE_METHODS, GH_READ, GH_WRITE, GH_HOSTNAME_FLAGS, GH_REPO_VALUE_FLAGS, GH_API_VALUE_FLAGS, GIT_FETCH, PUBLISH, SHELLS2, OWN_HEADS, MAX_DEPTH3, CWD_CHANGERS, TERMINAL_ESCAPE_RE, CONTROL_CHAR_RE, LOOP_MAX_RECORDS, FINDING_TO_SIGNAL, SCAN_SIGNAL_WEIGHTS, LOOP_THRESHOLD_FOR_WASTE, MAX_BLAST_PATH, DESTRUCTIVE_OP_RE, SENSITIVE_PATH_RE, FILE_TOOLS, CANARY_MIN_LENGTH, MAX_TEXT, MAX_DEPTH4, MAX_JSON_PARSE, URL_DEPTH, B64_DEPTH, MIN_SEGMENT, SEPARATORS, stripSeparators, looksText, CANARY_DECODERS, VIEWS, LONG_OUTPUT_THRESHOLD_BYTES, CANONICAL_EXTRACTOR_VERSION, DEDUPE_PREVIEW_LEN, ENGINE_VERSION;
|
|
7717
7717
|
var init_dist = __esm({
|
|
7718
7718
|
"packages/policy-engine/dist/index.mjs"() {
|
|
7719
7719
|
"use strict";
|
|
@@ -8031,6 +8031,77 @@ var init_dist = __esm({
|
|
|
8031
8031
|
],
|
|
8032
8032
|
dangerousWords: ["wipefs"]
|
|
8033
8033
|
};
|
|
8034
|
+
finance_default = {
|
|
8035
|
+
name: "finance",
|
|
8036
|
+
description: "Asks before money moves through a payment or banking app (refunds, payouts, transfers, charges, invoices), whatever the request said. Reads are never asked about.",
|
|
8037
|
+
aliases: ["payments", "money"],
|
|
8038
|
+
smartRules: [
|
|
8039
|
+
{
|
|
8040
|
+
name: "shield:finance:review-refund",
|
|
8041
|
+
tool: "{,mcp__*__}{create_refund,refund_payment,refund_charge,refund_order,issue_refund}",
|
|
8042
|
+
conditions: [],
|
|
8043
|
+
verdict: "review",
|
|
8044
|
+
reason: "A refund returns money to a customer. node9 asks before money moves, whatever the request said (Finance shield)."
|
|
8045
|
+
},
|
|
8046
|
+
{
|
|
8047
|
+
name: "shield:finance:review-payout",
|
|
8048
|
+
tool: "{,mcp__*__}{create_payout,send_payout,payout,create_payouts_batch}",
|
|
8049
|
+
conditions: [],
|
|
8050
|
+
verdict: "review",
|
|
8051
|
+
reason: "A payout moves the balance to a bank account. node9 asks before money moves (Finance shield)."
|
|
8052
|
+
},
|
|
8053
|
+
{
|
|
8054
|
+
name: "shield:finance:review-transfer",
|
|
8055
|
+
tool: "{,mcp__*__}{transfer_create,transfer_authorization_create,create_transfer,transfer_money,transfer_funds,send_money,wire_transfer,create_wire,schedule_transaction,update_scheduled_transaction,create_transaction}",
|
|
8056
|
+
conditions: [],
|
|
8057
|
+
verdict: "review",
|
|
8058
|
+
reason: "A transfer moves money between accounts. node9 asks before money moves (Finance shield)."
|
|
8059
|
+
},
|
|
8060
|
+
{
|
|
8061
|
+
name: "shield:finance:review-charge",
|
|
8062
|
+
tool: "{,mcp__*__}{create_payment_intent,confirm_payment_intent,capture_payment_intent,create_charge,create_payment,capture_payment,capture_order,create_order,authorize_order,create_checkout_session}",
|
|
8063
|
+
conditions: [],
|
|
8064
|
+
verdict: "review",
|
|
8065
|
+
reason: "This charges a card or captures a payment. node9 asks before money moves (Finance shield)."
|
|
8066
|
+
},
|
|
8067
|
+
{
|
|
8068
|
+
name: "shield:finance:review-payment-link",
|
|
8069
|
+
tool: "{,mcp__*__}{create_payment_link,create_invoice,finalize_invoice,send_invoice,pay_invoice,create_invoice_item}",
|
|
8070
|
+
conditions: [],
|
|
8071
|
+
verdict: "review",
|
|
8072
|
+
reason: "This bills someone or creates a link that charges a card. node9 asks before money moves (Finance shield)."
|
|
8073
|
+
},
|
|
8074
|
+
{
|
|
8075
|
+
name: "shield:finance:review-subscription",
|
|
8076
|
+
tool: "{,mcp__*__}{create_subscription,cancel_subscription,update_subscription,pause_subscription,resume_subscription}",
|
|
8077
|
+
conditions: [],
|
|
8078
|
+
verdict: "review",
|
|
8079
|
+
reason: "A subscription starts or stops recurring charges. node9 asks before money moves (Finance shield)."
|
|
8080
|
+
},
|
|
8081
|
+
{
|
|
8082
|
+
name: "shield:finance:review-dispute",
|
|
8083
|
+
tool: "{,mcp__*__}{update_dispute,accept_dispute,close_dispute}",
|
|
8084
|
+
conditions: [],
|
|
8085
|
+
verdict: "review",
|
|
8086
|
+
reason: "This answers or concedes a chargeback. node9 asks before money moves (Finance shield)."
|
|
8087
|
+
},
|
|
8088
|
+
{
|
|
8089
|
+
name: "shield:finance:review-card",
|
|
8090
|
+
tool: "{,mcp__*__}{issue_card,create_virtual_card,create_issuing_card,update_card_limit}",
|
|
8091
|
+
conditions: [],
|
|
8092
|
+
verdict: "review",
|
|
8093
|
+
reason: "This issues a card or changes its limit. node9 asks before money moves (Finance shield)."
|
|
8094
|
+
},
|
|
8095
|
+
{
|
|
8096
|
+
name: "shield:finance:review-withdraw",
|
|
8097
|
+
tool: "{,mcp__*__}{withdraw,withdraw_funds,create_withdrawal,request_withdrawal}",
|
|
8098
|
+
conditions: [],
|
|
8099
|
+
verdict: "review",
|
|
8100
|
+
reason: "A withdrawal moves money out. node9 asks before money moves (Finance shield)."
|
|
8101
|
+
}
|
|
8102
|
+
],
|
|
8103
|
+
dangerousWords: []
|
|
8104
|
+
};
|
|
8034
8105
|
github_default = {
|
|
8035
8106
|
name: "github",
|
|
8036
8107
|
description: "Protects GitHub repositories from destructive AI operations",
|
|
@@ -8057,6 +8128,56 @@ var init_dist = __esm({
|
|
|
8057
8128
|
],
|
|
8058
8129
|
dangerousWords: []
|
|
8059
8130
|
};
|
|
8131
|
+
identity_default = {
|
|
8132
|
+
name: "identity",
|
|
8133
|
+
description: "Asks before a password, a key, a token, a role or a user changes in an identity or admin app, whatever the request said. Reads are never asked about.",
|
|
8134
|
+
aliases: ["access", "iam"],
|
|
8135
|
+
smartRules: [
|
|
8136
|
+
{
|
|
8137
|
+
name: "shield:identity:review-password",
|
|
8138
|
+
tool: "{,mcp__*__}{change_password,update_password,reset_password,set_password,expire_password,force_password_reset}",
|
|
8139
|
+
conditions: [],
|
|
8140
|
+
verdict: "review",
|
|
8141
|
+
reason: "This changes or resets a password. node9 asks before credentials change, whatever the request said (Identity shield)."
|
|
8142
|
+
},
|
|
8143
|
+
{
|
|
8144
|
+
name: "shield:identity:review-key",
|
|
8145
|
+
tool: "{,mcp__*__}{rotate_key,rotate_api_key,create_api_key,create_token,create_access_token,create_personal_access_token,regenerate_secret,rotate_secret,create_service_account_key,create_credential}",
|
|
8146
|
+
conditions: [],
|
|
8147
|
+
verdict: "review",
|
|
8148
|
+
reason: "This creates or rotates a key, token or secret. node9 asks before credentials change (Identity shield)."
|
|
8149
|
+
},
|
|
8150
|
+
{
|
|
8151
|
+
name: "shield:identity:review-access",
|
|
8152
|
+
tool: "{,mcp__*__}{grant_access,grant_permission,grant_role,revoke_access,revoke_permission,revoke_role,revoke_token,set_permission,set_permissions,set_role,assign_role,update_role,add_permission,remove_permission,attach_policy,detach_policy}",
|
|
8153
|
+
conditions: [],
|
|
8154
|
+
verdict: "review",
|
|
8155
|
+
reason: "This grants or revokes access. node9 asks before access changes (Identity shield)."
|
|
8156
|
+
},
|
|
8157
|
+
{
|
|
8158
|
+
name: "shield:identity:review-membership",
|
|
8159
|
+
tool: "{,mcp__*__}{add_member,remove_member,add_user_to_group,remove_user_from_group,add_collaborator,remove_collaborator,invite_user,invite_member,invite_user_to_slack,invite_users,add_org_member,remove_org_member,add_team_member,remove_team_member}",
|
|
8160
|
+
conditions: [],
|
|
8161
|
+
verdict: "review",
|
|
8162
|
+
reason: "This changes who belongs where. node9 asks before membership changes (Identity shield)."
|
|
8163
|
+
},
|
|
8164
|
+
{
|
|
8165
|
+
name: "shield:identity:review-user",
|
|
8166
|
+
tool: "{,mcp__*__}{create_user,delete_user,deactivate_user,suspend_user,activate_user,unlock_user,make_admin,promote_user,demote_user,update_user_role}",
|
|
8167
|
+
conditions: [],
|
|
8168
|
+
verdict: "review",
|
|
8169
|
+
reason: "This creates, removes or promotes an account. node9 asks before accounts change (Identity shield)."
|
|
8170
|
+
},
|
|
8171
|
+
{
|
|
8172
|
+
name: "shield:identity:review-mfa",
|
|
8173
|
+
tool: "{,mcp__*__}{reset_mfa,reset_factors,disable_mfa,enroll_factor,deactivate_factor}",
|
|
8174
|
+
conditions: [],
|
|
8175
|
+
verdict: "review",
|
|
8176
|
+
reason: "This changes a second factor. node9 asks before credentials change (Identity shield)."
|
|
8177
|
+
}
|
|
8178
|
+
],
|
|
8179
|
+
dangerousWords: []
|
|
8180
|
+
};
|
|
8060
8181
|
k8s_default = {
|
|
8061
8182
|
name: "k8s",
|
|
8062
8183
|
description: "Protects Kubernetes clusters from destructive AI operations",
|
|
@@ -8389,6 +8510,175 @@ var init_dist = __esm({
|
|
|
8389
8510
|
],
|
|
8390
8511
|
dangerousWords: []
|
|
8391
8512
|
};
|
|
8513
|
+
publishing_default = {
|
|
8514
|
+
name: "publishing",
|
|
8515
|
+
description: "Asks before something goes public or ships outside the organisation (a release, a package, a deploy, a post), whatever the request said. The same switch covers the shell commands that publish.",
|
|
8516
|
+
aliases: ["release", "deploy"],
|
|
8517
|
+
smartRules: [
|
|
8518
|
+
{
|
|
8519
|
+
name: "shield:publishing:review-release",
|
|
8520
|
+
tool: "{,mcp__*__}{create_release,publish_release,create_tag_release,update_release,promote_release}",
|
|
8521
|
+
conditions: [],
|
|
8522
|
+
verdict: "review",
|
|
8523
|
+
reason: "A release ships code to everyone who installs it. node9 asks before publishing, whatever the request said (Publishing shield)."
|
|
8524
|
+
},
|
|
8525
|
+
{
|
|
8526
|
+
name: "shield:publishing:review-package",
|
|
8527
|
+
tool: "{,mcp__*__}{publish_package,npm_publish,pypi_upload,publish_version,publish_extension}",
|
|
8528
|
+
conditions: [],
|
|
8529
|
+
verdict: "review",
|
|
8530
|
+
reason: "This publishes a package. node9 asks before publishing (Publishing shield)."
|
|
8531
|
+
},
|
|
8532
|
+
{
|
|
8533
|
+
name: "shield:publishing:review-deploy",
|
|
8534
|
+
tool: "{,mcp__*__}{deploy,create_deployment,deploy_site,promote_deployment,trigger_deploy,deploy_to_production,rollout}",
|
|
8535
|
+
conditions: [],
|
|
8536
|
+
verdict: "review",
|
|
8537
|
+
reason: "This deploys to an environment other people use. node9 asks before publishing (Publishing shield)."
|
|
8538
|
+
},
|
|
8539
|
+
{
|
|
8540
|
+
name: "shield:publishing:review-post",
|
|
8541
|
+
tool: "{,mcp__*__}{post_tweet,create_tweet,post_webpage,publish_post,create_post,publish_page,send_announcement,post_announcement,create_linkedin_post,schedule_post}",
|
|
8542
|
+
conditions: [],
|
|
8543
|
+
verdict: "review",
|
|
8544
|
+
reason: "This posts outside the organisation. node9 asks before publishing (Publishing shield)."
|
|
8545
|
+
},
|
|
8546
|
+
{
|
|
8547
|
+
name: "shield:publishing:review-visibility",
|
|
8548
|
+
tool: "{,mcp__*__}{set_visibility,make_public,set_public,publish_repository,change_visibility,update_visibility}",
|
|
8549
|
+
conditions: [],
|
|
8550
|
+
verdict: "review",
|
|
8551
|
+
reason: "This makes something public. node9 asks before publishing (Publishing shield)."
|
|
8552
|
+
},
|
|
8553
|
+
{
|
|
8554
|
+
name: "shield:publishing:review-npm-publish",
|
|
8555
|
+
tool: "bash",
|
|
8556
|
+
conditions: [
|
|
8557
|
+
{
|
|
8558
|
+
field: "command",
|
|
8559
|
+
op: "matches",
|
|
8560
|
+
value: "(?:^|[^\\w-])(?:npm|pnpm)(?![\\w-])[^;&|]{0,200}?\\s(?:publish)(?![\\w-])",
|
|
8561
|
+
flags: "i"
|
|
8562
|
+
}
|
|
8563
|
+
],
|
|
8564
|
+
verdict: "review",
|
|
8565
|
+
reason: "npm publish ships the package to everyone who installs it. node9 asks before publishing (Publishing shield)."
|
|
8566
|
+
},
|
|
8567
|
+
{
|
|
8568
|
+
name: "shield:publishing:review-yarn-publish",
|
|
8569
|
+
tool: "bash",
|
|
8570
|
+
conditions: [
|
|
8571
|
+
{
|
|
8572
|
+
field: "command",
|
|
8573
|
+
op: "matches",
|
|
8574
|
+
value: "(?:^|[^\\w-])(?:yarn)(?![\\w-])[^;&|]{0,200}?\\s(?:publish)(?![\\w-])",
|
|
8575
|
+
flags: "i"
|
|
8576
|
+
}
|
|
8577
|
+
],
|
|
8578
|
+
verdict: "review",
|
|
8579
|
+
reason: "yarn publish ships the package to everyone who installs it. node9 asks before publishing (Publishing shield)."
|
|
8580
|
+
},
|
|
8581
|
+
{
|
|
8582
|
+
name: "shield:publishing:review-twine-upload",
|
|
8583
|
+
tool: "bash",
|
|
8584
|
+
conditions: [
|
|
8585
|
+
{
|
|
8586
|
+
field: "command",
|
|
8587
|
+
op: "matches",
|
|
8588
|
+
value: "(?:^|[^\\w-])(?:twine)(?![\\w-])[^;&|]{0,200}?\\s(?:upload)(?![\\w-])",
|
|
8589
|
+
flags: "i"
|
|
8590
|
+
}
|
|
8591
|
+
],
|
|
8592
|
+
verdict: "review",
|
|
8593
|
+
reason: "twine upload publishes to PyPI. node9 asks before publishing (Publishing shield)."
|
|
8594
|
+
},
|
|
8595
|
+
{
|
|
8596
|
+
name: "shield:publishing:review-python-publish",
|
|
8597
|
+
tool: "bash",
|
|
8598
|
+
conditions: [
|
|
8599
|
+
{
|
|
8600
|
+
field: "command",
|
|
8601
|
+
op: "matches",
|
|
8602
|
+
value: "(?:^|[^\\w-])(?:poetry|uv|hatch|flit)(?![\\w-])[^;&|]{0,200}?\\s(?:publish)(?![\\w-])",
|
|
8603
|
+
flags: "i"
|
|
8604
|
+
}
|
|
8605
|
+
],
|
|
8606
|
+
verdict: "review",
|
|
8607
|
+
reason: "This publishes the Python package to PyPI. node9 asks before publishing (Publishing shield)."
|
|
8608
|
+
},
|
|
8609
|
+
{
|
|
8610
|
+
name: "shield:publishing:review-release-tool-publish",
|
|
8611
|
+
tool: "bash",
|
|
8612
|
+
conditions: [
|
|
8613
|
+
{
|
|
8614
|
+
field: "command",
|
|
8615
|
+
op: "matches",
|
|
8616
|
+
value: "(?:^|[^\\w-])(?:lerna|changeset|vsce|ovsx)(?![\\w-])[^;&|]{0,200}?\\s(?:publish)(?![\\w-])",
|
|
8617
|
+
flags: "i"
|
|
8618
|
+
}
|
|
8619
|
+
],
|
|
8620
|
+
verdict: "review",
|
|
8621
|
+
reason: "This publishes packages or an editor extension through a release tool. node9 asks before publishing (Publishing shield)."
|
|
8622
|
+
},
|
|
8623
|
+
{
|
|
8624
|
+
name: "shield:publishing:review-cargo-publish",
|
|
8625
|
+
tool: "bash",
|
|
8626
|
+
conditions: [
|
|
8627
|
+
{
|
|
8628
|
+
field: "command",
|
|
8629
|
+
op: "matches",
|
|
8630
|
+
value: "(?:^|[^\\w-])(?:cargo)(?![\\w-])[^;&|]{0,200}?\\s(?:publish)(?![\\w-])",
|
|
8631
|
+
flags: "i"
|
|
8632
|
+
}
|
|
8633
|
+
],
|
|
8634
|
+
verdict: "review",
|
|
8635
|
+
reason: "cargo publish ships the crate. node9 asks before publishing (Publishing shield)."
|
|
8636
|
+
},
|
|
8637
|
+
{
|
|
8638
|
+
name: "shield:publishing:review-gem-push",
|
|
8639
|
+
tool: "bash",
|
|
8640
|
+
conditions: [
|
|
8641
|
+
{
|
|
8642
|
+
field: "command",
|
|
8643
|
+
op: "matches",
|
|
8644
|
+
value: "(?:^|[^\\w-])(?:gem)(?![\\w-])[^;&|]{0,200}?\\s(?:push)(?![\\w-])",
|
|
8645
|
+
flags: "i"
|
|
8646
|
+
}
|
|
8647
|
+
],
|
|
8648
|
+
verdict: "review",
|
|
8649
|
+
reason: "gem push publishes to RubyGems. node9 asks before publishing (Publishing shield)."
|
|
8650
|
+
},
|
|
8651
|
+
{
|
|
8652
|
+
name: "shield:publishing:review-docker-push",
|
|
8653
|
+
tool: "bash",
|
|
8654
|
+
conditions: [
|
|
8655
|
+
{
|
|
8656
|
+
field: "command",
|
|
8657
|
+
op: "matches",
|
|
8658
|
+
value: "(?:^|[^\\w-])(?:docker|podman)(?![\\w-])[^;&|]{0,200}?\\s(?:push|--push)(?![\\w-])",
|
|
8659
|
+
flags: "i"
|
|
8660
|
+
}
|
|
8661
|
+
],
|
|
8662
|
+
verdict: "review",
|
|
8663
|
+
reason: "docker push publishes the image to a registry. node9 asks before publishing (Publishing shield)."
|
|
8664
|
+
},
|
|
8665
|
+
{
|
|
8666
|
+
name: "shield:publishing:review-gh-release",
|
|
8667
|
+
tool: "bash",
|
|
8668
|
+
conditions: [
|
|
8669
|
+
{
|
|
8670
|
+
field: "command",
|
|
8671
|
+
op: "matches",
|
|
8672
|
+
value: "(?:^|[^\\w-])(?:gh)(?![\\w-])[^;&|]{0,200}?\\srelease\\s+(?:create|upload|edit)(?![\\w-])",
|
|
8673
|
+
flags: "i"
|
|
8674
|
+
}
|
|
8675
|
+
],
|
|
8676
|
+
verdict: "review",
|
|
8677
|
+
reason: "gh release ships a release on GitHub. node9 asks before publishing (Publishing shield)."
|
|
8678
|
+
}
|
|
8679
|
+
],
|
|
8680
|
+
dangerousWords: []
|
|
8681
|
+
};
|
|
8392
8682
|
redis_default = {
|
|
8393
8683
|
name: "redis",
|
|
8394
8684
|
description: "Protects Redis instances from destructive AI operations",
|
|
@@ -8473,13 +8763,25 @@ var init_dist = __esm({
|
|
|
8473
8763
|
[bash_safe_default.name]: bash_safe_default,
|
|
8474
8764
|
[docker_default.name]: docker_default,
|
|
8475
8765
|
[filesystem_default.name]: filesystem_default,
|
|
8766
|
+
// Dangerous actions as category shields (node9Firewall#385): an MCP app's
|
|
8767
|
+
// money, credential and publishing tools, asked about whatever the request
|
|
8768
|
+
// said. One glob per rule covers the bare name the gateway sends and the
|
|
8769
|
+
// mcp__<server>__ name the agent hook sends.
|
|
8770
|
+
[finance_default.name]: finance_default,
|
|
8476
8771
|
[github_default.name]: github_default,
|
|
8772
|
+
[identity_default.name]: identity_default,
|
|
8477
8773
|
[k8s_default.name]: k8s_default,
|
|
8478
8774
|
[mongodb_default.name]: mongodb_default,
|
|
8479
8775
|
[postgres_default.name]: postgres_default,
|
|
8480
8776
|
[project_jail_default.name]: project_jail_default,
|
|
8777
|
+
[publishing_default.name]: publishing_default,
|
|
8481
8778
|
[redis_default.name]: redis_default
|
|
8482
8779
|
};
|
|
8780
|
+
ACTION_SHIELD_NAMES = /* @__PURE__ */ new Set([
|
|
8781
|
+
"finance",
|
|
8782
|
+
"identity",
|
|
8783
|
+
"publishing"
|
|
8784
|
+
]);
|
|
8483
8785
|
assertBuiltinShieldRegexesAreSafe();
|
|
8484
8786
|
SSRF_MAX_HOST = 253;
|
|
8485
8787
|
METADATA_ADDRESSES = /* @__PURE__ */ new Set([
|
|
@@ -30962,7 +31264,7 @@ function renderPanelScorecard(input, now = /* @__PURE__ */ new Date()) {
|
|
|
30962
31264
|
const hitShieldSet = new Set(
|
|
30963
31265
|
shieldImpacts.filter((i) => i.totalCatches > 0).map((i) => i.shieldName)
|
|
30964
31266
|
);
|
|
30965
|
-
const zeroHitAll = Object.keys(BUILTIN_SHIELDS).filter((name) => !hitShieldSet.has(name)).sort();
|
|
31267
|
+
const zeroHitAll = Object.keys(BUILTIN_SHIELDS).filter((name) => !hitShieldSet.has(name) && !ACTION_SHIELD_NAMES.has(name)).sort();
|
|
30966
31268
|
const zeroHitBuiltins = zeroHitAll.filter((name) => !enabledSet.has(name));
|
|
30967
31269
|
const zeroHitEnabled = zeroHitAll.filter((name) => enabledSet.has(name));
|
|
30968
31270
|
if (zeroHitEnabled.length > 0) {
|
|
@@ -31454,7 +31756,7 @@ function registerScanCommand(program2) {
|
|
|
31454
31756
|
const hitShieldIds = new Set(
|
|
31455
31757
|
summary.sections.filter((s) => s.sourceType === "shield" && s.shieldKey).map((s) => s.shieldKey)
|
|
31456
31758
|
);
|
|
31457
|
-
const noHitShields = Object.keys(SHIELDS).filter((n) => !hitShieldIds.has(n)).sort();
|
|
31759
|
+
const noHitShields = Object.keys(SHIELDS).filter((n) => !hitShieldIds.has(n) && !ACTION_SHIELD_NAMES.has(n)).sort();
|
|
31458
31760
|
const quietEnabled = noHitShields.filter((n) => enabledShieldSet.has(n));
|
|
31459
31761
|
const emptyShields = noHitShields.filter((n) => !enabledShieldSet.has(n));
|
|
31460
31762
|
if (quietEnabled.length > 0) {
|