@node9/proxy 2.36.0 → 2.37.1
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 +954 -233
- package/dist/cli.mjs +954 -233
- 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/index.mjs
CHANGED
|
@@ -7057,7 +7057,7 @@ function matchCanaryArgs(args, values) {
|
|
|
7057
7057
|
return null;
|
|
7058
7058
|
}
|
|
7059
7059
|
}
|
|
7060
|
-
var 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, 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, BATCH_SEPARATOR, 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, LOOP_MAX_RECORDS, 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;
|
|
7060
|
+
var 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, SSRF_MAX_HOST, METADATA_ADDRESSES, STRICT_TIERS, METADATA_HOSTNAMES, v4Octets, TIER_REASON, CHECK_TEXT, VERDICTS, CHECK_VERDICT_RANK, 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, BATCH_SEPARATOR, 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, LOOP_MAX_RECORDS, 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;
|
|
7061
7061
|
var init_dist = __esm({
|
|
7062
7062
|
"packages/policy-engine/dist/index.mjs"() {
|
|
7063
7063
|
"use strict";
|
|
@@ -7362,6 +7362,77 @@ var init_dist = __esm({
|
|
|
7362
7362
|
],
|
|
7363
7363
|
dangerousWords: ["wipefs"]
|
|
7364
7364
|
};
|
|
7365
|
+
finance_default = {
|
|
7366
|
+
name: "finance",
|
|
7367
|
+
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.",
|
|
7368
|
+
aliases: ["payments", "money"],
|
|
7369
|
+
smartRules: [
|
|
7370
|
+
{
|
|
7371
|
+
name: "shield:finance:review-refund",
|
|
7372
|
+
tool: "{,mcp__*__}{create_refund,refund_payment,refund_charge,refund_order,issue_refund}",
|
|
7373
|
+
conditions: [],
|
|
7374
|
+
verdict: "review",
|
|
7375
|
+
reason: "A refund returns money to a customer. node9 asks before money moves, whatever the request said (Finance shield)."
|
|
7376
|
+
},
|
|
7377
|
+
{
|
|
7378
|
+
name: "shield:finance:review-payout",
|
|
7379
|
+
tool: "{,mcp__*__}{create_payout,send_payout,payout,create_payouts_batch}",
|
|
7380
|
+
conditions: [],
|
|
7381
|
+
verdict: "review",
|
|
7382
|
+
reason: "A payout moves the balance to a bank account. node9 asks before money moves (Finance shield)."
|
|
7383
|
+
},
|
|
7384
|
+
{
|
|
7385
|
+
name: "shield:finance:review-transfer",
|
|
7386
|
+
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}",
|
|
7387
|
+
conditions: [],
|
|
7388
|
+
verdict: "review",
|
|
7389
|
+
reason: "A transfer moves money between accounts. node9 asks before money moves (Finance shield)."
|
|
7390
|
+
},
|
|
7391
|
+
{
|
|
7392
|
+
name: "shield:finance:review-charge",
|
|
7393
|
+
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}",
|
|
7394
|
+
conditions: [],
|
|
7395
|
+
verdict: "review",
|
|
7396
|
+
reason: "This charges a card or captures a payment. node9 asks before money moves (Finance shield)."
|
|
7397
|
+
},
|
|
7398
|
+
{
|
|
7399
|
+
name: "shield:finance:review-payment-link",
|
|
7400
|
+
tool: "{,mcp__*__}{create_payment_link,create_invoice,finalize_invoice,send_invoice,pay_invoice,create_invoice_item}",
|
|
7401
|
+
conditions: [],
|
|
7402
|
+
verdict: "review",
|
|
7403
|
+
reason: "This bills someone or creates a link that charges a card. node9 asks before money moves (Finance shield)."
|
|
7404
|
+
},
|
|
7405
|
+
{
|
|
7406
|
+
name: "shield:finance:review-subscription",
|
|
7407
|
+
tool: "{,mcp__*__}{create_subscription,cancel_subscription,update_subscription,pause_subscription,resume_subscription}",
|
|
7408
|
+
conditions: [],
|
|
7409
|
+
verdict: "review",
|
|
7410
|
+
reason: "A subscription starts or stops recurring charges. node9 asks before money moves (Finance shield)."
|
|
7411
|
+
},
|
|
7412
|
+
{
|
|
7413
|
+
name: "shield:finance:review-dispute",
|
|
7414
|
+
tool: "{,mcp__*__}{update_dispute,accept_dispute,close_dispute}",
|
|
7415
|
+
conditions: [],
|
|
7416
|
+
verdict: "review",
|
|
7417
|
+
reason: "This answers or concedes a chargeback. node9 asks before money moves (Finance shield)."
|
|
7418
|
+
},
|
|
7419
|
+
{
|
|
7420
|
+
name: "shield:finance:review-card",
|
|
7421
|
+
tool: "{,mcp__*__}{issue_card,create_virtual_card,create_issuing_card,update_card_limit}",
|
|
7422
|
+
conditions: [],
|
|
7423
|
+
verdict: "review",
|
|
7424
|
+
reason: "This issues a card or changes its limit. node9 asks before money moves (Finance shield)."
|
|
7425
|
+
},
|
|
7426
|
+
{
|
|
7427
|
+
name: "shield:finance:review-withdraw",
|
|
7428
|
+
tool: "{,mcp__*__}{withdraw,withdraw_funds,create_withdrawal,request_withdrawal}",
|
|
7429
|
+
conditions: [],
|
|
7430
|
+
verdict: "review",
|
|
7431
|
+
reason: "A withdrawal moves money out. node9 asks before money moves (Finance shield)."
|
|
7432
|
+
}
|
|
7433
|
+
],
|
|
7434
|
+
dangerousWords: []
|
|
7435
|
+
};
|
|
7365
7436
|
github_default = {
|
|
7366
7437
|
name: "github",
|
|
7367
7438
|
description: "Protects GitHub repositories from destructive AI operations",
|
|
@@ -7388,6 +7459,56 @@ var init_dist = __esm({
|
|
|
7388
7459
|
],
|
|
7389
7460
|
dangerousWords: []
|
|
7390
7461
|
};
|
|
7462
|
+
identity_default = {
|
|
7463
|
+
name: "identity",
|
|
7464
|
+
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.",
|
|
7465
|
+
aliases: ["access", "iam"],
|
|
7466
|
+
smartRules: [
|
|
7467
|
+
{
|
|
7468
|
+
name: "shield:identity:review-password",
|
|
7469
|
+
tool: "{,mcp__*__}{change_password,update_password,reset_password,set_password,expire_password,force_password_reset}",
|
|
7470
|
+
conditions: [],
|
|
7471
|
+
verdict: "review",
|
|
7472
|
+
reason: "This changes or resets a password. node9 asks before credentials change, whatever the request said (Identity shield)."
|
|
7473
|
+
},
|
|
7474
|
+
{
|
|
7475
|
+
name: "shield:identity:review-key",
|
|
7476
|
+
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}",
|
|
7477
|
+
conditions: [],
|
|
7478
|
+
verdict: "review",
|
|
7479
|
+
reason: "This creates or rotates a key, token or secret. node9 asks before credentials change (Identity shield)."
|
|
7480
|
+
},
|
|
7481
|
+
{
|
|
7482
|
+
name: "shield:identity:review-access",
|
|
7483
|
+
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}",
|
|
7484
|
+
conditions: [],
|
|
7485
|
+
verdict: "review",
|
|
7486
|
+
reason: "This grants or revokes access. node9 asks before access changes (Identity shield)."
|
|
7487
|
+
},
|
|
7488
|
+
{
|
|
7489
|
+
name: "shield:identity:review-membership",
|
|
7490
|
+
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}",
|
|
7491
|
+
conditions: [],
|
|
7492
|
+
verdict: "review",
|
|
7493
|
+
reason: "This changes who belongs where. node9 asks before membership changes (Identity shield)."
|
|
7494
|
+
},
|
|
7495
|
+
{
|
|
7496
|
+
name: "shield:identity:review-user",
|
|
7497
|
+
tool: "{,mcp__*__}{create_user,delete_user,deactivate_user,suspend_user,activate_user,unlock_user,make_admin,promote_user,demote_user,update_user_role}",
|
|
7498
|
+
conditions: [],
|
|
7499
|
+
verdict: "review",
|
|
7500
|
+
reason: "This creates, removes or promotes an account. node9 asks before accounts change (Identity shield)."
|
|
7501
|
+
},
|
|
7502
|
+
{
|
|
7503
|
+
name: "shield:identity:review-mfa",
|
|
7504
|
+
tool: "{,mcp__*__}{reset_mfa,reset_factors,disable_mfa,enroll_factor,deactivate_factor}",
|
|
7505
|
+
conditions: [],
|
|
7506
|
+
verdict: "review",
|
|
7507
|
+
reason: "This changes a second factor. node9 asks before credentials change (Identity shield)."
|
|
7508
|
+
}
|
|
7509
|
+
],
|
|
7510
|
+
dangerousWords: []
|
|
7511
|
+
};
|
|
7391
7512
|
k8s_default = {
|
|
7392
7513
|
name: "k8s",
|
|
7393
7514
|
description: "Protects Kubernetes clusters from destructive AI operations",
|
|
@@ -7720,6 +7841,175 @@ var init_dist = __esm({
|
|
|
7720
7841
|
],
|
|
7721
7842
|
dangerousWords: []
|
|
7722
7843
|
};
|
|
7844
|
+
publishing_default = {
|
|
7845
|
+
name: "publishing",
|
|
7846
|
+
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.",
|
|
7847
|
+
aliases: ["release", "deploy"],
|
|
7848
|
+
smartRules: [
|
|
7849
|
+
{
|
|
7850
|
+
name: "shield:publishing:review-release",
|
|
7851
|
+
tool: "{,mcp__*__}{create_release,publish_release,create_tag_release,update_release,promote_release}",
|
|
7852
|
+
conditions: [],
|
|
7853
|
+
verdict: "review",
|
|
7854
|
+
reason: "A release ships code to everyone who installs it. node9 asks before publishing, whatever the request said (Publishing shield)."
|
|
7855
|
+
},
|
|
7856
|
+
{
|
|
7857
|
+
name: "shield:publishing:review-package",
|
|
7858
|
+
tool: "{,mcp__*__}{publish_package,npm_publish,pypi_upload,publish_version,publish_extension}",
|
|
7859
|
+
conditions: [],
|
|
7860
|
+
verdict: "review",
|
|
7861
|
+
reason: "This publishes a package. node9 asks before publishing (Publishing shield)."
|
|
7862
|
+
},
|
|
7863
|
+
{
|
|
7864
|
+
name: "shield:publishing:review-deploy",
|
|
7865
|
+
tool: "{,mcp__*__}{deploy,create_deployment,deploy_site,promote_deployment,trigger_deploy,deploy_to_production,rollout}",
|
|
7866
|
+
conditions: [],
|
|
7867
|
+
verdict: "review",
|
|
7868
|
+
reason: "This deploys to an environment other people use. node9 asks before publishing (Publishing shield)."
|
|
7869
|
+
},
|
|
7870
|
+
{
|
|
7871
|
+
name: "shield:publishing:review-post",
|
|
7872
|
+
tool: "{,mcp__*__}{post_tweet,create_tweet,post_webpage,publish_post,create_post,publish_page,send_announcement,post_announcement,create_linkedin_post,schedule_post}",
|
|
7873
|
+
conditions: [],
|
|
7874
|
+
verdict: "review",
|
|
7875
|
+
reason: "This posts outside the organisation. node9 asks before publishing (Publishing shield)."
|
|
7876
|
+
},
|
|
7877
|
+
{
|
|
7878
|
+
name: "shield:publishing:review-visibility",
|
|
7879
|
+
tool: "{,mcp__*__}{set_visibility,make_public,set_public,publish_repository,change_visibility,update_visibility}",
|
|
7880
|
+
conditions: [],
|
|
7881
|
+
verdict: "review",
|
|
7882
|
+
reason: "This makes something public. node9 asks before publishing (Publishing shield)."
|
|
7883
|
+
},
|
|
7884
|
+
{
|
|
7885
|
+
name: "shield:publishing:review-npm-publish",
|
|
7886
|
+
tool: "bash",
|
|
7887
|
+
conditions: [
|
|
7888
|
+
{
|
|
7889
|
+
field: "command",
|
|
7890
|
+
op: "matches",
|
|
7891
|
+
value: "(?:^|[^\\w-])(?:npm|pnpm)(?![\\w-])[^;&|]{0,200}?\\s(?:publish)(?![\\w-])",
|
|
7892
|
+
flags: "i"
|
|
7893
|
+
}
|
|
7894
|
+
],
|
|
7895
|
+
verdict: "review",
|
|
7896
|
+
reason: "npm publish ships the package to everyone who installs it. node9 asks before publishing (Publishing shield)."
|
|
7897
|
+
},
|
|
7898
|
+
{
|
|
7899
|
+
name: "shield:publishing:review-yarn-publish",
|
|
7900
|
+
tool: "bash",
|
|
7901
|
+
conditions: [
|
|
7902
|
+
{
|
|
7903
|
+
field: "command",
|
|
7904
|
+
op: "matches",
|
|
7905
|
+
value: "(?:^|[^\\w-])(?:yarn)(?![\\w-])[^;&|]{0,200}?\\s(?:publish)(?![\\w-])",
|
|
7906
|
+
flags: "i"
|
|
7907
|
+
}
|
|
7908
|
+
],
|
|
7909
|
+
verdict: "review",
|
|
7910
|
+
reason: "yarn publish ships the package to everyone who installs it. node9 asks before publishing (Publishing shield)."
|
|
7911
|
+
},
|
|
7912
|
+
{
|
|
7913
|
+
name: "shield:publishing:review-twine-upload",
|
|
7914
|
+
tool: "bash",
|
|
7915
|
+
conditions: [
|
|
7916
|
+
{
|
|
7917
|
+
field: "command",
|
|
7918
|
+
op: "matches",
|
|
7919
|
+
value: "(?:^|[^\\w-])(?:twine)(?![\\w-])[^;&|]{0,200}?\\s(?:upload)(?![\\w-])",
|
|
7920
|
+
flags: "i"
|
|
7921
|
+
}
|
|
7922
|
+
],
|
|
7923
|
+
verdict: "review",
|
|
7924
|
+
reason: "twine upload publishes to PyPI. node9 asks before publishing (Publishing shield)."
|
|
7925
|
+
},
|
|
7926
|
+
{
|
|
7927
|
+
name: "shield:publishing:review-python-publish",
|
|
7928
|
+
tool: "bash",
|
|
7929
|
+
conditions: [
|
|
7930
|
+
{
|
|
7931
|
+
field: "command",
|
|
7932
|
+
op: "matches",
|
|
7933
|
+
value: "(?:^|[^\\w-])(?:poetry|uv|hatch|flit)(?![\\w-])[^;&|]{0,200}?\\s(?:publish)(?![\\w-])",
|
|
7934
|
+
flags: "i"
|
|
7935
|
+
}
|
|
7936
|
+
],
|
|
7937
|
+
verdict: "review",
|
|
7938
|
+
reason: "This publishes the Python package to PyPI. node9 asks before publishing (Publishing shield)."
|
|
7939
|
+
},
|
|
7940
|
+
{
|
|
7941
|
+
name: "shield:publishing:review-release-tool-publish",
|
|
7942
|
+
tool: "bash",
|
|
7943
|
+
conditions: [
|
|
7944
|
+
{
|
|
7945
|
+
field: "command",
|
|
7946
|
+
op: "matches",
|
|
7947
|
+
value: "(?:^|[^\\w-])(?:lerna|changeset|vsce|ovsx)(?![\\w-])[^;&|]{0,200}?\\s(?:publish)(?![\\w-])",
|
|
7948
|
+
flags: "i"
|
|
7949
|
+
}
|
|
7950
|
+
],
|
|
7951
|
+
verdict: "review",
|
|
7952
|
+
reason: "This publishes packages or an editor extension through a release tool. node9 asks before publishing (Publishing shield)."
|
|
7953
|
+
},
|
|
7954
|
+
{
|
|
7955
|
+
name: "shield:publishing:review-cargo-publish",
|
|
7956
|
+
tool: "bash",
|
|
7957
|
+
conditions: [
|
|
7958
|
+
{
|
|
7959
|
+
field: "command",
|
|
7960
|
+
op: "matches",
|
|
7961
|
+
value: "(?:^|[^\\w-])(?:cargo)(?![\\w-])[^;&|]{0,200}?\\s(?:publish)(?![\\w-])",
|
|
7962
|
+
flags: "i"
|
|
7963
|
+
}
|
|
7964
|
+
],
|
|
7965
|
+
verdict: "review",
|
|
7966
|
+
reason: "cargo publish ships the crate. node9 asks before publishing (Publishing shield)."
|
|
7967
|
+
},
|
|
7968
|
+
{
|
|
7969
|
+
name: "shield:publishing:review-gem-push",
|
|
7970
|
+
tool: "bash",
|
|
7971
|
+
conditions: [
|
|
7972
|
+
{
|
|
7973
|
+
field: "command",
|
|
7974
|
+
op: "matches",
|
|
7975
|
+
value: "(?:^|[^\\w-])(?:gem)(?![\\w-])[^;&|]{0,200}?\\s(?:push)(?![\\w-])",
|
|
7976
|
+
flags: "i"
|
|
7977
|
+
}
|
|
7978
|
+
],
|
|
7979
|
+
verdict: "review",
|
|
7980
|
+
reason: "gem push publishes to RubyGems. node9 asks before publishing (Publishing shield)."
|
|
7981
|
+
},
|
|
7982
|
+
{
|
|
7983
|
+
name: "shield:publishing:review-docker-push",
|
|
7984
|
+
tool: "bash",
|
|
7985
|
+
conditions: [
|
|
7986
|
+
{
|
|
7987
|
+
field: "command",
|
|
7988
|
+
op: "matches",
|
|
7989
|
+
value: "(?:^|[^\\w-])(?:docker|podman)(?![\\w-])[^;&|]{0,200}?\\s(?:push|--push)(?![\\w-])",
|
|
7990
|
+
flags: "i"
|
|
7991
|
+
}
|
|
7992
|
+
],
|
|
7993
|
+
verdict: "review",
|
|
7994
|
+
reason: "docker push publishes the image to a registry. node9 asks before publishing (Publishing shield)."
|
|
7995
|
+
},
|
|
7996
|
+
{
|
|
7997
|
+
name: "shield:publishing:review-gh-release",
|
|
7998
|
+
tool: "bash",
|
|
7999
|
+
conditions: [
|
|
8000
|
+
{
|
|
8001
|
+
field: "command",
|
|
8002
|
+
op: "matches",
|
|
8003
|
+
value: "(?:^|[^\\w-])(?:gh)(?![\\w-])[^;&|]{0,200}?\\srelease\\s+(?:create|upload|edit)(?![\\w-])",
|
|
8004
|
+
flags: "i"
|
|
8005
|
+
}
|
|
8006
|
+
],
|
|
8007
|
+
verdict: "review",
|
|
8008
|
+
reason: "gh release ships a release on GitHub. node9 asks before publishing (Publishing shield)."
|
|
8009
|
+
}
|
|
8010
|
+
],
|
|
8011
|
+
dangerousWords: []
|
|
8012
|
+
};
|
|
7723
8013
|
redis_default = {
|
|
7724
8014
|
name: "redis",
|
|
7725
8015
|
description: "Protects Redis instances from destructive AI operations",
|
|
@@ -7804,11 +8094,18 @@ var init_dist = __esm({
|
|
|
7804
8094
|
[bash_safe_default.name]: bash_safe_default,
|
|
7805
8095
|
[docker_default.name]: docker_default,
|
|
7806
8096
|
[filesystem_default.name]: filesystem_default,
|
|
8097
|
+
// Dangerous actions as category shields (node9Firewall#385): an MCP app's
|
|
8098
|
+
// money, credential and publishing tools, asked about whatever the request
|
|
8099
|
+
// said. One glob per rule covers the bare name the gateway sends and the
|
|
8100
|
+
// mcp__<server>__ name the agent hook sends.
|
|
8101
|
+
[finance_default.name]: finance_default,
|
|
7807
8102
|
[github_default.name]: github_default,
|
|
8103
|
+
[identity_default.name]: identity_default,
|
|
7808
8104
|
[k8s_default.name]: k8s_default,
|
|
7809
8105
|
[mongodb_default.name]: mongodb_default,
|
|
7810
8106
|
[postgres_default.name]: postgres_default,
|
|
7811
8107
|
[project_jail_default.name]: project_jail_default,
|
|
8108
|
+
[publishing_default.name]: publishing_default,
|
|
7812
8109
|
[redis_default.name]: redis_default
|
|
7813
8110
|
};
|
|
7814
8111
|
assertBuiltinShieldRegexesAreSafe();
|