@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/index.js CHANGED
@@ -7067,7 +7067,7 @@ function matchCanaryArgs(args, values) {
7067
7067
  return null;
7068
7068
  }
7069
7069
  }
7070
- 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, 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;
7070
+ 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, 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;
7071
7071
  var init_dist = __esm({
7072
7072
  "packages/policy-engine/dist/index.mjs"() {
7073
7073
  "use strict";
@@ -7385,6 +7385,77 @@ var init_dist = __esm({
7385
7385
  ],
7386
7386
  dangerousWords: ["wipefs"]
7387
7387
  };
7388
+ finance_default = {
7389
+ name: "finance",
7390
+ 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.",
7391
+ aliases: ["payments", "money"],
7392
+ smartRules: [
7393
+ {
7394
+ name: "shield:finance:review-refund",
7395
+ tool: "{,mcp__*__}{create_refund,refund_payment,refund_charge,refund_order,issue_refund}",
7396
+ conditions: [],
7397
+ verdict: "review",
7398
+ reason: "A refund returns money to a customer. node9 asks before money moves, whatever the request said (Finance shield)."
7399
+ },
7400
+ {
7401
+ name: "shield:finance:review-payout",
7402
+ tool: "{,mcp__*__}{create_payout,send_payout,payout,create_payouts_batch}",
7403
+ conditions: [],
7404
+ verdict: "review",
7405
+ reason: "A payout moves the balance to a bank account. node9 asks before money moves (Finance shield)."
7406
+ },
7407
+ {
7408
+ name: "shield:finance:review-transfer",
7409
+ 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}",
7410
+ conditions: [],
7411
+ verdict: "review",
7412
+ reason: "A transfer moves money between accounts. node9 asks before money moves (Finance shield)."
7413
+ },
7414
+ {
7415
+ name: "shield:finance:review-charge",
7416
+ 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}",
7417
+ conditions: [],
7418
+ verdict: "review",
7419
+ reason: "This charges a card or captures a payment. node9 asks before money moves (Finance shield)."
7420
+ },
7421
+ {
7422
+ name: "shield:finance:review-payment-link",
7423
+ tool: "{,mcp__*__}{create_payment_link,create_invoice,finalize_invoice,send_invoice,pay_invoice,create_invoice_item}",
7424
+ conditions: [],
7425
+ verdict: "review",
7426
+ reason: "This bills someone or creates a link that charges a card. node9 asks before money moves (Finance shield)."
7427
+ },
7428
+ {
7429
+ name: "shield:finance:review-subscription",
7430
+ tool: "{,mcp__*__}{create_subscription,cancel_subscription,update_subscription,pause_subscription,resume_subscription}",
7431
+ conditions: [],
7432
+ verdict: "review",
7433
+ reason: "A subscription starts or stops recurring charges. node9 asks before money moves (Finance shield)."
7434
+ },
7435
+ {
7436
+ name: "shield:finance:review-dispute",
7437
+ tool: "{,mcp__*__}{update_dispute,accept_dispute,close_dispute}",
7438
+ conditions: [],
7439
+ verdict: "review",
7440
+ reason: "This answers or concedes a chargeback. node9 asks before money moves (Finance shield)."
7441
+ },
7442
+ {
7443
+ name: "shield:finance:review-card",
7444
+ tool: "{,mcp__*__}{issue_card,create_virtual_card,create_issuing_card,update_card_limit}",
7445
+ conditions: [],
7446
+ verdict: "review",
7447
+ reason: "This issues a card or changes its limit. node9 asks before money moves (Finance shield)."
7448
+ },
7449
+ {
7450
+ name: "shield:finance:review-withdraw",
7451
+ tool: "{,mcp__*__}{withdraw,withdraw_funds,create_withdrawal,request_withdrawal}",
7452
+ conditions: [],
7453
+ verdict: "review",
7454
+ reason: "A withdrawal moves money out. node9 asks before money moves (Finance shield)."
7455
+ }
7456
+ ],
7457
+ dangerousWords: []
7458
+ };
7388
7459
  github_default = {
7389
7460
  name: "github",
7390
7461
  description: "Protects GitHub repositories from destructive AI operations",
@@ -7411,6 +7482,56 @@ var init_dist = __esm({
7411
7482
  ],
7412
7483
  dangerousWords: []
7413
7484
  };
7485
+ identity_default = {
7486
+ name: "identity",
7487
+ 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.",
7488
+ aliases: ["access", "iam"],
7489
+ smartRules: [
7490
+ {
7491
+ name: "shield:identity:review-password",
7492
+ tool: "{,mcp__*__}{change_password,update_password,reset_password,set_password,expire_password,force_password_reset}",
7493
+ conditions: [],
7494
+ verdict: "review",
7495
+ reason: "This changes or resets a password. node9 asks before credentials change, whatever the request said (Identity shield)."
7496
+ },
7497
+ {
7498
+ name: "shield:identity:review-key",
7499
+ 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}",
7500
+ conditions: [],
7501
+ verdict: "review",
7502
+ reason: "This creates or rotates a key, token or secret. node9 asks before credentials change (Identity shield)."
7503
+ },
7504
+ {
7505
+ name: "shield:identity:review-access",
7506
+ 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}",
7507
+ conditions: [],
7508
+ verdict: "review",
7509
+ reason: "This grants or revokes access. node9 asks before access changes (Identity shield)."
7510
+ },
7511
+ {
7512
+ name: "shield:identity:review-membership",
7513
+ 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}",
7514
+ conditions: [],
7515
+ verdict: "review",
7516
+ reason: "This changes who belongs where. node9 asks before membership changes (Identity shield)."
7517
+ },
7518
+ {
7519
+ name: "shield:identity:review-user",
7520
+ tool: "{,mcp__*__}{create_user,delete_user,deactivate_user,suspend_user,activate_user,unlock_user,make_admin,promote_user,demote_user,update_user_role}",
7521
+ conditions: [],
7522
+ verdict: "review",
7523
+ reason: "This creates, removes or promotes an account. node9 asks before accounts change (Identity shield)."
7524
+ },
7525
+ {
7526
+ name: "shield:identity:review-mfa",
7527
+ tool: "{,mcp__*__}{reset_mfa,reset_factors,disable_mfa,enroll_factor,deactivate_factor}",
7528
+ conditions: [],
7529
+ verdict: "review",
7530
+ reason: "This changes a second factor. node9 asks before credentials change (Identity shield)."
7531
+ }
7532
+ ],
7533
+ dangerousWords: []
7534
+ };
7414
7535
  k8s_default = {
7415
7536
  name: "k8s",
7416
7537
  description: "Protects Kubernetes clusters from destructive AI operations",
@@ -7743,6 +7864,175 @@ var init_dist = __esm({
7743
7864
  ],
7744
7865
  dangerousWords: []
7745
7866
  };
7867
+ publishing_default = {
7868
+ name: "publishing",
7869
+ 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.",
7870
+ aliases: ["release", "deploy"],
7871
+ smartRules: [
7872
+ {
7873
+ name: "shield:publishing:review-release",
7874
+ tool: "{,mcp__*__}{create_release,publish_release,create_tag_release,update_release,promote_release}",
7875
+ conditions: [],
7876
+ verdict: "review",
7877
+ reason: "A release ships code to everyone who installs it. node9 asks before publishing, whatever the request said (Publishing shield)."
7878
+ },
7879
+ {
7880
+ name: "shield:publishing:review-package",
7881
+ tool: "{,mcp__*__}{publish_package,npm_publish,pypi_upload,publish_version,publish_extension}",
7882
+ conditions: [],
7883
+ verdict: "review",
7884
+ reason: "This publishes a package. node9 asks before publishing (Publishing shield)."
7885
+ },
7886
+ {
7887
+ name: "shield:publishing:review-deploy",
7888
+ tool: "{,mcp__*__}{deploy,create_deployment,deploy_site,promote_deployment,trigger_deploy,deploy_to_production,rollout}",
7889
+ conditions: [],
7890
+ verdict: "review",
7891
+ reason: "This deploys to an environment other people use. node9 asks before publishing (Publishing shield)."
7892
+ },
7893
+ {
7894
+ name: "shield:publishing:review-post",
7895
+ tool: "{,mcp__*__}{post_tweet,create_tweet,post_webpage,publish_post,create_post,publish_page,send_announcement,post_announcement,create_linkedin_post,schedule_post}",
7896
+ conditions: [],
7897
+ verdict: "review",
7898
+ reason: "This posts outside the organisation. node9 asks before publishing (Publishing shield)."
7899
+ },
7900
+ {
7901
+ name: "shield:publishing:review-visibility",
7902
+ tool: "{,mcp__*__}{set_visibility,make_public,set_public,publish_repository,change_visibility,update_visibility}",
7903
+ conditions: [],
7904
+ verdict: "review",
7905
+ reason: "This makes something public. node9 asks before publishing (Publishing shield)."
7906
+ },
7907
+ {
7908
+ name: "shield:publishing:review-npm-publish",
7909
+ tool: "bash",
7910
+ conditions: [
7911
+ {
7912
+ field: "command",
7913
+ op: "matches",
7914
+ value: "(?:^|[^\\w-])(?:npm|pnpm)(?![\\w-])[^;&|]{0,200}?\\s(?:publish)(?![\\w-])",
7915
+ flags: "i"
7916
+ }
7917
+ ],
7918
+ verdict: "review",
7919
+ reason: "npm publish ships the package to everyone who installs it. node9 asks before publishing (Publishing shield)."
7920
+ },
7921
+ {
7922
+ name: "shield:publishing:review-yarn-publish",
7923
+ tool: "bash",
7924
+ conditions: [
7925
+ {
7926
+ field: "command",
7927
+ op: "matches",
7928
+ value: "(?:^|[^\\w-])(?:yarn)(?![\\w-])[^;&|]{0,200}?\\s(?:publish)(?![\\w-])",
7929
+ flags: "i"
7930
+ }
7931
+ ],
7932
+ verdict: "review",
7933
+ reason: "yarn publish ships the package to everyone who installs it. node9 asks before publishing (Publishing shield)."
7934
+ },
7935
+ {
7936
+ name: "shield:publishing:review-twine-upload",
7937
+ tool: "bash",
7938
+ conditions: [
7939
+ {
7940
+ field: "command",
7941
+ op: "matches",
7942
+ value: "(?:^|[^\\w-])(?:twine)(?![\\w-])[^;&|]{0,200}?\\s(?:upload)(?![\\w-])",
7943
+ flags: "i"
7944
+ }
7945
+ ],
7946
+ verdict: "review",
7947
+ reason: "twine upload publishes to PyPI. node9 asks before publishing (Publishing shield)."
7948
+ },
7949
+ {
7950
+ name: "shield:publishing:review-python-publish",
7951
+ tool: "bash",
7952
+ conditions: [
7953
+ {
7954
+ field: "command",
7955
+ op: "matches",
7956
+ value: "(?:^|[^\\w-])(?:poetry|uv|hatch|flit)(?![\\w-])[^;&|]{0,200}?\\s(?:publish)(?![\\w-])",
7957
+ flags: "i"
7958
+ }
7959
+ ],
7960
+ verdict: "review",
7961
+ reason: "This publishes the Python package to PyPI. node9 asks before publishing (Publishing shield)."
7962
+ },
7963
+ {
7964
+ name: "shield:publishing:review-release-tool-publish",
7965
+ tool: "bash",
7966
+ conditions: [
7967
+ {
7968
+ field: "command",
7969
+ op: "matches",
7970
+ value: "(?:^|[^\\w-])(?:lerna|changeset|vsce|ovsx)(?![\\w-])[^;&|]{0,200}?\\s(?:publish)(?![\\w-])",
7971
+ flags: "i"
7972
+ }
7973
+ ],
7974
+ verdict: "review",
7975
+ reason: "This publishes packages or an editor extension through a release tool. node9 asks before publishing (Publishing shield)."
7976
+ },
7977
+ {
7978
+ name: "shield:publishing:review-cargo-publish",
7979
+ tool: "bash",
7980
+ conditions: [
7981
+ {
7982
+ field: "command",
7983
+ op: "matches",
7984
+ value: "(?:^|[^\\w-])(?:cargo)(?![\\w-])[^;&|]{0,200}?\\s(?:publish)(?![\\w-])",
7985
+ flags: "i"
7986
+ }
7987
+ ],
7988
+ verdict: "review",
7989
+ reason: "cargo publish ships the crate. node9 asks before publishing (Publishing shield)."
7990
+ },
7991
+ {
7992
+ name: "shield:publishing:review-gem-push",
7993
+ tool: "bash",
7994
+ conditions: [
7995
+ {
7996
+ field: "command",
7997
+ op: "matches",
7998
+ value: "(?:^|[^\\w-])(?:gem)(?![\\w-])[^;&|]{0,200}?\\s(?:push)(?![\\w-])",
7999
+ flags: "i"
8000
+ }
8001
+ ],
8002
+ verdict: "review",
8003
+ reason: "gem push publishes to RubyGems. node9 asks before publishing (Publishing shield)."
8004
+ },
8005
+ {
8006
+ name: "shield:publishing:review-docker-push",
8007
+ tool: "bash",
8008
+ conditions: [
8009
+ {
8010
+ field: "command",
8011
+ op: "matches",
8012
+ value: "(?:^|[^\\w-])(?:docker|podman)(?![\\w-])[^;&|]{0,200}?\\s(?:push|--push)(?![\\w-])",
8013
+ flags: "i"
8014
+ }
8015
+ ],
8016
+ verdict: "review",
8017
+ reason: "docker push publishes the image to a registry. node9 asks before publishing (Publishing shield)."
8018
+ },
8019
+ {
8020
+ name: "shield:publishing:review-gh-release",
8021
+ tool: "bash",
8022
+ conditions: [
8023
+ {
8024
+ field: "command",
8025
+ op: "matches",
8026
+ value: "(?:^|[^\\w-])(?:gh)(?![\\w-])[^;&|]{0,200}?\\srelease\\s+(?:create|upload|edit)(?![\\w-])",
8027
+ flags: "i"
8028
+ }
8029
+ ],
8030
+ verdict: "review",
8031
+ reason: "gh release ships a release on GitHub. node9 asks before publishing (Publishing shield)."
8032
+ }
8033
+ ],
8034
+ dangerousWords: []
8035
+ };
7746
8036
  redis_default = {
7747
8037
  name: "redis",
7748
8038
  description: "Protects Redis instances from destructive AI operations",
@@ -7827,11 +8117,18 @@ var init_dist = __esm({
7827
8117
  [bash_safe_default.name]: bash_safe_default,
7828
8118
  [docker_default.name]: docker_default,
7829
8119
  [filesystem_default.name]: filesystem_default,
8120
+ // Dangerous actions as category shields (node9Firewall#385): an MCP app's
8121
+ // money, credential and publishing tools, asked about whatever the request
8122
+ // said. One glob per rule covers the bare name the gateway sends and the
8123
+ // mcp__<server>__ name the agent hook sends.
8124
+ [finance_default.name]: finance_default,
7830
8125
  [github_default.name]: github_default,
8126
+ [identity_default.name]: identity_default,
7831
8127
  [k8s_default.name]: k8s_default,
7832
8128
  [mongodb_default.name]: mongodb_default,
7833
8129
  [postgres_default.name]: postgres_default,
7834
8130
  [project_jail_default.name]: project_jail_default,
8131
+ [publishing_default.name]: publishing_default,
7835
8132
  [redis_default.name]: redis_default
7836
8133
  };
7837
8134
  assertBuiltinShieldRegexesAreSafe();