Class PathTraversalGuardInsertionVisitor<P>

java.lang.Object
org.openrewrite.TreeVisitor<org.openrewrite.java.tree.J,P>
org.openrewrite.java.JavaVisitor<P>
org.openrewrite.java.JavaIsoVisitor<P>
org.openrewrite.java.security.PathTraversalGuardInsertionVisitor<P>

@Incubating(since="2.4.0") public class PathTraversalGuardInsertionVisitor<P> extends org.openrewrite.java.JavaIsoVisitor<P>
This visitor detects path traversal vulnerabilities and inserts guards to prevent them.

Originally written to handle Zip Slip

  • Field Summary

    Fields inherited from class org.openrewrite.java.JavaVisitor

    javadocVisitor
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.openrewrite.java.tree.J.Block
    visitBlock(org.openrewrite.java.tree.J.Block block, P p)
     
    org.openrewrite.java.tree.J.CompilationUnit
    visitCompilationUnit(org.openrewrite.java.tree.J.CompilationUnit cu, P p)
     

    Methods inherited from class org.openrewrite.java.JavaIsoVisitor

    visitAnnotatedType, visitAnnotation, visitArrayAccess, visitArrayDimension, visitArrayType, visitAssert, visitAssignment, visitAssignmentOperation, visitBinary, visitBreak, visitCase, visitCatch, visitClassDeclaration, visitContinue, visitControlParentheses, visitDoWhileLoop, visitElse, visitEmpty, visitEnumValue, visitEnumValueSet, visitExpression, visitFieldAccess, visitForControl, visitForEachControl, visitForEachLoop, visitForLoop, visitIdentifier, visitIf, visitImport, visitInstanceOf, visitIntersectionType, visitLabel, visitLambda, visitLiteral, visitMemberReference, visitMethodDeclaration, visitMethodInvocation, visitModifier, visitMultiCatch, visitNewArray, visitNewClass, visitNullableType, visitPackage, visitParameterizedType, visitParentheses, visitPrimitive, visitReturn, visitStatement, visitSwitch, visitSwitchExpression, visitSynchronized, visitTernary, visitThrow, visitTry, visitTryResource, visitTypeCast, visitTypeParameter, visitUnary, visitUnknown, visitUnknownSource, visitVariable, visitVariableDeclarations, visitWhileLoop, visitWildcard, visitYield

    Methods inherited from class org.openrewrite.java.JavaVisitor

    autoFormat, autoFormat, autoFormat, getJavadocVisitor, getLanguage, isAcceptable, isInSameNameScope, isInSameNameScope, maybeAddImport, maybeAddImport, maybeAddImport, maybeAddImport, maybeAddImport, maybeAddImport, maybeAutoFormat, maybeAutoFormat, maybeAutoFormat, maybeRemoveImport, maybeRemoveImport, service, visitContainer, visitLeftPadded, visitParenthesizedTypeTree, visitRightPadded, visitSpace, visitType, visitTypeName

    Methods inherited from class org.openrewrite.TreeVisitor

    adapt, collect, collect, defaultValue, doAfterVisit, getAfterVisit, getCursor, isAdaptableTo, noop, postVisit, preVisit, reduce, reduce, reduce, setCursor, stopAfterPreVisit, updateCursor, visit, visit, visit, visitAndCast, visitAndCast, visitMarker, visitMarkers, visitNonNull, visitNonNull, visitorTreeType

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PathTraversalGuardInsertionVisitor

      public PathTraversalGuardInsertionVisitor()
  • Method Details

    • visitCompilationUnit

      public org.openrewrite.java.tree.J.CompilationUnit visitCompilationUnit(org.openrewrite.java.tree.J.CompilationUnit cu, P p)
      Overrides:
      visitCompilationUnit in class org.openrewrite.java.JavaIsoVisitor<P>
    • visitBlock

      public org.openrewrite.java.tree.J.Block visitBlock(org.openrewrite.java.tree.J.Block block, P p)
      Overrides:
      visitBlock in class org.openrewrite.java.JavaIsoVisitor<P>