ecadlabs/signatory

View on GitHub

Showing 102 of 102 total issues

File dict.go has 1596 lines of code (exceeds 500 allowed). Consider refactoring.
Open

package mnemonic

var adjectives = []string{
    "abandoned",
    "able",
Severity: Major
Found in pkg/vault/ledger/mnemonic/dict.go - About 3 days to fix

    Method azureIterator.Next has a Cognitive Complexity of 57 (exceeds 20 allowed). Consider refactoring.
    Open

    func (a *azureIterator) Next() (key vault.StoredKey, err error) {
        if a.done {
            return nil, vault.ErrDone
        }
    
    
    Severity: Minor
    Found in pkg/vault/azure/azure.go - About 6 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Method Vault.worker has a Cognitive Complexity of 53 (exceeds 20 allowed). Consider refactoring.
    Open

    func (v *Vault) worker() {
        var (
            dev *tezosapp.App
            err error
            t   *time.Timer
    Severity: Minor
    Found in pkg/vault/ledger/vault.go - About 5 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function Footer has 116 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    function Footer() {
        const footerContainer = useRef(null);
        const [isActive, setIsActive] = useState(false);
        const { footer } = useThemeConfig();
        const { copyright, links = [], logo = {} } = footer || {};
    Severity: Major
    Found in website/src/theme/Footer/index.js - About 4 hrs to fix

      Method JWT.CheckUpdateNewCred has a Cognitive Complexity of 43 (exceeds 20 allowed). Consider refactoring.
      Open

      func (j *JWT) CheckUpdateNewCred() error {
          for user, data := range j.Users {
              if data.NewData != nil {
                  if data.NewData.Password == data.Password || data.NewData.Secret == data.Secret {
                      return fmt.Errorf("JWT: new credentials are same as old for user %s", user)
      Severity: Minor
      Found in pkg/middlewares/jwt.go - About 4 hrs to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Function ParseMap has a Cognitive Complexity of 42 (exceeds 20 allowed). Consider refactoring.
      Open

      func ParseMap(s string, namevalSep, tuplesSep rune) (res map[string]string, err error) {
          res = make(map[string]string)
          p := []byte(s)
          for {
              p, err = eatSpace(p)
      Severity: Minor
      Found in pkg/utils/utils.go - About 3 hrs to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Function validateSecretAndPass has a Cognitive Complexity of 39 (exceeds 20 allowed). Consider refactoring.
      Open

      func validateSecretAndPass(secret []string) error {
          var length int = 16
          var stype string = "password"
          for _, s := range secret {
              // Check length
      Severity: Minor
      Found in pkg/middlewares/jwt.go - About 3 hrs to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Method cloudKMSIterator.Next has a Cognitive Complexity of 37 (exceeds 20 allowed). Consider refactoring.
      Open

      func (c *cloudKMSIterator) Next() (vault.StoredKey, error) {
          if c.keyIter == nil {
              return nil, vault.ErrDone
          }
      
      
      Severity: Minor
      Found in pkg/vault/cloudkms/cloudkms.go - About 3 hrs to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Function NewRootCommand has a Cognitive Complexity of 36 (exceeds 20 allowed). Consider refactoring.
      Open

      func NewRootCommand(c *Context, name string) *cobra.Command {
          var (
              level      string
              configFile string
              baseDir    string
      Severity: Minor
      Found in cmd/commands/root.go - About 2 hrs to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Method Server.Handler has a Cognitive Complexity of 36 (exceeds 20 allowed). Consider refactoring.
      Open

      func (s *Server) Handler() (http.Handler, error) {
          pub := s.PrivateKey.Public()
          return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
              var req signatory.PolicyHookRequest
              dec := json.NewDecoder(r.Body)
      Severity: Minor
      Found in cmd/approve-list-svc/server/server.go - About 2 hrs to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Method Vault.Import has 90 lines of code (exceeds 50 allowed). Consider refactoring.
      Open

      func (c *Vault) Import(ctx context.Context, pk crypt.PrivateKey, opt utils.Options) (vault.StoredKey, error) {
          keyName, ok, err := opt.GetString("name")
          if err != nil {
              return nil, fmt.Errorf("(CloudKMS/%s): %w", c.config.keyRingName(), err)
          }
      Severity: Major
      Found in pkg/vault/cloudkms/cloudkms.go - About 2 hrs to fix

        Function NewRootCommand has 85 lines of code (exceeds 50 allowed). Consider refactoring.
        Open

        func NewRootCommand(c *Context, name string) *cobra.Command {
            var (
                level      string
                configFile string
                baseDir    string
        Severity: Major
        Found in cmd/commands/root.go - About 2 hrs to fix

          Method Vault.worker has 81 lines of code (exceeds 50 allowed). Consider refactoring.
          Open

          func (v *Vault) worker() {
              var (
                  dev *tezosapp.App
                  err error
                  t   *time.Timer
          Severity: Major
          Found in pkg/vault/ledger/vault.go - About 2 hrs to fix

            Function NewServeCommand has 76 lines of code (exceeds 50 allowed). Consider refactoring.
            Open

            func NewServeCommand(c *Context) *cobra.Command {
                var noList bool
            
                serveCmd := cobra.Command{
                    Use:   "serve",
            Severity: Major
            Found in cmd/commands/serve.go - About 2 hrs to fix

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

              export default function SimpleStep() {
                  return (
                      <section className={styles.features}>
                          <div className={styles.container}>
                              <Feature {...FeatureList[0]} />
              Severity: Major
              Found in website/src/components/SimpleStep/SimpleStep.js and 1 other location - About 1 hr to fix
              website/src/components/FooterTop/FooterTop.js on lines 24..32

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 74.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

              export default function FooterTop() {
                  return (
                      <section className={styles.features}>
                          <div className={styles.container}>
                              <Feature {...FeatureList[0]} />
              Severity: Major
              Found in website/src/components/FooterTop/FooterTop.js and 1 other location - About 1 hr to fix
              website/src/components/SimpleStep/SimpleStep.js on lines 59..67

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 74.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Method azureIterator.Next has 72 lines of code (exceeds 50 allowed). Consider refactoring.
              Open

              func (a *azureIterator) Next() (key vault.StoredKey, err error) {
                  if a.done {
                      return nil, vault.ErrDone
                  }
              
              
              Severity: Minor
              Found in pkg/vault/azure/azure.go - About 1 hr to fix

                Similar blocks of code found in 5 locations. Consider refactoring.
                Open

                func init() {
                    vault.RegisterVault("azure", func(ctx context.Context, node *yaml.Node) (vault.Vault, error) {
                        var conf Config
                        if node == nil || node.Kind == 0 {
                            return nil, errors.New("(Azure): config is missing")
                Severity: Major
                Found in pkg/vault/azure/azure.go and 4 other locations - About 1 hr to fix
                pkg/vault/aws/awskms.go on lines 172..188
                pkg/vault/cloudkms/cloudkms.go on lines 399..415
                pkg/vault/hashicorp/vault.go on lines 60..76
                pkg/vault/yubi/yubi.go on lines 421..437

                Duplicated Code

                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                Tuning

                This issue has a mass of 182.

                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                Refactorings

                Further Reading

                Similar blocks of code found in 5 locations. Consider refactoring.
                Open

                func init() {
                    vault.RegisterVault("hashicorpvault", func(ctx context.Context, node *yaml.Node) (vault.Vault, error) {
                        var conf Config
                        if node == nil || node.Kind == 0 {
                            return nil, errors.New("(HashicorpVault): config is missing")
                Severity: Major
                Found in pkg/vault/hashicorp/vault.go and 4 other locations - About 1 hr to fix
                pkg/vault/aws/awskms.go on lines 172..188
                pkg/vault/cloudkms/cloudkms.go on lines 399..415
                pkg/vault/yubi/yubi.go on lines 421..437
                pkg/vault/azure/azure.go on lines 466..482

                Duplicated Code

                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                Tuning

                This issue has a mass of 182.

                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                Refactorings

                Further Reading

                Similar blocks of code found in 5 locations. Consider refactoring.
                Open

                func init() {
                    vault.RegisterVault("awskms", func(ctx context.Context, node *yaml.Node) (vault.Vault, error) {
                        var conf Config
                        if node == nil || node.Kind == 0 {
                            return nil, errors.New("(AWSKMS): config is missing")
                Severity: Major
                Found in pkg/vault/aws/awskms.go and 4 other locations - About 1 hr to fix
                pkg/vault/cloudkms/cloudkms.go on lines 399..415
                pkg/vault/hashicorp/vault.go on lines 60..76
                pkg/vault/yubi/yubi.go on lines 421..437
                pkg/vault/azure/azure.go on lines 466..482

                Duplicated Code

                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                Tuning

                This issue has a mass of 182.

                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                Refactorings

                Further Reading

                Severity
                Category
                Status
                Source
                Language