A computer-implemented method for application security profiling comprising: • extracting (Siio) a code property graph from at least a subset of a code base, wherein extracting the code property graph comprises initially extracting an abstract syntax tree subcomponent, a control flow graph subcomponent, and a data flow graph subcomponent from the code base; and assembling the code property graph from the subcomponents; • creating a code policy, wherein the code policy is a formal specification for generating a code profile; • generating the code profile from the code property graph and the code policy, wherein generating the code profile occurs prior to a compilation of the code base, wherein generating the code profile is by traversing the code property graph, thereby: ▪ identifying interface channels, wherein interface channels characterize input/output associated operations of the code base, ▪ classifying data types and functions, ▪ characterizing code based dependencies, by tracing the flow of data using the data flow graph subcomponent, and ▪ characterizing exposed interfaces of the code base, by tracing the flow of interfaces using the control flow graph subcomponent; and • applying the code profile, wherein applying the code profile comprises generating a code profile security report, and wherein applying the code profile further comprises enforcing a dynamic code-specific runtime agent, wherein enforcing the runtime agent comprises restricting the code base based on the exposed interfaces indicated by the code profile and the code property graph. • extracting (Siio) a code property graph from at least a subset of a code base, wherein extracting the code property graph comprises initially extracting an abstract syntax tree subcomponent, a control flow graph subcomponent, and a data flow graph subcomponent from the code base; and assembling the code property graph from the subcomponents; • creating a code policy, wherein the code policy is a formal specification for generating a code profile; • generating the code profile from the code property graph and the code policy, wherein generating the code profile occurs prior to a compilation of the code base, wherein generating the code profile is by traversing the code property graph, thereby: ▪ identifying interface channels, wherein interface channels characterize input/output associated operations of the code base, ▪ classifying data types and functions, ▪ characterizing code based dependencies, by tracing the flow of data using the data flow graph subcomponent, and ▪ characterizing exposed interfaces of the code base, by tracing the flow of interfaces using the control flow graph subcomponent; and ▪ identifying interface channels, wherein interface channels characterize input/output associated operations of the code base, ▪ classifying data types and functions, ▪ characterizing code based dependencies, by tracing the flow of data using the data flow graph subcomponent, and ▪ characterizing exposed interfaces of the code base, by tracing the flow of interfaces using the control flow graph subcomponent; and • applying the code profile, wherein applying the code profile comprises generating a code profile security report, and wherein applying the code profile further comprises enforcing a dynamic code-specific runtime agent, wherein enforcing the runtime agent comprises restricting the code base based on the exposed interfaces indicated by the code profile and the code property graph.