@appland/scanner 1.46.2 → 1.48.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.
Files changed (58) hide show
  1. package/built/cli/ci/command.js +17 -15
  2. package/built/cli/ci/command.js.map +1 -1
  3. package/built/cli/scan/command.js +11 -7
  4. package/built/cli/scan/command.js.map +1 -1
  5. package/built/cli/scan/scanner.js +15 -25
  6. package/built/cli/scan/scanner.js.map +1 -1
  7. package/built/ruleChecker.js +13 -7
  8. package/built/ruleChecker.js.map +1 -1
  9. package/built/rules/authzBeforeAuthn.js +0 -1
  10. package/built/rules/authzBeforeAuthn.js.map +1 -1
  11. package/built/rules/deserializationOfUntrustedData.js +12 -81
  12. package/built/rules/deserializationOfUntrustedData.js.map +1 -1
  13. package/built/rules/execOfUntrustedCommand.js +96 -0
  14. package/built/rules/execOfUntrustedCommand.js.map +1 -0
  15. package/built/rules/illegalPackageDependency.js +7 -1
  16. package/built/rules/illegalPackageDependency.js.map +1 -1
  17. package/built/rules/incompatibleHttpClientRequest.js +1 -1
  18. package/built/rules/incompatibleHttpClientRequest.js.map +1 -1
  19. package/built/rules/jobNotCancelled.js +0 -1
  20. package/built/rules/jobNotCancelled.js.map +1 -1
  21. package/built/rules/lib/parseRuleDescription.js +4 -3
  22. package/built/rules/lib/parseRuleDescription.js.map +1 -1
  23. package/built/rules/lib/precedingEvents.js +80 -0
  24. package/built/rules/lib/precedingEvents.js.map +1 -0
  25. package/built/rules/lib/sanitizesData.js +10 -0
  26. package/built/rules/lib/sanitizesData.js.map +1 -0
  27. package/built/rules/logoutWithoutSessionReset.js +0 -1
  28. package/built/rules/logoutWithoutSessionReset.js.map +1 -1
  29. package/built/rules/missingAuthentication.js +3 -3
  30. package/built/rules/missingAuthentication.js.map +1 -1
  31. package/built/rules/queryFromInvalidPackage.js +7 -2
  32. package/built/rules/queryFromInvalidPackage.js.map +1 -1
  33. package/built/rules/queryFromView.js +12 -1
  34. package/built/rules/queryFromView.js.map +1 -1
  35. package/built/rules/secretInLog.js +11 -9
  36. package/built/rules/secretInLog.js.map +1 -1
  37. package/built/rules/tooManyJoins.js +0 -1
  38. package/built/rules/tooManyJoins.js.map +1 -1
  39. package/built/rules/tooManyUpdates.js +0 -1
  40. package/built/rules/tooManyUpdates.js.map +1 -1
  41. package/built/sampleConfig/default.yml +2 -1
  42. package/built/scope/commandScope.js.map +1 -1
  43. package/built/scope/rootScope.js.map +1 -1
  44. package/built/scope/scopeIterator.js.map +1 -1
  45. package/built/scope/sqlTransactionScope.js +2 -2
  46. package/built/scope/sqlTransactionScope.js.map +1 -1
  47. package/doc/labels/{public.md → access.public.md} +1 -1
  48. package/doc/labels/deserialize.safe.md +2 -0
  49. package/doc/labels/deserialize.sanitize.md +22 -0
  50. package/doc/labels/deserialize.unsafe.md +2 -0
  51. package/doc/labels/system.exec.md +7 -0
  52. package/doc/labels/system.exec.safe.md +7 -0
  53. package/doc/labels/system.exec.sanitize.md +22 -0
  54. package/doc/rules/deserializationOfUntrustedData.md +1 -1
  55. package/doc/rules/execOfUntrustedCommand.md +16 -0
  56. package/doc/rules/missingAuthentication.md +1 -1
  57. package/package.json +1 -1
  58. package/doc/labels/sanitize.md +0 -29
@@ -1,29 +0,0 @@
1
- ---
2
- name: sanitize
3
- rules:
4
- - deserialization-of-untrusted-data
5
- ---
6
-
7
- Ensures that data is safe and trusted, transforming it if necessary, and returning `falsey` or
8
- raising an exception if it's impossible to make the data safe.
9
-
10
- A function with this label can be used to convert untrusted data such as direct user input or HTTP
11
- request parameters into trusted data.
12
-
13
- Note that this is not the same as ensuring that a parameter satisfies business logic constraints -
14
- such as presence or max length. It's a security check that ensures the data cannot cause downstream
15
- harm.
16
-
17
- To be considered successful, a `sanitize` function must return a `truthy` value.
18
-
19
- ## Examples
20
-
21
- - Sanitizing HTML by removing all potentially harmful elements, such as script tags.
22
- - Ensuring that SQL queries are properly escaped.
23
- - Running user-provided YAML through a "safe loader" which discards unsafe syntax such as object
24
- class names.
25
- - Ensuring that a user-provided file path is a subdirectory of a known allowed directory.
26
- - Ensuring that a system command string does not have any potential injection or side-effects.
27
- - Ruby -
28
- [sanitize_filename](https://github.com/technoweenie/attachment_fu/blob/fa08cb03914b02b66853b4615cd3eca768291ca7/lib/technoweenie/attachment_fu.rb#L410)
29
- in `attachment_fu`.