Each table should have a model, except for many to many relationships. You wouldn't have a model for the intermediary lookup table.
Like if you have users, roles, and role_user tables so a user can have many roles, you would just have a model for User and Role and a belongsToMany relationship in the User model for the Role. Laravel will use the role_user table automatically so don't need a model for that.
And I'm really not sure what you mean by "secure". Define that. Secure how? How would it be insecure? What is your concern?
Just having models by themselves pose no actual security issues. It's how you use them that may be secure/insecure.