mobbdev 1.4.16 → 1.4.18

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.
@@ -163,6 +163,7 @@ var init_client_generates = __esm({
163
163
  Language2["Default"] = "DEFAULT";
164
164
  Language2["Dockerfile"] = "DOCKERFILE";
165
165
  Language2["Go"] = "GO";
166
+ Language2["Hcl"] = "HCL";
166
167
  Language2["Java"] = "JAVA";
167
168
  Language2["Js"] = "JS";
168
169
  Language2["Php"] = "PHP";
@@ -217,6 +218,7 @@ var init_client_generates = __esm({
217
218
  IssueLanguage_Enum2["Default"] = "Default";
218
219
  IssueLanguage_Enum2["Dockerfile"] = "Dockerfile";
219
220
  IssueLanguage_Enum2["Go"] = "Go";
221
+ IssueLanguage_Enum2["Hcl"] = "Hcl";
220
222
  IssueLanguage_Enum2["Java"] = "Java";
221
223
  IssueLanguage_Enum2["JavaScript"] = "JavaScript";
222
224
  IssueLanguage_Enum2["Php"] = "PHP";
@@ -231,6 +233,7 @@ var init_client_generates = __esm({
231
233
  IssueType_Enum2["AutoEscapeFalse"] = "AUTO_ESCAPE_FALSE";
232
234
  IssueType_Enum2["AvoidBuiltinShadowing"] = "AVOID_BUILTIN_SHADOWING";
233
235
  IssueType_Enum2["AvoidIdentityComparisonCachedTypes"] = "AVOID_IDENTITY_COMPARISON_CACHED_TYPES";
236
+ IssueType_Enum2["AwsDynamodbPointInTimeRecoveryDisabled"] = "AWS_DYNAMODB_POINT_IN_TIME_RECOVERY_DISABLED";
234
237
  IssueType_Enum2["BufferOverflow"] = "BUFFER_OVERFLOW";
235
238
  IssueType_Enum2["ClientDomStoredCodeInjection"] = "CLIENT_DOM_STORED_CODE_INJECTION";
236
239
  IssueType_Enum2["CmDi"] = "CMDi";
@@ -280,6 +283,7 @@ var init_client_generates = __esm({
280
283
  IssueType_Enum2["InformationExposureViaHeaders"] = "INFORMATION_EXPOSURE_VIA_HEADERS";
281
284
  IssueType_Enum2["InsecureBinderConfiguration"] = "INSECURE_BINDER_CONFIGURATION";
282
285
  IssueType_Enum2["InsecureCookie"] = "INSECURE_COOKIE";
286
+ IssueType_Enum2["InsecureDeserialization"] = "INSECURE_DESERIALIZATION";
283
287
  IssueType_Enum2["InsecurePostmessage"] = "INSECURE_POSTMESSAGE";
284
288
  IssueType_Enum2["InsecureRandomness"] = "INSECURE_RANDOMNESS";
285
289
  IssueType_Enum2["InsecureTmpFile"] = "INSECURE_TMP_FILE";
@@ -346,6 +350,7 @@ var init_client_generates = __esm({
346
350
  IssueType_Enum2["TrustBoundaryViolation"] = "TRUST_BOUNDARY_VIOLATION";
347
351
  IssueType_Enum2["TypeConfusion"] = "TYPE_CONFUSION";
348
352
  IssueType_Enum2["UncheckedLoopCondition"] = "UNCHECKED_LOOP_CONDITION";
353
+ IssueType_Enum2["UnencryptedAwsSqsQueue"] = "UNENCRYPTED_AWS_SQS_QUEUE";
349
354
  IssueType_Enum2["UnnecessaryImports"] = "UNNECESSARY_IMPORTS";
350
355
  IssueType_Enum2["UnsafeDeserialization"] = "UNSAFE_DESERIALIZATION";
351
356
  IssueType_Enum2["UnsafeTargetBlank"] = "UNSAFE_TARGET_BLANK";
@@ -1884,7 +1889,10 @@ var init_getIssueType = __esm({
1884
1889
  ["IMPROPER_VALIDATION_OF_ARRAY_INDEX" /* ImproperValidationOfArrayIndex */]: "Improper Validation of Array Index",
1885
1890
  ["INCORRECT_INTEGER_CONVERSION" /* IncorrectIntegerConversion */]: "Incorrect Integer Conversion",
1886
1891
  ["IMPROPER_CERTIFICATE_VALIDATION" /* ImproperCertificateValidation */]: "Improper Certificate Validation",
1887
- ["OFTEN_MISUSED_BOOLEAN_GET_BOOLEAN" /* OftenMisusedBooleanGetBoolean */]: "Often Misused: Boolean.getBoolean()"
1892
+ ["OFTEN_MISUSED_BOOLEAN_GET_BOOLEAN" /* OftenMisusedBooleanGetBoolean */]: "Often Misused: Boolean.getBoolean()",
1893
+ ["UNENCRYPTED_AWS_SQS_QUEUE" /* UnencryptedAwsSqsQueue */]: "AWS SQS Queue Unencrypted",
1894
+ ["INSECURE_DESERIALIZATION" /* InsecureDeserialization */]: "Insecure Deserialization",
1895
+ ["AWS_DYNAMODB_POINT_IN_TIME_RECOVERY_DISABLED" /* AwsDynamodbPointInTimeRecoveryDisabled */]: "AWS DynamoDB Point-in-Time Recovery Disabled"
1888
1896
  };
1889
1897
  issueTypeZ = z5.nativeEnum(IssueType_Enum);
1890
1898
  getIssueTypeFriendlyString = (issueType) => {
@@ -2863,7 +2871,23 @@ var init_gitBlameTypes = __esm({
2863
2871
  "use strict";
2864
2872
  PrepareGitBlameMessageZ = z19.object({
2865
2873
  reportId: z19.string(),
2866
- repoArchivePath: z19.string()
2874
+ repoArchivePath: z19.string(),
2875
+ // Optional list of file paths to blame. Producers must pick one of two modes:
2876
+ //
2877
+ // - **Omit `filePaths`** = "blame every file in the archive". Used by the
2878
+ // legacy side-effect producer in scm_agent's PrepareRepository handler
2879
+ // (consumers/scm_agent/src/index.ts) where the archive is already
2880
+ // sparse-checkout-narrowed to the report's file set.
2881
+ //
2882
+ // - **Provide `filePaths`** = "filter the walked tree to this set". Used by
2883
+ // report_init's `_ensure_git_blame_enqueued` (Python) when the archive is
2884
+ // a full-repo scan-mode zip that wasn't pre-narrowed.
2885
+ //
2886
+ // Entries should be repo-root-relative paths, but basename-only forms (e.g.
2887
+ // "Login.java" when the actual file is "src/main/java/Login.java") are
2888
+ // tolerated — scm_agent's filter matches exact-or-trailing-basename. Empty
2889
+ // strings are filtered out defensively.
2890
+ filePaths: z19.array(z19.string()).optional()
2867
2891
  });
2868
2892
  PrepareGitBlameResponseMessageZ = z19.object({
2869
2893
  reportId: z19.string()
@@ -3546,6 +3570,7 @@ var init_FilePatterns = __esm({
3546
3570
  ".tf",
3547
3571
  ".hcl",
3548
3572
  ".tfvars",
3573
+ ".tofu",
3549
3574
  // TypeScript
3550
3575
  ".ts",
3551
3576
  ".tsx",
@@ -5108,7 +5133,16 @@ var fixDetailsData = {
5108
5133
  ["IMPROPER_VALIDATION_OF_ARRAY_INDEX" /* ImproperValidationOfArrayIndex */]: void 0,
5109
5134
  ["INCORRECT_INTEGER_CONVERSION" /* IncorrectIntegerConversion */]: void 0,
5110
5135
  ["IMPROPER_CERTIFICATE_VALIDATION" /* ImproperCertificateValidation */]: void 0,
5111
- ["OFTEN_MISUSED_BOOLEAN_GET_BOOLEAN" /* OftenMisusedBooleanGetBoolean */]: void 0
5136
+ ["OFTEN_MISUSED_BOOLEAN_GET_BOOLEAN" /* OftenMisusedBooleanGetBoolean */]: void 0,
5137
+ ["UNENCRYPTED_AWS_SQS_QUEUE" /* UnencryptedAwsSqsQueue */]: {
5138
+ issueDescription: "AWS SQS queue contents are unencrypted; data could be read if the queue is compromised.",
5139
+ fixInstructions: "Enable server-side encryption by setting sqs_managed_sse_enabled = true, or supply a KMS key via kms_master_key_id."
5140
+ },
5141
+ ["INSECURE_DESERIALIZATION" /* InsecureDeserialization */]: void 0,
5142
+ ["AWS_DYNAMODB_POINT_IN_TIME_RECOVERY_DISABLED" /* AwsDynamodbPointInTimeRecoveryDisabled */]: {
5143
+ issueDescription: "AWS DynamoDB table has point-in-time recovery disabled; accidental or malicious writes/deletes cannot be rolled back from a known-good snapshot.",
5144
+ fixInstructions: "Enable point-in-time recovery by adding `point_in_time_recovery { enabled = true }` to the aws_dynamodb_table resource."
5145
+ }
5112
5146
  };
5113
5147
 
5114
5148
  // src/features/analysis/scm/shared/src/commitDescriptionMarkup.ts
@@ -5182,9 +5216,18 @@ var dockerfile_default = vulnerabilities2;
5182
5216
  var vulnerabilities3 = {};
5183
5217
  var go_default = vulnerabilities3;
5184
5218
 
5219
+ // src/features/analysis/scm/shared/src/storedFixData/hcl/index.ts
5220
+ var vulnerabilities4 = {};
5221
+ var hcl_default = vulnerabilities4;
5222
+
5185
5223
  // src/features/analysis/scm/shared/src/storedFixData/java/index.ts
5186
5224
  init_client_generates();
5187
5225
 
5226
+ // src/features/analysis/scm/shared/src/storedFixData/java/insecureDeserialization.ts
5227
+ var insecureDeserialization = {
5228
+ guidance: () => "Added a `@Consumes` annotation restricting the endpoint to common safe media types (JSON, XML, form, multipart, octet-stream, plain text). Requests with `Content-Type: application/x-java-serialized-object` are no longer routed to the RESTEasy `SerializableProvider`. If your endpoint legitimately accepts a content type not in this allowlist (e.g. `image/png`, a custom JSON variant), expect HTTP 415 from those clients and extend the `@Consumes` list to include it."
5229
+ };
5230
+
5188
5231
  // src/features/analysis/scm/shared/src/storedFixData/java/j2eeGetConnection.ts
5189
5232
  var j2eeGetConnection = {
5190
5233
  guidance: () => `This fix replaces direct \`DriverManager.getConnection(...)\` calls with a container-managed JNDI \`DataSource\` lookup. The new code expects the app server (Tomcat / WildFly / WebSphere / etc.) to expose a configured connection pool under the JNDI name you specified.
@@ -5235,13 +5278,14 @@ var systemInformationLeak = {
5235
5278
  };
5236
5279
 
5237
5280
  // src/features/analysis/scm/shared/src/storedFixData/java/index.ts
5238
- var vulnerabilities4 = {
5281
+ var vulnerabilities5 = {
5239
5282
  ["PASSWORD_IN_COMMENT" /* PasswordInComment */]: passwordInComment,
5283
+ ["INSECURE_DESERIALIZATION" /* InsecureDeserialization */]: insecureDeserialization,
5240
5284
  ["J2EE_GET_CONNECTION" /* J2EeGetConnection */]: j2eeGetConnection,
5241
5285
  ["SQL_Injection" /* SqlInjection */]: sqlInjection,
5242
5286
  ["SYSTEM_INFORMATION_LEAK" /* SystemInformationLeak */]: systemInformationLeak
5243
5287
  };
5244
- var java_default = vulnerabilities4;
5288
+ var java_default = vulnerabilities5;
5245
5289
 
5246
5290
  // src/features/analysis/scm/shared/src/storedFixData/javascript/index.ts
5247
5291
  init_client_generates();
@@ -5287,18 +5331,18 @@ var ssrf = {
5287
5331
  };
5288
5332
 
5289
5333
  // src/features/analysis/scm/shared/src/storedFixData/javascript/index.ts
5290
- var vulnerabilities5 = {
5334
+ var vulnerabilities6 = {
5291
5335
  ["SSRF" /* Ssrf */]: ssrf,
5292
5336
  ["HARDCODED_SECRETS" /* HardcodedSecrets */]: hardcodedSecrets,
5293
5337
  ["PASSWORD_IN_COMMENT" /* PasswordInComment */]: passwordInComment,
5294
5338
  ["NO_LIMITS_OR_THROTTLING" /* NoLimitsOrThrottling */]: noLimitsOrThrottling,
5295
5339
  ["CSRF" /* Csrf */]: csrf
5296
5340
  };
5297
- var javascript_default = vulnerabilities5;
5341
+ var javascript_default = vulnerabilities6;
5298
5342
 
5299
5343
  // src/features/analysis/scm/shared/src/storedFixData/php/index.ts
5300
- var vulnerabilities6 = {};
5301
- var php_default = vulnerabilities6;
5344
+ var vulnerabilities7 = {};
5345
+ var php_default = vulnerabilities7;
5302
5346
 
5303
5347
  // src/features/analysis/scm/shared/src/storedFixData/python/index.ts
5304
5348
  init_client_generates();
@@ -5336,12 +5380,12 @@ See the [\`requests\` SSL verification docs](https://requests.readthedocs.io/en/
5336
5380
  };
5337
5381
 
5338
5382
  // src/features/analysis/scm/shared/src/storedFixData/python/index.ts
5339
- var vulnerabilities7 = {
5383
+ var vulnerabilities8 = {
5340
5384
  ["AUTO_ESCAPE_FALSE" /* AutoEscapeFalse */]: autoEscapeFalse,
5341
5385
  ["CSRF" /* Csrf */]: csrf,
5342
5386
  ["IMPROPER_CERTIFICATE_VALIDATION" /* ImproperCertificateValidation */]: improperCertificateValidation
5343
5387
  };
5344
- var python_default = vulnerabilities7;
5388
+ var python_default = vulnerabilities8;
5345
5389
 
5346
5390
  // src/features/analysis/scm/shared/src/storedFixData/sql/index.ts
5347
5391
  init_client_generates();
@@ -5352,17 +5396,17 @@ var defaultRightsInObjDefinition = {
5352
5396
  };
5353
5397
 
5354
5398
  // src/features/analysis/scm/shared/src/storedFixData/sql/index.ts
5355
- var vulnerabilities8 = {
5399
+ var vulnerabilities9 = {
5356
5400
  ["DEFAULT_RIGHTS_IN_OBJ_DEFINITION" /* DefaultRightsInObjDefinition */]: defaultRightsInObjDefinition
5357
5401
  };
5358
- var sql_default = vulnerabilities8;
5402
+ var sql_default = vulnerabilities9;
5359
5403
 
5360
5404
  // src/features/analysis/scm/shared/src/storedFixData/xml/index.ts
5361
5405
  init_client_generates();
5362
- var vulnerabilities9 = {
5406
+ var vulnerabilities10 = {
5363
5407
  ["PASSWORD_IN_COMMENT" /* PasswordInComment */]: passwordInComment
5364
5408
  };
5365
- var xml_default = vulnerabilities9;
5409
+ var xml_default = vulnerabilities10;
5366
5410
 
5367
5411
  // src/features/analysis/scm/shared/src/storedFixData/index.ts
5368
5412
  var StoredFixDataItemZ = z10.object({
@@ -5377,7 +5421,8 @@ var languages = {
5377
5421
  ["Python" /* Python */]: python_default,
5378
5422
  ["PHP" /* Php */]: php_default,
5379
5423
  ["Go" /* Go */]: go_default,
5380
- ["Dockerfile" /* Dockerfile */]: dockerfile_default
5424
+ ["Dockerfile" /* Dockerfile */]: dockerfile_default,
5425
+ ["Hcl" /* Hcl */]: hcl_default
5381
5426
  };
5382
5427
 
5383
5428
  // src/features/analysis/scm/shared/src/storedQuestionData/index.ts
@@ -5680,7 +5725,7 @@ var xxe = {
5680
5725
  };
5681
5726
 
5682
5727
  // src/features/analysis/scm/shared/src/storedQuestionData/csharp/index.ts
5683
- var vulnerabilities10 = {
5728
+ var vulnerabilities11 = {
5684
5729
  ["LOG_FORGING" /* LogForging */]: logForging,
5685
5730
  ["SSRF" /* Ssrf */]: ssrf2,
5686
5731
  ["XXE" /* Xxe */]: xxe,
@@ -5701,7 +5746,7 @@ var vulnerabilities10 = {
5701
5746
  ["SQL_Injection" /* SqlInjection */]: sqlInjection2,
5702
5747
  ["REQUEST_PARAMETERS_BOUND_VIA_INPUT" /* RequestParametersBoundViaInput */]: requestParametersBoundViaInput
5703
5748
  };
5704
- var csharp_default2 = vulnerabilities10;
5749
+ var csharp_default2 = vulnerabilities11;
5705
5750
 
5706
5751
  // src/features/analysis/scm/shared/src/storedQuestionData/go/index.ts
5707
5752
  init_client_generates();
@@ -5734,12 +5779,12 @@ var websocketMissingOriginCheck = {
5734
5779
  };
5735
5780
 
5736
5781
  // src/features/analysis/scm/shared/src/storedQuestionData/go/index.ts
5737
- var vulnerabilities11 = {
5782
+ var vulnerabilities12 = {
5738
5783
  ["LOG_FORGING" /* LogForging */]: logForging2,
5739
5784
  ["MISSING_SSL_MINVERSION" /* MissingSslMinversion */]: missingSslMinversion,
5740
5785
  ["WEBSOCKET_MISSING_ORIGIN_CHECK" /* WebsocketMissingOriginCheck */]: websocketMissingOriginCheck
5741
5786
  };
5742
- var go_default2 = vulnerabilities11;
5787
+ var go_default2 = vulnerabilities12;
5743
5788
 
5744
5789
  // src/features/analysis/scm/shared/src/storedQuestionData/java/index.ts
5745
5790
  init_client_generates();
@@ -6190,7 +6235,7 @@ var xxe2 = {
6190
6235
  };
6191
6236
 
6192
6237
  // src/features/analysis/scm/shared/src/storedQuestionData/java/index.ts
6193
- var vulnerabilities12 = {
6238
+ var vulnerabilities13 = {
6194
6239
  ["SQL_Injection" /* SqlInjection */]: sqlInjection3,
6195
6240
  ["CMDi_relative_path_command" /* CmDiRelativePathCommand */]: relativePathCommand,
6196
6241
  ["CMDi" /* CmDi */]: commandInjection,
@@ -6217,7 +6262,7 @@ var vulnerabilities12 = {
6217
6262
  ["ERRONEOUS_STRING_COMPARE" /* ErroneousStringCompare */]: erroneousStringCompare,
6218
6263
  ["DUPLICATED_STRINGS" /* DuplicatedStrings */]: duplicatedStrings
6219
6264
  };
6220
- var java_default2 = vulnerabilities12;
6265
+ var java_default2 = vulnerabilities13;
6221
6266
 
6222
6267
  // src/features/analysis/scm/shared/src/storedQuestionData/js/index.ts
6223
6268
  init_client_generates();
@@ -6546,7 +6591,7 @@ var xss3 = {
6546
6591
  };
6547
6592
 
6548
6593
  // src/features/analysis/scm/shared/src/storedQuestionData/js/index.ts
6549
- var vulnerabilities13 = {
6594
+ var vulnerabilities14 = {
6550
6595
  ["CMDi" /* CmDi */]: commandInjection2,
6551
6596
  ["GRAPHQL_DEPTH_LIMIT" /* GraphqlDepthLimit */]: graphqlDepthLimit,
6552
6597
  ["INSECURE_RANDOMNESS" /* InsecureRandomness */]: insecureRandomness2,
@@ -6569,7 +6614,7 @@ var vulnerabilities13 = {
6569
6614
  ["HARDCODED_DOMAIN_IN_HTML" /* HardcodedDomainInHtml */]: hardcodedDomainInHtml,
6570
6615
  ["CSRF" /* Csrf */]: csrf2
6571
6616
  };
6572
- var js_default = vulnerabilities13;
6617
+ var js_default = vulnerabilities14;
6573
6618
 
6574
6619
  // src/features/analysis/scm/shared/src/storedQuestionData/python/index.ts
6575
6620
  init_client_generates();
@@ -6643,7 +6688,7 @@ var uncheckedLoopCondition3 = {
6643
6688
  };
6644
6689
 
6645
6690
  // src/features/analysis/scm/shared/src/storedQuestionData/python/index.ts
6646
- var vulnerabilities14 = {
6691
+ var vulnerabilities15 = {
6647
6692
  ["CSRF" /* Csrf */]: csrf2,
6648
6693
  ["LOG_FORGING" /* LogForging */]: logForging5,
6649
6694
  ["OPEN_REDIRECT" /* OpenRedirect */]: openRedirect3,
@@ -6652,7 +6697,7 @@ var vulnerabilities14 = {
6652
6697
  ["MISSING_ENCODING_FILE_OPEN" /* MissingEncodingFileOpen */]: missingEncoding,
6653
6698
  ["SSRF" /* Ssrf */]: ssrf5
6654
6699
  };
6655
- var python_default2 = vulnerabilities14;
6700
+ var python_default2 = vulnerabilities15;
6656
6701
 
6657
6702
  // src/features/analysis/scm/shared/src/storedQuestionData/xml/index.ts
6658
6703
  init_client_generates();
@@ -6669,10 +6714,10 @@ A value too high will cause performance issues up to and including denial of ser
6669
6714
  };
6670
6715
 
6671
6716
  // src/features/analysis/scm/shared/src/storedQuestionData/xml/index.ts
6672
- var vulnerabilities15 = {
6717
+ var vulnerabilities16 = {
6673
6718
  ["WEAK_XML_SCHEMA_UNBOUNDED_OCCURRENCES" /* WeakXmlSchemaUnboundedOccurrences */]: unboundedOccurrences
6674
6719
  };
6675
- var xml_default2 = vulnerabilities15;
6720
+ var xml_default2 = vulnerabilities16;
6676
6721
 
6677
6722
  // src/features/analysis/scm/shared/src/storedQuestionData/yaml/index.ts
6678
6723
  init_client_generates();
@@ -6705,12 +6750,12 @@ var writableFilesystemService = {
6705
6750
  };
6706
6751
 
6707
6752
  // src/features/analysis/scm/shared/src/storedQuestionData/yaml/index.ts
6708
- var vulnerabilities16 = {
6753
+ var vulnerabilities17 = {
6709
6754
  ["PORT_ALL_INTERFACES" /* PortAllInterfaces */]: portAllInterfaces,
6710
6755
  ["WRITABLE_FILESYSTEM_SERVICE" /* WritableFilesystemService */]: writableFilesystemService,
6711
6756
  ["NO_NEW_PRIVILEGES" /* NoNewPrivileges */]: noNewPrivileges
6712
6757
  };
6713
- var yaml_default = vulnerabilities16;
6758
+ var yaml_default = vulnerabilities17;
6714
6759
 
6715
6760
  // src/features/analysis/scm/shared/src/storedQuestionData/index.ts
6716
6761
  var StoredQuestionDataItemZ = z11.object({
package/dist/index.mjs CHANGED
@@ -163,6 +163,7 @@ var init_client_generates = __esm({
163
163
  Language2["Default"] = "DEFAULT";
164
164
  Language2["Dockerfile"] = "DOCKERFILE";
165
165
  Language2["Go"] = "GO";
166
+ Language2["Hcl"] = "HCL";
166
167
  Language2["Java"] = "JAVA";
167
168
  Language2["Js"] = "JS";
168
169
  Language2["Php"] = "PHP";
@@ -217,6 +218,7 @@ var init_client_generates = __esm({
217
218
  IssueLanguage_Enum2["Default"] = "Default";
218
219
  IssueLanguage_Enum2["Dockerfile"] = "Dockerfile";
219
220
  IssueLanguage_Enum2["Go"] = "Go";
221
+ IssueLanguage_Enum2["Hcl"] = "Hcl";
220
222
  IssueLanguage_Enum2["Java"] = "Java";
221
223
  IssueLanguage_Enum2["JavaScript"] = "JavaScript";
222
224
  IssueLanguage_Enum2["Php"] = "PHP";
@@ -231,6 +233,7 @@ var init_client_generates = __esm({
231
233
  IssueType_Enum2["AutoEscapeFalse"] = "AUTO_ESCAPE_FALSE";
232
234
  IssueType_Enum2["AvoidBuiltinShadowing"] = "AVOID_BUILTIN_SHADOWING";
233
235
  IssueType_Enum2["AvoidIdentityComparisonCachedTypes"] = "AVOID_IDENTITY_COMPARISON_CACHED_TYPES";
236
+ IssueType_Enum2["AwsDynamodbPointInTimeRecoveryDisabled"] = "AWS_DYNAMODB_POINT_IN_TIME_RECOVERY_DISABLED";
234
237
  IssueType_Enum2["BufferOverflow"] = "BUFFER_OVERFLOW";
235
238
  IssueType_Enum2["ClientDomStoredCodeInjection"] = "CLIENT_DOM_STORED_CODE_INJECTION";
236
239
  IssueType_Enum2["CmDi"] = "CMDi";
@@ -280,6 +283,7 @@ var init_client_generates = __esm({
280
283
  IssueType_Enum2["InformationExposureViaHeaders"] = "INFORMATION_EXPOSURE_VIA_HEADERS";
281
284
  IssueType_Enum2["InsecureBinderConfiguration"] = "INSECURE_BINDER_CONFIGURATION";
282
285
  IssueType_Enum2["InsecureCookie"] = "INSECURE_COOKIE";
286
+ IssueType_Enum2["InsecureDeserialization"] = "INSECURE_DESERIALIZATION";
283
287
  IssueType_Enum2["InsecurePostmessage"] = "INSECURE_POSTMESSAGE";
284
288
  IssueType_Enum2["InsecureRandomness"] = "INSECURE_RANDOMNESS";
285
289
  IssueType_Enum2["InsecureTmpFile"] = "INSECURE_TMP_FILE";
@@ -346,6 +350,7 @@ var init_client_generates = __esm({
346
350
  IssueType_Enum2["TrustBoundaryViolation"] = "TRUST_BOUNDARY_VIOLATION";
347
351
  IssueType_Enum2["TypeConfusion"] = "TYPE_CONFUSION";
348
352
  IssueType_Enum2["UncheckedLoopCondition"] = "UNCHECKED_LOOP_CONDITION";
353
+ IssueType_Enum2["UnencryptedAwsSqsQueue"] = "UNENCRYPTED_AWS_SQS_QUEUE";
349
354
  IssueType_Enum2["UnnecessaryImports"] = "UNNECESSARY_IMPORTS";
350
355
  IssueType_Enum2["UnsafeDeserialization"] = "UNSAFE_DESERIALIZATION";
351
356
  IssueType_Enum2["UnsafeTargetBlank"] = "UNSAFE_TARGET_BLANK";
@@ -1550,7 +1555,10 @@ var init_getIssueType = __esm({
1550
1555
  ["IMPROPER_VALIDATION_OF_ARRAY_INDEX" /* ImproperValidationOfArrayIndex */]: "Improper Validation of Array Index",
1551
1556
  ["INCORRECT_INTEGER_CONVERSION" /* IncorrectIntegerConversion */]: "Incorrect Integer Conversion",
1552
1557
  ["IMPROPER_CERTIFICATE_VALIDATION" /* ImproperCertificateValidation */]: "Improper Certificate Validation",
1553
- ["OFTEN_MISUSED_BOOLEAN_GET_BOOLEAN" /* OftenMisusedBooleanGetBoolean */]: "Often Misused: Boolean.getBoolean()"
1558
+ ["OFTEN_MISUSED_BOOLEAN_GET_BOOLEAN" /* OftenMisusedBooleanGetBoolean */]: "Often Misused: Boolean.getBoolean()",
1559
+ ["UNENCRYPTED_AWS_SQS_QUEUE" /* UnencryptedAwsSqsQueue */]: "AWS SQS Queue Unencrypted",
1560
+ ["INSECURE_DESERIALIZATION" /* InsecureDeserialization */]: "Insecure Deserialization",
1561
+ ["AWS_DYNAMODB_POINT_IN_TIME_RECOVERY_DISABLED" /* AwsDynamodbPointInTimeRecoveryDisabled */]: "AWS DynamoDB Point-in-Time Recovery Disabled"
1554
1562
  };
1555
1563
  issueTypeZ = z.nativeEnum(IssueType_Enum);
1556
1564
  getIssueTypeFriendlyString = (issueType) => {
@@ -2915,7 +2923,23 @@ var init_gitBlameTypes = __esm({
2915
2923
  "use strict";
2916
2924
  PrepareGitBlameMessageZ = z18.object({
2917
2925
  reportId: z18.string(),
2918
- repoArchivePath: z18.string()
2926
+ repoArchivePath: z18.string(),
2927
+ // Optional list of file paths to blame. Producers must pick one of two modes:
2928
+ //
2929
+ // - **Omit `filePaths`** = "blame every file in the archive". Used by the
2930
+ // legacy side-effect producer in scm_agent's PrepareRepository handler
2931
+ // (consumers/scm_agent/src/index.ts) where the archive is already
2932
+ // sparse-checkout-narrowed to the report's file set.
2933
+ //
2934
+ // - **Provide `filePaths`** = "filter the walked tree to this set". Used by
2935
+ // report_init's `_ensure_git_blame_enqueued` (Python) when the archive is
2936
+ // a full-repo scan-mode zip that wasn't pre-narrowed.
2937
+ //
2938
+ // Entries should be repo-root-relative paths, but basename-only forms (e.g.
2939
+ // "Login.java" when the actual file is "src/main/java/Login.java") are
2940
+ // tolerated — scm_agent's filter matches exact-or-trailing-basename. Empty
2941
+ // strings are filtered out defensively.
2942
+ filePaths: z18.array(z18.string()).optional()
2919
2943
  });
2920
2944
  PrepareGitBlameResponseMessageZ = z18.object({
2921
2945
  reportId: z18.string()
@@ -3598,6 +3622,7 @@ var init_FilePatterns = __esm({
3598
3622
  ".tf",
3599
3623
  ".hcl",
3600
3624
  ".tfvars",
3625
+ ".tofu",
3601
3626
  // TypeScript
3602
3627
  ".ts",
3603
3628
  ".tsx",
@@ -4812,7 +4837,16 @@ var fixDetailsData = {
4812
4837
  ["IMPROPER_VALIDATION_OF_ARRAY_INDEX" /* ImproperValidationOfArrayIndex */]: void 0,
4813
4838
  ["INCORRECT_INTEGER_CONVERSION" /* IncorrectIntegerConversion */]: void 0,
4814
4839
  ["IMPROPER_CERTIFICATE_VALIDATION" /* ImproperCertificateValidation */]: void 0,
4815
- ["OFTEN_MISUSED_BOOLEAN_GET_BOOLEAN" /* OftenMisusedBooleanGetBoolean */]: void 0
4840
+ ["OFTEN_MISUSED_BOOLEAN_GET_BOOLEAN" /* OftenMisusedBooleanGetBoolean */]: void 0,
4841
+ ["UNENCRYPTED_AWS_SQS_QUEUE" /* UnencryptedAwsSqsQueue */]: {
4842
+ issueDescription: "AWS SQS queue contents are unencrypted; data could be read if the queue is compromised.",
4843
+ fixInstructions: "Enable server-side encryption by setting sqs_managed_sse_enabled = true, or supply a KMS key via kms_master_key_id."
4844
+ },
4845
+ ["INSECURE_DESERIALIZATION" /* InsecureDeserialization */]: void 0,
4846
+ ["AWS_DYNAMODB_POINT_IN_TIME_RECOVERY_DISABLED" /* AwsDynamodbPointInTimeRecoveryDisabled */]: {
4847
+ issueDescription: "AWS DynamoDB table has point-in-time recovery disabled; accidental or malicious writes/deletes cannot be rolled back from a known-good snapshot.",
4848
+ fixInstructions: "Enable point-in-time recovery by adding `point_in_time_recovery { enabled = true }` to the aws_dynamodb_table resource."
4849
+ }
4816
4850
  };
4817
4851
 
4818
4852
  // src/features/analysis/scm/shared/src/commitDescriptionMarkup.ts
@@ -4974,9 +5008,18 @@ var dockerfile_default = vulnerabilities2;
4974
5008
  var vulnerabilities3 = {};
4975
5009
  var go_default = vulnerabilities3;
4976
5010
 
5011
+ // src/features/analysis/scm/shared/src/storedFixData/hcl/index.ts
5012
+ var vulnerabilities4 = {};
5013
+ var hcl_default = vulnerabilities4;
5014
+
4977
5015
  // src/features/analysis/scm/shared/src/storedFixData/java/index.ts
4978
5016
  init_client_generates();
4979
5017
 
5018
+ // src/features/analysis/scm/shared/src/storedFixData/java/insecureDeserialization.ts
5019
+ var insecureDeserialization = {
5020
+ guidance: () => "Added a `@Consumes` annotation restricting the endpoint to common safe media types (JSON, XML, form, multipart, octet-stream, plain text). Requests with `Content-Type: application/x-java-serialized-object` are no longer routed to the RESTEasy `SerializableProvider`. If your endpoint legitimately accepts a content type not in this allowlist (e.g. `image/png`, a custom JSON variant), expect HTTP 415 from those clients and extend the `@Consumes` list to include it."
5021
+ };
5022
+
4980
5023
  // src/features/analysis/scm/shared/src/storedFixData/java/j2eeGetConnection.ts
4981
5024
  var j2eeGetConnection = {
4982
5025
  guidance: () => `This fix replaces direct \`DriverManager.getConnection(...)\` calls with a container-managed JNDI \`DataSource\` lookup. The new code expects the app server (Tomcat / WildFly / WebSphere / etc.) to expose a configured connection pool under the JNDI name you specified.
@@ -5027,13 +5070,14 @@ var systemInformationLeak = {
5027
5070
  };
5028
5071
 
5029
5072
  // src/features/analysis/scm/shared/src/storedFixData/java/index.ts
5030
- var vulnerabilities4 = {
5073
+ var vulnerabilities5 = {
5031
5074
  ["PASSWORD_IN_COMMENT" /* PasswordInComment */]: passwordInComment,
5075
+ ["INSECURE_DESERIALIZATION" /* InsecureDeserialization */]: insecureDeserialization,
5032
5076
  ["J2EE_GET_CONNECTION" /* J2EeGetConnection */]: j2eeGetConnection,
5033
5077
  ["SQL_Injection" /* SqlInjection */]: sqlInjection,
5034
5078
  ["SYSTEM_INFORMATION_LEAK" /* SystemInformationLeak */]: systemInformationLeak
5035
5079
  };
5036
- var java_default = vulnerabilities4;
5080
+ var java_default = vulnerabilities5;
5037
5081
 
5038
5082
  // src/features/analysis/scm/shared/src/storedFixData/javascript/index.ts
5039
5083
  init_client_generates();
@@ -5079,18 +5123,18 @@ var ssrf = {
5079
5123
  };
5080
5124
 
5081
5125
  // src/features/analysis/scm/shared/src/storedFixData/javascript/index.ts
5082
- var vulnerabilities5 = {
5126
+ var vulnerabilities6 = {
5083
5127
  ["SSRF" /* Ssrf */]: ssrf,
5084
5128
  ["HARDCODED_SECRETS" /* HardcodedSecrets */]: hardcodedSecrets,
5085
5129
  ["PASSWORD_IN_COMMENT" /* PasswordInComment */]: passwordInComment,
5086
5130
  ["NO_LIMITS_OR_THROTTLING" /* NoLimitsOrThrottling */]: noLimitsOrThrottling,
5087
5131
  ["CSRF" /* Csrf */]: csrf
5088
5132
  };
5089
- var javascript_default = vulnerabilities5;
5133
+ var javascript_default = vulnerabilities6;
5090
5134
 
5091
5135
  // src/features/analysis/scm/shared/src/storedFixData/php/index.ts
5092
- var vulnerabilities6 = {};
5093
- var php_default = vulnerabilities6;
5136
+ var vulnerabilities7 = {};
5137
+ var php_default = vulnerabilities7;
5094
5138
 
5095
5139
  // src/features/analysis/scm/shared/src/storedFixData/python/index.ts
5096
5140
  init_client_generates();
@@ -5128,12 +5172,12 @@ See the [\`requests\` SSL verification docs](https://requests.readthedocs.io/en/
5128
5172
  };
5129
5173
 
5130
5174
  // src/features/analysis/scm/shared/src/storedFixData/python/index.ts
5131
- var vulnerabilities7 = {
5175
+ var vulnerabilities8 = {
5132
5176
  ["AUTO_ESCAPE_FALSE" /* AutoEscapeFalse */]: autoEscapeFalse,
5133
5177
  ["CSRF" /* Csrf */]: csrf,
5134
5178
  ["IMPROPER_CERTIFICATE_VALIDATION" /* ImproperCertificateValidation */]: improperCertificateValidation
5135
5179
  };
5136
- var python_default = vulnerabilities7;
5180
+ var python_default = vulnerabilities8;
5137
5181
 
5138
5182
  // src/features/analysis/scm/shared/src/storedFixData/sql/index.ts
5139
5183
  init_client_generates();
@@ -5144,17 +5188,17 @@ var defaultRightsInObjDefinition = {
5144
5188
  };
5145
5189
 
5146
5190
  // src/features/analysis/scm/shared/src/storedFixData/sql/index.ts
5147
- var vulnerabilities8 = {
5191
+ var vulnerabilities9 = {
5148
5192
  ["DEFAULT_RIGHTS_IN_OBJ_DEFINITION" /* DefaultRightsInObjDefinition */]: defaultRightsInObjDefinition
5149
5193
  };
5150
- var sql_default = vulnerabilities8;
5194
+ var sql_default = vulnerabilities9;
5151
5195
 
5152
5196
  // src/features/analysis/scm/shared/src/storedFixData/xml/index.ts
5153
5197
  init_client_generates();
5154
- var vulnerabilities9 = {
5198
+ var vulnerabilities10 = {
5155
5199
  ["PASSWORD_IN_COMMENT" /* PasswordInComment */]: passwordInComment
5156
5200
  };
5157
- var xml_default = vulnerabilities9;
5201
+ var xml_default = vulnerabilities10;
5158
5202
 
5159
5203
  // src/features/analysis/scm/shared/src/storedFixData/index.ts
5160
5204
  var StoredFixDataItemZ = z3.object({
@@ -5169,7 +5213,8 @@ var languages = {
5169
5213
  ["Python" /* Python */]: python_default,
5170
5214
  ["PHP" /* Php */]: php_default,
5171
5215
  ["Go" /* Go */]: go_default,
5172
- ["Dockerfile" /* Dockerfile */]: dockerfile_default
5216
+ ["Dockerfile" /* Dockerfile */]: dockerfile_default,
5217
+ ["Hcl" /* Hcl */]: hcl_default
5173
5218
  };
5174
5219
 
5175
5220
  // src/features/analysis/scm/shared/src/storedQuestionData/index.ts
@@ -5472,7 +5517,7 @@ var xxe = {
5472
5517
  };
5473
5518
 
5474
5519
  // src/features/analysis/scm/shared/src/storedQuestionData/csharp/index.ts
5475
- var vulnerabilities10 = {
5520
+ var vulnerabilities11 = {
5476
5521
  ["LOG_FORGING" /* LogForging */]: logForging,
5477
5522
  ["SSRF" /* Ssrf */]: ssrf2,
5478
5523
  ["XXE" /* Xxe */]: xxe,
@@ -5493,7 +5538,7 @@ var vulnerabilities10 = {
5493
5538
  ["SQL_Injection" /* SqlInjection */]: sqlInjection2,
5494
5539
  ["REQUEST_PARAMETERS_BOUND_VIA_INPUT" /* RequestParametersBoundViaInput */]: requestParametersBoundViaInput
5495
5540
  };
5496
- var csharp_default2 = vulnerabilities10;
5541
+ var csharp_default2 = vulnerabilities11;
5497
5542
 
5498
5543
  // src/features/analysis/scm/shared/src/storedQuestionData/go/index.ts
5499
5544
  init_client_generates();
@@ -5526,12 +5571,12 @@ var websocketMissingOriginCheck = {
5526
5571
  };
5527
5572
 
5528
5573
  // src/features/analysis/scm/shared/src/storedQuestionData/go/index.ts
5529
- var vulnerabilities11 = {
5574
+ var vulnerabilities12 = {
5530
5575
  ["LOG_FORGING" /* LogForging */]: logForging2,
5531
5576
  ["MISSING_SSL_MINVERSION" /* MissingSslMinversion */]: missingSslMinversion,
5532
5577
  ["WEBSOCKET_MISSING_ORIGIN_CHECK" /* WebsocketMissingOriginCheck */]: websocketMissingOriginCheck
5533
5578
  };
5534
- var go_default2 = vulnerabilities11;
5579
+ var go_default2 = vulnerabilities12;
5535
5580
 
5536
5581
  // src/features/analysis/scm/shared/src/storedQuestionData/java/index.ts
5537
5582
  init_client_generates();
@@ -5982,7 +6027,7 @@ var xxe2 = {
5982
6027
  };
5983
6028
 
5984
6029
  // src/features/analysis/scm/shared/src/storedQuestionData/java/index.ts
5985
- var vulnerabilities12 = {
6030
+ var vulnerabilities13 = {
5986
6031
  ["SQL_Injection" /* SqlInjection */]: sqlInjection3,
5987
6032
  ["CMDi_relative_path_command" /* CmDiRelativePathCommand */]: relativePathCommand,
5988
6033
  ["CMDi" /* CmDi */]: commandInjection,
@@ -6009,7 +6054,7 @@ var vulnerabilities12 = {
6009
6054
  ["ERRONEOUS_STRING_COMPARE" /* ErroneousStringCompare */]: erroneousStringCompare,
6010
6055
  ["DUPLICATED_STRINGS" /* DuplicatedStrings */]: duplicatedStrings
6011
6056
  };
6012
- var java_default2 = vulnerabilities12;
6057
+ var java_default2 = vulnerabilities13;
6013
6058
 
6014
6059
  // src/features/analysis/scm/shared/src/storedQuestionData/js/index.ts
6015
6060
  init_client_generates();
@@ -6338,7 +6383,7 @@ var xss3 = {
6338
6383
  };
6339
6384
 
6340
6385
  // src/features/analysis/scm/shared/src/storedQuestionData/js/index.ts
6341
- var vulnerabilities13 = {
6386
+ var vulnerabilities14 = {
6342
6387
  ["CMDi" /* CmDi */]: commandInjection2,
6343
6388
  ["GRAPHQL_DEPTH_LIMIT" /* GraphqlDepthLimit */]: graphqlDepthLimit,
6344
6389
  ["INSECURE_RANDOMNESS" /* InsecureRandomness */]: insecureRandomness2,
@@ -6361,7 +6406,7 @@ var vulnerabilities13 = {
6361
6406
  ["HARDCODED_DOMAIN_IN_HTML" /* HardcodedDomainInHtml */]: hardcodedDomainInHtml,
6362
6407
  ["CSRF" /* Csrf */]: csrf2
6363
6408
  };
6364
- var js_default = vulnerabilities13;
6409
+ var js_default = vulnerabilities14;
6365
6410
 
6366
6411
  // src/features/analysis/scm/shared/src/storedQuestionData/python/index.ts
6367
6412
  init_client_generates();
@@ -6435,7 +6480,7 @@ var uncheckedLoopCondition3 = {
6435
6480
  };
6436
6481
 
6437
6482
  // src/features/analysis/scm/shared/src/storedQuestionData/python/index.ts
6438
- var vulnerabilities14 = {
6483
+ var vulnerabilities15 = {
6439
6484
  ["CSRF" /* Csrf */]: csrf2,
6440
6485
  ["LOG_FORGING" /* LogForging */]: logForging5,
6441
6486
  ["OPEN_REDIRECT" /* OpenRedirect */]: openRedirect3,
@@ -6444,7 +6489,7 @@ var vulnerabilities14 = {
6444
6489
  ["MISSING_ENCODING_FILE_OPEN" /* MissingEncodingFileOpen */]: missingEncoding,
6445
6490
  ["SSRF" /* Ssrf */]: ssrf5
6446
6491
  };
6447
- var python_default2 = vulnerabilities14;
6492
+ var python_default2 = vulnerabilities15;
6448
6493
 
6449
6494
  // src/features/analysis/scm/shared/src/storedQuestionData/xml/index.ts
6450
6495
  init_client_generates();
@@ -6461,10 +6506,10 @@ A value too high will cause performance issues up to and including denial of ser
6461
6506
  };
6462
6507
 
6463
6508
  // src/features/analysis/scm/shared/src/storedQuestionData/xml/index.ts
6464
- var vulnerabilities15 = {
6509
+ var vulnerabilities16 = {
6465
6510
  ["WEAK_XML_SCHEMA_UNBOUNDED_OCCURRENCES" /* WeakXmlSchemaUnboundedOccurrences */]: unboundedOccurrences
6466
6511
  };
6467
- var xml_default2 = vulnerabilities15;
6512
+ var xml_default2 = vulnerabilities16;
6468
6513
 
6469
6514
  // src/features/analysis/scm/shared/src/storedQuestionData/yaml/index.ts
6470
6515
  init_client_generates();
@@ -6497,12 +6542,12 @@ var writableFilesystemService = {
6497
6542
  };
6498
6543
 
6499
6544
  // src/features/analysis/scm/shared/src/storedQuestionData/yaml/index.ts
6500
- var vulnerabilities16 = {
6545
+ var vulnerabilities17 = {
6501
6546
  ["PORT_ALL_INTERFACES" /* PortAllInterfaces */]: portAllInterfaces,
6502
6547
  ["WRITABLE_FILESYSTEM_SERVICE" /* WritableFilesystemService */]: writableFilesystemService,
6503
6548
  ["NO_NEW_PRIVILEGES" /* NoNewPrivileges */]: noNewPrivileges
6504
6549
  };
6505
- var yaml_default = vulnerabilities16;
6550
+ var yaml_default = vulnerabilities17;
6506
6551
 
6507
6552
  // src/features/analysis/scm/shared/src/storedQuestionData/index.ts
6508
6553
  var StoredQuestionDataItemZ = z4.object({
@@ -19403,7 +19448,7 @@ function createLogger(config2) {
19403
19448
 
19404
19449
  // src/features/claude_code/hook_logger.ts
19405
19450
  var DD_RUM_TOKEN = true ? "pubf59c0182545bfb4c299175119f1abf9b" : "";
19406
- var CLI_VERSION = true ? "1.4.16" : "unknown";
19451
+ var CLI_VERSION = true ? "1.4.18" : "unknown";
19407
19452
  var NAMESPACE = "mobbdev-claude-code-hook-logs";
19408
19453
  var claudeCodeVersion;
19409
19454
  function buildDdTags() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mobbdev",
3
- "version": "1.4.16",
3
+ "version": "1.4.18",
4
4
  "description": "Automated secure code remediation tool",
5
5
  "repository": "git+https://github.com/mobb-dev/bugsy.git",
6
6
  "main": "dist/index.mjs",