The most common cause of this is an intermittent problem with the sensor in the ignition switch.
I'm giving you the relearn procedure to perform. This may or may not work. If it doesn't, that means you have a hard failure and you will need a tech2 scan tool to diagnose it properly.
Disconnect the battery and hold the cables together for about 30 seconds then reconnect the cables before performing the procedure. Read it carefully if done incorrectly it won't work. If it helps let me know.
Turn ON the ignition, with the engine OFF.
Attempt to start the engine, then release the key to ON (vehicle will not start).
Observe the SECURITY telltale, after approximately 10 minutes the telltale will turn OFF.
Turn OFF the ignition, and wait 5 seconds.
Repeat steps 1 through 4 two more times for a total of 3 cycles/30 minutes (the vehicle is now ready to relearn the Passlock√ Sensor Data Code and/or passwords on the next ignition switch transition from OFF to CRANK).
The vehicle learns the Passlock√ Sensor Data Code and/or password on the next ignition switch transition from OFF to CRANK. You must turn the ignition OFF before attempting to start the vehicle.
Start the engine (the vehicle has now learned the Passlock√ Sensor Data Code and/or password).
With a scan tool, clear any DTCs if needed (history DTCs will self clear after 100 ignition cycles).
Saturday, October 2nd, 2010 AT 7:04 PM